00001
00021 #ifndef __RtcInPortBase_h__
00022 #define __RtcInPortBase_h__
00023
00024 #include <ace/Thread_Manager.h>
00025 #include "rtm/RTC.h"
00026 #include "rtm/idl/RTCDataTypeSkel.h"
00027 #include "rtm/idl/RTCInPortSkel.h"
00028 #include "rtm/RtcRingBuffer.h"
00029
00030 namespace RTM
00031 {
00032
00054 class InPortBase :
00055 public POA_RTM::InPort,
00056 public PortableServer::RefCountServantBase
00057 {
00058 public:
00073 InPortBase()
00074 {
00075 ACE_TRACE("InPortBase::InPortBase(int)");
00076 };
00077
00092 virtual ~InPortBase(){};
00093
00094
00095
00096
00111 virtual void put(const CORBA::Any& value)
00112 throw (CORBA::SystemException, RTM::InPort::Disconnected) = 0;
00113
00114
00126 virtual PortProfile* profile() throw (CORBA::SystemException);
00127
00128
00129
00130
00142 const char* name(){return m_Profile.name;}
00143
00144
00161 virtual void read_pm() = 0;
00162
00163
00164 protected:
00172 PortProfile m_Profile;
00173
00174 };
00175
00176 };
00177
00178 #endif // End of __RtcInPortBase_h__