OutPortProvider.h
Go to the documentation of this file.
1 // -*- C++ -*-
20 #ifndef RTC_OUTPORTPROVIDER_H
21 #define RTC_OUTPORTPROVIDER_H
22 
23 #include <string>
24 
25 #include <coil/Factory.h>
26 #include <rtm/BufferBase.h>
27 #include <rtm/NVUtil.h>
28 #include <rtm/SystemLogger.h>
29 #include <rtm/DataPortStatus.h>
30 #include <rtm/OutPortConnector.h>
31 
32 namespace RTC
33 {
34  class ConnectorListeners;
190  : public DataPortStatus
191  {
192  public:
207  virtual ~OutPortProvider(void);
208 
236  virtual void init(coil::Properties& prop);
237 
263  virtual void setBuffer(CdrBufferBase* buffer) = 0;
264 
295  virtual void setListener(ConnectorInfo& info,
296  ConnectorListeners* listeners) = 0;
297 
322  virtual void setConnector(OutPortConnector* connector) = 0;
323 
347  virtual void publishInterfaceProfile(SDOPackage::NVList& properties);
348 
376  virtual bool publishInterface(SDOPackage::NVList& properties);
377 
378  protected:
396  void setPortType(const char* port_type);
397 
415  void setDataType(const char* data_type);
416 
434  void setInterfaceType(const char* interface_type);
435 
453  void setDataFlowType(const char* dataflow_type);
454 
472  void setSubscriptionType(const char* subs_type);
473 
474  protected:
490  mutable Logger rtclog;
491 
492  private:
493  std::string m_portType;
494  std::string m_dataType;
495  std::string m_interfaceType;
496  std::string m_dataflowType;
497  std::string m_subscriptionType;
498 
499 
500  public:
509  {
512  {
513  provider->publishInterfaceProfile(m_prop);
514  }
516  };
517 
526  {
528  : m_prop(prop), provider_(0) {}
530  {
531  if (provider->publishInterface(m_prop))
532  {
533  provider_ = provider;
534  }
535  }
538  };
539  };
540 
548  typedef ::coil::GlobalFactory<OutPortProvider> OutPortProviderFactory;
549 
550 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
551  EXTERN template class DLL_PLUGIN ::coil::GlobalFactory<OutPortProvider>;
552 #endif
553 }; // namespace RTC
554 #endif // RTC_OUTPORTPROVIDER_H
ConnectorListeners class.
::coil::GlobalFactory< OutPortProvider > OutPortProviderFactory
OutPortProviderFactory type definition.
#define DATAPORTSTATUS_ENUM
Importing RTC::DataPortStatus macro.
DataPortStatus class.
RT-Component.
void setSubscriptionType(const char *subs_type)
Set the subscription type.
Functor to publish interface profile.
void setPortType(const char *port_type)
Set the port type.
RT component logger class.
void setInterfaceType(const char *interface_type)
Set the interface type.
std::vector< std::pair< std::string, std::string > > NVList
Definition: IRTC.h:67
OutPortConnector class.
virtual void setConnector(OutPortConnector *connector)=0
set Connector
Functor to publish interface profile.
virtual DATAPORTSTATUS_ENUM ~OutPortProvider(void)
Destructor.
virtual void setListener(ConnectorInfo &info, ConnectorListeners *listeners)=0
Set the listener.
void setDataType(const char *data_type)
Set the data type.
Buffer abstract class.
NameValue and NVList utility functions.
virtual void publishInterfaceProfile(SDOPackage::NVList &properties)
Publish InterfaceProfile information.
void setDataFlowType(const char *dataflow_type)
Set the data flow type.
prop
Organization::get_organization_property ();.
virtual void init(coil::Properties &prop)
Initializing configuration.
Class represents a set of properties.
Definition: Properties.h:101
Logger rtclog
Logger stream.
virtual bool publishInterface(SDOPackage::NVList &properties)
Publish interface information.
std::string m_dataflowType
SDOPackage::NVList m_properties
Properties to hold the port profiles.
publishInterfaceFunc(SDOPackage::NVList &prop)
std::string m_interfaceType
void operator()(OutPortProvider *provider)
DataPortStatus mixin class.
BufferBase abstract class.
Definition: BufferBase.h:104
#define EXTERN
std::string m_subscriptionType
virtual void setBuffer(CdrBufferBase *buffer)=0
Setting outside buffer&#39;s pointer.


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Mon Feb 28 2022 23:00:44