59 template <
class DataType>
64 data.tm.sec = tm.
sec();
65 data.tm.nsec = tm.
usec() * 1000;
105 template <
class DataType>
134 #if defined(__GNUC__) && (__GNUC__ <= 3 && __GNUC_MINOR__ <= 3)
135 :
OutPortBase(name, ::CORBA_Util::toRepositoryIdOfStruct<DataType>()),
137 :
OutPortBase(name, ::CORBA_Util::toRepositoryId<DataType>()),
139 m_value(value), m_onWrite(0), m_onWriteConvert(0)
209 if (m_onWrite != NULL)
214 m_profile.properties[m_propValueIndex].value <<= value;
217 std::vector<const char *> disconnect_ids;
222 if (!(conn_size > 0)) {
return false; }
224 m_status.resize(conn_size);
226 for (
size_t i(0), len(conn_size); i < len; ++i)
229 if (m_onWriteConvert != NULL)
231 RTC_DEBUG((
"m_connectors.OnWriteConvert called"));
232 ret =
m_connectors[i]->write(((*m_onWriteConvert)(value)));
236 RTC_DEBUG((
"m_connectors.write called"));
240 if (ret ==
PORT_OK) {
continue; }
247 RTC_WARN((
"connection_lost id: %s",
id));
251 (*m_onConnectionLost)(prof);
253 disconnect_ids.push_back(
id);
285 return write(m_value);
352 return m_status[index];
420 m_onWrite = on_write;
461 m_onWriteConvert = on_wconvert;
465 std::string m_typename;
497 CORBA::Long m_propValueIndex;
501 #endif // RTC_OUTPORT_H
std::vector< OutPortConnector * > m_connectors
Connection list.
Definition: OutPortBase.h:1032
#define RTC_TRACE(fmt)
Trace level log output macro.
Definition: SystemLogger.h:510
long int sec() const
Get value of second time scale.
Definition: TimeValue.h:110
void setOnWriteConvert(OnWriteConvert< DataType > *on_wconvert)
Set OnWriteConvert callback.
Definition: OutPort.h:459
Data convert callback abstract class on write()
Definition: PortCallback.h:258
coil::Mutex m_connectorsMutex
Definition: PortBase.h:2088
virtual ~OutPort(void)
Destructor.
Definition: OutPort.h:160
Periodic time measurement class.
bool write()
Write data.
Definition: OutPort.h:283
DataPortStatusList getStatusList()
Getting specified connector's writing status list.
Definition: OutPort.h:384
Definition: DataPortStatus.h:157
TimeValue class.
Definition: TimeValue.h:40
#define RTC_WARN(fmt)
Warning log output macro.
Definition: SystemLogger.h:444
const CORBA::Long find_index(const SDOPackage::NVList &nv, const char *name)
Return the index of element specified by name from NVList.
std::vector< DataPortStatus::Enum > DataPortStatusList
Definition: DataPortStatus.h:206
int gettimeofday(struct timeval *tv, struct timezone *tz)
Get the time and timezone.
Definition: Time.h:137
#define RTC_DEBUG(fmt)
Debug level log output macro.
Definition: SystemLogger.h:488
bool operator<<(DataType &value)
Write data.
Definition: OutPort.h:313
Callback abstract class on write()
Definition: PortCallback.h:192
OutPortBase(const char *name, const char *data_type)
Constructor.
Output base class.
Definition: OutPortBase.h:230
Definition: DataPortStatus.h:145
virtual ReturnCode_t disconnect(const char *connector_id)
[CORBA interface] Disconnect the Port
void setTimestamp(DataType &data)
Setting timestamp to data.
Definition: OutPort.h:60
PortProfile m_profile
PortProfile of the Port.
Definition: PortBase.h:2070
DataPortStatus::Enum getStatus(int index)
Getting specified connector's writing status.
Definition: OutPort.h:350
OutPort template class.
Definition: OutPort.h:106
OutPort(const char *name, DataType &value)
Constructor.
Definition: OutPort.h:133
virtual bool write(DataType &value)
Write data.
Definition: OutPort.h:205
void setOnWrite(OnWrite< DataType > *on_write)
Set OnWrite callback.
Definition: OutPort.h:418
TimeMeasure class.
Definition: TimeMeasure.h:49
ConnectionCallback * m_onConnectionLost
Callback functor objects.
Definition: PortBase.h:2196
long int usec() const
Get value of micro second time scale.
Definition: TimeValue.h:131
void addProperty(const char *key, ValueType value)
Add NameValue data to PortProfile's properties.
Definition: PortBase.h:1876
Enum
DataPortStatus return codes.
Definition: DataPortStatus.h:143
ConnectorProfile findConnProfile(const char *id)
Find ConnectorProfile with id.
Functor for_each(CorbaSequence &seq, Functor f)
Apply the functor to all CORBA sequence elements.
Definition: CORBA_SeqUtil.h:98