2015/10/23

[nrf51][bds]サービス構造体がservice_if.cに移った

Bluetooth Developer Studioが正式リリースされたのに伴ってか、Nordicプラグインも1.1.7になった。
その際、自動生成するサービス構造体のインスタンスが、service_if.cに移動した。

そうなってしまうと、直接サービスが持っているAPIをアプリからたたけない。
いま困っているのが、Notifyの送信方法についてだ。
AD変換が終わったら値をNotifyしたいのだけど、あらどうしましょう。

どっちかしかない。

  1. service_ifにNotify用のAPIを追加する
  2. service_ifにサービス構造体のインスタンスを返すAPIを追加する

1がまっとうな気はするのだが、たったインスタンス1つだけのためにAPIをserviceの数だけ追加せんといかんの?という思いが出てしまう。
最適化してインラインになってくれそうな気もするが、呼び出すだけなのに・・・。

それに、今までのNordicサンプルは、直接ServiceのAPIをたたく形だったので、また元に戻るんじゃないのか、という気もする。
だったらインスタンスのポインタをもらうようにすると済むのだけど、内臓をさらけ出すようでそれはそれで気持ちが悪い。
まあ、イメージとしてはC++のthisみたいなもんなので、そう割り切ればよいのだろうが。

うーーーーん・・・・・
答が出せない・・・。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。