18 #ifndef RTC_CONNECTORLISTENER_H 19 #define RTC_CONNECTORLISTENER_H 28 class cdrMemoryStream;
100 #define USE_CONNLISTENER_STATUS \ 101 typedef ::RTC::ConnectorListenerStatus::Enum ReturnCode; \ 102 using ::RTC::ConnectorListenerStatus::NO_CHANGE; \ 103 using ::RTC::ConnectorListenerStatus::INFO_CHANGED; \ 104 using ::RTC::ConnectorListenerStatus::DATA_CHANGED; \ 105 using ::RTC::ConnectorListenerStatus::BOTH_CHANGED; 431 static const char* typeString[] =
435 "ON_BUFFER_WRITE_TIMEOUT",
436 "ON_BUFFER_OVERWRITE",
441 "ON_RECEIVER_TIMEOUT",
443 "CONNECTOR_DATA_LISTENER_NUM" 475 cdrMemoryStream& data) = 0;
504 template <
class DataType>
542 cdrMemoryStream& cdrdata)
545 cdrMemoryStream cdr(cdrdata.bufPtr(), cdrdata.bufSize());
548 std::string endian_type;
552 std::vector<std::string> endian(
coil::split(endian_type,
","));
553 if (endian[0] ==
"little")
555 cdr.setByteSwapFlag(
true);
557 else if (endian[0] ==
"big")
559 cdr.setByteSwapFlag(
false);
562 ReturnCode ret = this->operator()(info, data);
565 cdrdata.rewindPtrs();
861 static const char* typeStr[] =
864 "ON_BUFFER_READ_TIMEOUT",
870 "CONNECTOR_LISTENER_NUM" 924 typedef std::pair<ConnectorDataListener*, bool> Entry;
1026 cdrMemoryStream& cdrdata);
1049 template <
class DataType>
1052 Guard guard(m_mutex);
1054 for (
size_t i(0), len(m_listeners.size()); i < len; ++i)
1061 ret = ret | listener->operator()(info, typeddata);
1065 cdrMemoryStream cdr;
1067 ret = ret | m_listeners[i].first->operator()(info, cdr);
1074 std::vector<Entry> m_listeners;
1097 typedef std::pair<ConnectorListener*, bool> Entry;
1200 std::vector<Entry> m_listeners;
1243 #endif // RTC_CONNECTORLISTENER_H Definition: ConnectorListener.h:622
ConnectorListeners クラス
Definition: ConnectorListener.h:1217
std::string normalize(std::string &str)
文字列を正規化する
Definition: ConnectorListener.h:147
Definition: ConnectorListener.h:627
coil::Properties properties
プロパティ
Definition: ConnectorBase.h:126
USE_CONNLISTENER_STATUS
Definition: ConnectorListener.h:405
ConnectorListener クラス
Definition: ConnectorListener.h:831
ConnectorDataListener クラス
Definition: ConnectorListener.h:401
Definition: ConnectorListener.h:69
virtual ReturnCode operator()(ConnectorInfo &info, cdrMemoryStream &cdrdata)
コールバックメソッド
Definition: ConnectorListener.h:541
Mutex クラス
Definition: Mutex.h:40
Definition: ConnectorListener.h:623
Definition: ConnectorListener.h:146
ConnectorInfo クラス
Definition: ConnectorBase.h:43
Definition: ConnectorListener.h:67
ConnectorListenerStatus::Enum operator|(ConnectorListenerStatus::Enum L, ConnectorListenerStatus::Enum R)
Definition: ConnectorListener.h:140
coil::Guard< coil::Mutex > Guard
Definition: LocalServiceAdmin.h:36
const std::string & getProperty(const std::string &key) const
指定されたキーを持つプロパティを、プロパティリストから探す
Definition: ConnectorListener.h:68
ConnectorDataListener ホルダクラス
Definition: ConnectorListener.h:921
Enum
Definition: ConnectorListener.h:64
Definition: ConnectorListener.h:625
USE_CONNLISTENER_STATUS
Definition: ConnectorListener.h:835
Definition: ConnectorListener.h:624
ConnectorDataListenerType
ConnectorDataListener のタイプ
Definition: ConnectorListener.h:138
Definition: ConnectorListener.h:145
static const char * toString(ConnectorListenerType type)
ConnectorListenerType を文字列に変換
Definition: ConnectorListener.h:859
USE_CONNLISTENER_STATUS
Definition: ConnectorListener.h:927
ConnectorDataListenerT クラス
Definition: ConnectorListener.h:505
Definition: ConnectorListener.h:142
Definition: ConnectorListener.h:141
ConnectorListenerStatus::Enum operator&(ConnectorListenerStatus::Enum L, ConnectorListenerStatus::Enum R)
Definition: ConnectorListener.h:144
Definition: ConnectorListener.h:143
Definition: ConnectorListener.h:621
ConnectorListenerType
ConnectorListener のタイプ
Definition: ConnectorListener.h:618
Definition: ConnectorListener.h:149
static const char * toString(ConnectorDataListenerType type)
ConnectorDataListenerType を文字列に変換
Definition: ConnectorListener.h:429
USE_CONNLISTENER_STATUS
Definition: ConnectorListener.h:1100
virtual ~ConnectorDataListenerT()
デストラクタ
Definition: ConnectorListener.h:516
ConnectorListenerStatus mixin クラス
Definition: ConnectorListener.h:61
Definition: ConnectorListener.h:620
ReturnCode notify(ConnectorInfo &info, DataType &typeddata)
リスナーへ通知する(データ型指定版)
Definition: ConnectorListener.h:1050
Definition: ConnectorListener.h:626
ConnectorListener ホルダクラス
Definition: ConnectorListener.h:1094
Definition: ConnectorListener.h:66
vstring split(const std::string &input, const std::string &delimiter, bool ignore_empty=false)
文字列を分割文字で分割する
Definition: ConnectorListener.h:148
Definition: ConnectorListener.h:150