88 template <
class DataType>
147 bool read_block =
false,
bool write_block =
false,
148 int read_timeout = 0,
int write_timeout = 0)
149 #if defined(__GNUC__) && (__GNUC__ <= 3 && __GNUC_MINOR__ <= 3)
150 :
InPortBase(name, ::CORBA_Util::toRepositoryIdOfStruct<DataType>()),
152 :
InPortBase(name, ::CORBA_Util::toRepositoryId<DataType>()),
154 m_name(name), m_value(value),
155 m_OnRead(NULL), m_OnReadConvert(NULL),
198 return m_name.c_str();
246 RTC_DEBUG((
"isNew() = true, readable data: %d", r));
250 RTC_DEBUG((
"isNew() = false, no readable data"));
297 RTC_DEBUG((
"isEmpty() = true, buffer is empty"));
301 RTC_DEBUG((
"isEmpty() = false, data exists in the buffer"));
383 if (m_OnRead != NULL)
409 if (m_OnReadConvert != 0)
411 m_value = (*m_OnReadConvert)(m_value);
427 RTC_ERROR((
"unknown retern value from buffer.read()"));
608 m_OnReadConvert = on_rconvert;
612 std::string m_typename;
653 #endif // RTC_INPORT_H
#define RTC_ERROR(fmt)
Error log output macro.
Definition: SystemLogger.h:422
#define DATAPORTSTATUS_ENUM
Importing RTC::DataPortStatus macro.
Definition: DataPortStatus.h:233
#define RTC_TRACE(fmt)
Trace level log output macro.
Definition: SystemLogger.h:510
coil::Mutex m_connectorsMutex
Definition: PortBase.h:2088
virtual ~InPort(void)
Destructor.
Definition: InPort.h:175
DATAPORTSTATUS_ENUM InPort(const char *name, DataType &value, int bufsize=64, bool read_block=false, bool write_block=false, int read_timeout=0, int write_timeout=0)
A constructor.
Definition: InPort.h:145
virtual const char * name()
Get port name.
Definition: InPort.h:196
#define RTC_WARN(fmt)
Warning log output macro.
Definition: SystemLogger.h:444
virtual bool isEmpty()
Check whether the data is newest.
Definition: InPort.h:277
Data convert callback abstract class on read()
Definition: PortCallback.h:385
void setOnReadConvert(OnReadConvert< DataType > *on_rconvert)
Set callback when data is readout to the InPort buffer.
Definition: InPort.h:606
std::vector< DataPortStatus::Enum > DataPortStatusList
Definition: DataPortStatus.h:206
#define RTC_DEBUG(fmt)
Debug level log output macro.
Definition: SystemLogger.h:488
InPortConnector base class.
virtual void update()
Read the newly value to type-T variable which is bound to InPort's buffer.
Definition: InPort.h:454
InPortBase(const char *name, const char *data_type)
Constructor.
Port for InPort.
Definition: InPortBase.h:67
Definition: DataPortStatus.h:145
RTC::Port implementation for InPort.
InPort template class.
Definition: InPort.h:89
virtual bool isNew()
Check whether the data is newest.
Definition: InPort.h:226
DataPortStatus::Enum getStatus(int index)
Getting specified connector's writing status.
Definition: InPort.h:518
void setOnRead(OnRead< DataType > *on_read)
Set callback when data is read from the InPort buffer.
Definition: InPort.h:578
DataPortStatusList getStatusList()
Getting specified connector's writing status list.
Definition: InPort.h:552
Definition: DataPortStatus.h:150
void operator>>(DataType &rhs)
Read the newly value data in InPort to type-T variable.
Definition: InPort.h:479
Enum
DataPortStatus return codes.
Definition: DataPortStatus.h:143
ConnectorList m_connectors
Connection list.
Definition: InPortBase.h:853
bool read()
Readout the value from DataPort.
Definition: InPort.h:379
Callback abstract class on read()
Definition: PortCallback.h:323
Definition: DataPortStatus.h:149