OpenRTM-aist
2.1.0
Toggle main menu visibility
Loading...
Searching...
No Matches
InPortDSProvider.h
Go to the documentation of this file.
1
// -*- C++ -*-
17
18
#ifndef RTC_INPORTDSPROVIDER_H
19
#define RTC_INPORTDSPROVIDER_H
20
21
#include <rtm/idl/DataPortSkel.h>
22
#include <
rtm/BufferBase.h
>
23
#include <
rtm/InPortProvider.h
>
24
#include <
rtm/CORBA_SeqUtil.h
>
25
#include <
rtm/Manager.h
>
26
#include <
rtm/ConnectorListener.h
>
27
#include <
rtm/ConnectorBase.h
>
28
29
namespace
RTC
30
{
55
class
InPortDSProvider
56
:
public
InPortProvider
,
57
public
virtual
POA_RTC::DataPushService,
58
public
virtual
PortableServer::RefCountServantBase
59
{
60
public
:
74
InPortDSProvider
();
75
89
~InPortDSProvider
()
override
;
90
118
void
init
(coil::Properties& prop)
override
;
119
145
void
setBuffer
(
BufferBase<ByteData>
* buffer)
override
;
146
195
void
setListener
(
ConnectorInfo
& info,
196
ConnectorListenersBase
* listeners)
override
;
197
222
void
setConnector
(
InPortConnector
* connector)
override
;
223
241
::RTC::PortStatus
push
(const ::RTC::OctetSeq& data)
override
;
242
243
private
:
251
::RTC::PortStatus
252
convertReturn(
BufferStatus
status,
253
ByteData
& data);
254
255
265
inline
void
onBufferWrite(
ByteData
& data)
266
{
267
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_WRITE
, m_profile, data);
268
}
269
279
inline
void
onBufferFull(
ByteData
& data)
280
{
281
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_FULL
, m_profile, data);
282
}
283
293
inline
void
onBufferWriteTimeout(ByteData& data)
294
{
295
m_listeners->
notifyIn
(
ConnectorDataListenerType::ON_BUFFER_WRITE_TIMEOUT
, m_profile, data);
296
}
297
307
inline
void
onBufferWriteOverwrite(ByteData& data)
308
{
309
m_listeners->notifyIn(
ConnectorDataListenerType::ON_BUFFER_OVERWRITE
, m_profile, data);
310
}
311
321
inline
void
onReceived(ByteData& data)
322
{
323
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVED
, m_profile, data);
324
}
325
335
inline
void
onReceiverFull(ByteData& data)
336
{
337
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_FULL
, m_profile, data);
338
}
339
347
inline
void
onReceiverTimeout(ByteData& data)
348
{
349
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_TIMEOUT
, m_profile, data);
350
}
351
359
inline
void
onReceiverError(ByteData& data)
360
{
361
m_listeners->notifyIn(
ConnectorDataListenerType::ON_RECEIVER_ERROR
, m_profile, data);
362
}
363
364
private
:
365
CdrBufferBase
* m_buffer{
nullptr
};
366
::RTC::DataPushService_var m_objref;
367
ConnectorListenersBase* m_listeners;
368
ConnectorInfo m_profile;
369
InPortConnector* m_connector{
nullptr
};
370
ByteData m_cdr;
371
372
};
// class InPortDSProvider
373
}
// namespace RTC
374
375
extern
"C"
376
{
390
void
InPortDSProviderInit
(
void
);
391
}
392
393
#endif
// RTC_INPORTDSPROVIDER_H
394
BufferBase.h
Buffer abstract class.
CORBA_SeqUtil.h
CORBA sequence utility template functions.
ConnectorBase.h
Connector base class.
ConnectorListener.h
connector listener class
InPortDSProviderInit
void InPortDSProviderInit(void)
Module initialization.
InPortProvider.h
InPortProvider class.
Manager.h
-- C++ --
RTC::BufferBase
BufferBase abstract class.
Definition
BufferBase.h:106
RTC::ByteData
Definition
ByteData.h:30
RTC::ConnectorInfo
ConnectorInfo class.
Definition
ConnectorBase.h:50
RTC::ConnectorListenersBase
Definition
ConnectorListener.h:1354
RTC::ConnectorListenersBase::notifyIn
virtual::RTC::ConnectorListenerStatus::Enum notifyIn(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
Notify listeners. (Typed data version).
RTC::InPortConnector
InPortConnector base class.
Definition
InPortConnector.h:54
RTC::InPortDSProvider::~InPortDSProvider
~InPortDSProvider() override
Destructor.
RTC::InPortDSProvider::setListener
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
Set the listener.
RTC::InPortDSProvider::setBuffer
void setBuffer(BufferBase< ByteData > *buffer) override
Setting outside buffer's pointer.
RTC::InPortDSProvider::push
::RTC::PortStatus push(const ::RTC::OctetSeq &data) override
[CORBA interface] Write data into the buffer
RTC::InPortDSProvider::setConnector
void setConnector(InPortConnector *connector) override
set Connector
RTC::InPortDSProvider::init
void init(coil::Properties &prop) override
Initializing configuration.
RTC::InPortDSProvider::InPortDSProvider
InPortDSProvider()
Constructor.
RTC::InPortProvider::InPortProvider
InPortProvider()
Constructor.
RTC
RT-Component.
RTC::ConnectorDataListenerType::ON_RECEIVER_ERROR
@ ON_RECEIVER_ERROR
Definition
ConnectorListener.h:154
RTC::ConnectorDataListenerType::ON_RECEIVER_TIMEOUT
@ ON_RECEIVER_TIMEOUT
Definition
ConnectorListener.h:153
RTC::ConnectorDataListenerType::ON_BUFFER_WRITE_TIMEOUT
@ ON_BUFFER_WRITE_TIMEOUT
Definition
ConnectorListener.h:147
RTC::ConnectorDataListenerType::ON_RECEIVER_FULL
@ ON_RECEIVER_FULL
Definition
ConnectorListener.h:152
RTC::ConnectorDataListenerType::ON_BUFFER_OVERWRITE
@ ON_BUFFER_OVERWRITE
Definition
ConnectorListener.h:148
RTC::ConnectorDataListenerType::ON_RECEIVED
@ ON_RECEIVED
Definition
ConnectorListener.h:151
RTC::ConnectorDataListenerType::ON_BUFFER_WRITE
@ ON_BUFFER_WRITE
Definition
ConnectorListener.h:145
RTC::ConnectorDataListenerType::ON_BUFFER_FULL
@ ON_BUFFER_FULL
Definition
ConnectorListener.h:146
RTC::CdrBufferBase
BufferBase< ByteData > CdrBufferBase
Definition
CdrBufferBase.h:31
RTC::BufferStatus
BufferStatus
DataPortStatus return codes.
Definition
BufferStatus.h:57
Generated by
1.17.0