00001
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef RtcInPortBase_h
00028 #define RtcInPortBase_h
00029
00030 #include <ace/Thread_Manager.h>
00031 #include "rtm/RTC.h"
00032 #include "rtm/idl/RTCDataTypeSkel.h"
00033 #include "rtm/idl/RTCInPortSkel.h"
00034 #include "rtm/RtcRingBuffer.h"
00035
00036 namespace RTM
00037 {
00038
00060 class InPortBase :
00061 public POA_RTM::InPort,
00062 public PortableServer::RefCountServantBase
00063 {
00064 public:
00079 InPortBase()
00080 {
00081 ACE_TRACE("InPortBase::InPortBase(int)");
00082 };
00083
00098 virtual ~InPortBase(){};
00099
00100
00101
00102
00117 virtual void put(const CORBA::Any& value)
00118 throw (CORBA::SystemException, RTM::InPort::Disconnected) = 0;
00119
00120
00132 virtual PortProfile* profile() throw (CORBA::SystemException);
00133
00134
00135
00136
00148 const char* name(){return m_Profile.name;}
00149
00150
00167 virtual void read_pm() = 0;
00168
00169
00170 protected:
00178 PortProfile m_Profile;
00179
00180 };
00181
00182 };
00183
00184 #endif // RtcInPortBase_h