59 template <
class DataType>
64 data.tm.sec = tm.
sec();
65 data.tm.nsec = tm.
usec() * 1000;
105 template <
class DataType>
134 #if defined(__GNUC__) && (__GNUC__ <= 3 && __GNUC_MINOR__ <= 3) 135 :
OutPortBase(name, ::CORBA_Util::toRepositoryIdOfStruct<DataType>()),
137 :
OutPortBase(name, ::CORBA_Util::toRepositoryId<DataType>()),
139 m_value(value), m_onWrite(0), m_onWriteConvert(0)
207 if (m_onWrite != NULL)
214 std::vector<const char *> disconnect_ids;
219 if (!(conn_size > 0)) {
return false; }
221 m_status.resize(conn_size);
223 for (
size_t i(0), len(conn_size); i < len; ++i)
226 if (m_onWriteConvert != NULL)
228 RTC_DEBUG((
"m_connectors.OnWriteConvert called"));
229 ret =
m_connectors[i]->write(((*m_onWriteConvert)(value)));
233 RTC_DEBUG((
"m_connectors.write called"));
237 if (ret ==
PORT_OK) {
continue; }
245 RTC_WARN((
"connection_lost id: %s",
id));
248 (*m_onConnectionLost)(prof);
250 disconnect_ids.push_back(
id);
282 return write(m_value);
349 return m_status[index];
417 m_onWrite = on_write;
458 m_onWriteConvert = on_wconvert;
462 std::string m_typename;
496 #endif // RTC_OUTPORT_H
std::vector< OutPortConnector * > m_connectors
接続リスト
Definition: OutPortBase.h:1032
#define RTC_TRACE(fmt)
トレースログ出力マクロ。
Definition: SystemLogger.h:510
void setOnWriteConvert(OnWriteConvert< DataType > *on_wconvert)
OnWriteConvert コールバックの設定
Definition: OutPort.h:456
write() 時のデータ変換コールバック抽象クラス
Definition: PortCallback.h:258
coil::Mutex m_connectorsMutex
Definition: PortBase.h:2088
virtual ~OutPort(void)
デストラクタ
Definition: OutPort.h:158
Periodic time measurement class
bool write()
データ書き込み
Definition: OutPort.h:280
DataPortStatusList getStatusList()
特定のコネクタへの書き込みステータスリストを得る
Definition: OutPort.h:381
Definition: DataPortStatus.h:157
TimeValue クラス
Definition: TimeValue.h:40
#define RTC_WARN(fmt)
ワーニングログ出力マクロ。
Definition: SystemLogger.h:444
std::vector< DataPortStatus::Enum > DataPortStatusList
Definition: DataPortStatus.h:206
int gettimeofday(struct timeval *tv, struct timezone *tz)
時刻とタイムゾーンを取得する
Definition: Time.h:137
#define RTC_DEBUG(fmt)
デバッグログ出力マクロ。
Definition: SystemLogger.h:488
bool operator<<(DataType &value)
データ書き込み
Definition: OutPort.h:310
write() 時のコールバック抽象クラス
Definition: PortCallback.h:192
OutPortBase(const char *name, const char *data_type)
コンストラクタ
OutPort 基底クラス
Definition: OutPortBase.h:230
Definition: DataPortStatus.h:145
virtual ReturnCode_t disconnect(const char *connector_id)
[CORBA interface] Port の接続を解除する
void setTimestamp(DataType &data)
データにタイムスタンプをセットする
Definition: OutPort.h:60
DataPortStatus::Enum getStatus(int index)
特定のコネクタへの書き込みステータスを得る
Definition: OutPort.h:347
long int sec() const
秒単位の値を取得する
Definition: TimeValue.h:110
OutPort テンプレートクラス
Definition: OutPort.h:106
OutPort(const char *name, DataType &value)
コンストラクタ
Definition: OutPort.h:133
long int usec() const
マイクロ秒単位の値を取得する
Definition: TimeValue.h:131
virtual bool write(DataType &value)
データ書き込み
Definition: OutPort.h:203
void setOnWrite(OnWrite< DataType > *on_write)
OnWrite コールバックの設定
Definition: OutPort.h:415
TimeMeasure クラス
Definition: TimeMeasure.h:49
ConnectionCallback * m_onConnectionLost
Callback functor オブジェクト
Definition: PortBase.h:2196
Enum
Definition: DataPortStatus.h:143
ConnectorProfile findConnProfile(const char *id)
id を持つ ConnectorProfile を探す
Functor for_each(CorbaSequence &seq, Functor f)
CORBA sequence に対して functor を適用する
Definition: CORBA_SeqUtil.h:98