OutPortPushConnector.h
Go to the documentation of this file.
00001 // -*- C++ -*-
00020 #ifndef RTC_OUTPORTPUSHCONNECTOR_H
00021 #define RTC_OUTPORTPUSHCONNECTOR_H
00022 
00023 #include <rtm/OutPortConnector.h>
00024 #include <rtm/InPortConsumer.h>
00025 #include <rtm/PublisherBase.h>
00026 
00027 namespace RTC
00028 {
00029   class ConnectorListeners;
00030 
00085   class OutPortPushConnector
00086     : public OutPortConnector
00087   {
00088   public:
00089     DATAPORTSTATUS_ENUM
00090 
00131     OutPortPushConnector(ConnectorInfo info,
00132                          InPortConsumer* consumer,
00133                          ConnectorListeners& listeners,
00134                          CdrBufferBase* buffer = 0);
00135 
00151     virtual ~OutPortPushConnector();
00152 
00192     virtual ReturnCode write(const cdrMemoryStream& data);
00193 
00209     virtual ReturnCode disconnect();
00210 
00225     virtual void activate();
00226 
00241     virtual void deactivate();
00242 
00256     virtual CdrBufferBase* getBuffer();
00257 
00258   protected:
00278     virtual PublisherBase* createPublisher(ConnectorInfo& info);
00279 
00299     virtual CdrBufferBase* createBuffer(ConnectorInfo& info);
00300 
00308     void onConnect();
00309 
00317     void onDisconnect();
00318 
00319   private:
00327     InPortConsumer* m_consumer;
00328 
00336     PublisherBase* m_publisher;
00337 
00345     ConnectorListeners& m_listeners;
00346 
00354     CdrBufferBase* m_buffer;
00355 
00356   };
00357 }; // namespace RTC
00358 
00359 #endif  // RTC_PUSH_CONNECTOR_H


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Sun Mar 26 2017 03:37:16