操作
機能 #323
完了PortのユーザAPIの軽微な改良
開始日:
2009/01/10
期日:
進捗率:
100%
予定工数:
説明
Port関連のユーザに公開するAPIに関して以下の改良を行うこと。
- RTObject
- ポートのインスタンスで削除する関数の追加
- データポートを一気にread/writeする関数
- 上記の関数をデフォルトで呼ぶように設定する関数
- Port
- Connectionをより容易に取得する関数
- connect/disconnect 時のコールバック
n-ando さんがほぼ15年前に更新
- ステータス を 新規 から 担当 に変更
- 担当者 を n-ando から kurihara に変更
- RTObject
- ポートのインスタンスで削除する関数の追加
- bool RTObject::removeInPort(InPortBase* )
- bool RTObject::removeOutPort(OutPortBase*)
- bool RTObject::removePort(PortBase* )
- register*() -> add*()に変更、register*は残す(PortAdmin(add, remove), RTObject)
- rtc-template を変更
- データポートを一気にread/writeする関数
- bool RTObject::readAll()
- bool RTObject::writeAll()
- ポートのインスタンスで削除する関数の追加
- 上記の関数をデフォルトで呼ぶように設定する関数
- Connectorをより容易に取得する関数 (済み)
- connect/disconnect 時のコールバック (済み)
kurihara さんがほぼ15年前に更新
- ステータス を 担当 から 解決 に変更
- 進捗率 を 50 から 100 に変更
下記のメソッドを追加し、SimpleIO,SeqIOにて動作確認済み。(最終リビジョン1707)
bool RTObject_impl::readAll() bool RTObject_impl::writeAll() void RTObject_impl::setReadAll(bool read=true, bool completion=false); void RTObject_impl::setWriteAll(bool write=true, bool completion=false); ※ completionオプションは、readAll()の際、どれか一つのポートのread()またはwrite()にて エラーが発生した場合に、続けて他のポートのread()またはwrite()を行うか、それとも エラーが発生した時点でリターンするかを指定するためのオプション。 completionがtrueの場合は、エラーの有無に係わらず全てのポートに対してread()または write()をコールする。 falseの場合は、エラーが発生した時点でリターンするため、エラーが発生したポートの他 にRTCが保持するポートが存在する場合、それらのポートに対するread()またはwrite() 呼出は行われない。
また、InPortBase,OutPortBase,InPort.hに下記の追加と変更を行った。
InPortBase: 下記を追加 virtual bool read() =0; OutPortBase: 下記を追加 virtual bool write() =0; InPort: 下記を変更 DataType read(); ---> bool read();
操作