00001 00020 #ifndef RTC_OUTPORTPULLCONNECTOR_H 00021 #define RTC_OUTPORTPULLCONNECTOR_H 00022 00023 #include <rtm/OutPortConnector.h> 00024 00025 namespace RTC 00026 { 00027 class OutPortProvider; 00028 00029 class OutPortPullConnector 00030 : public OutPortConnector 00031 { 00032 public: 00033 DATAPORTSTATUS_ENUM 00034 00060 OutPortPullConnector(Profile profile, 00061 OutPortProvider* provider, 00062 CdrBufferBase* buffer = 0); 00063 00079 virtual ~OutPortPullConnector(); 00080 00097 virtual ReturnCode write(const cdrMemoryStream& data); 00098 00114 virtual ReturnCode disconnect(); 00115 00129 virtual CdrBufferBase* getBuffer(); 00130 00145 virtual void activate(){}; // do nothing 00146 00161 virtual void deactivate(){}; // do nothing 00162 protected: 00163 00171 OutPortProvider* m_provider; 00172 00180 CdrBufferBase* m_buffer; 00181 }; 00182 }; // namespace RTC 00183 00184 #endif // RTC_PULL_CONNECTOR_H