Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
PortBase::PortBaseMock Class Reference
Inheritance diagram for PortBase::PortBaseMock:
Inheritance graph
[legend]

Public Member Functions

void erase_m_profile (void)
 
const std::vector< timeval > & getNotifyConnectTimes () const
 
const std::vector< timeval > & getNotifyDisconnectTimes () const
 
const std::vector< timeval > & getPublishIfsTimes () const
 
const std::vector< timeval > & getSubscribeIfsTimes () const
 
const std::vector< timeval > & getUnsubscribeIfsTimes () const
 
const std::string getUUID () const
 
virtual RTC::ReturnCode_t notify_connect (RTC::ConnectorProfile &connector_profile) throw (CORBA::SystemException)
 
virtual RTC::ReturnCode_t notify_disconnect (const char *connector_id) throw (CORBA::SystemException)
 [CORBA interface] Notify the Ports disconnection More...
 
 PortBaseMock (const RTC::PortProfile &profile)
 
- Public Member Functions inherited from RTC::PortBase
virtual ReturnCode_t connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException)
 [CORBA interface] Connect the Port More...
 
virtual ReturnCode_t disconnect (const char *connector_id) throw (CORBA::SystemException)
 [CORBA interface] Disconnect the Port More...
 
virtual ReturnCode_t disconnect_all () throw (CORBA::SystemException)
 [CORBA interface] Disconnect the All Ports More...
 
virtual ConnectorProfile * get_connector_profile (const char *connector_id) throw (CORBA::SystemException)
 [CORBA interface] Get the ConnectorProfile More...
 
virtual ConnectorProfileList * get_connector_profiles () throw (CORBA::SystemException)
 [CORBA interface] Get the ConnectorProfileList of the Port More...
 
virtual PortProfile * get_port_profile () throw (CORBA::SystemException)
 [CORBA interface] Get the PortProfile of the Port More...
 
const char * getName () const
 Get the name of this Port. More...
 
const PortProfile & getPortProfile () const
 Get the PortProfile of the Port. More...
 
PortService_ptr getPortRef ()
 Get the object reference of this Port. More...
 
const PortProfile & getProfile () const
 Get the PortProfile of the Port. More...
 
virtual ReturnCode_t notify_connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException)
 [CORBA interface] Notify the Ports connection More...
 
 PortBase (const char *name="")
 Constructor. More...
 
void setName (const char *name)
 Set the name of this Port. More...
 
void setOnConnected (ConnectionCallback *on_connected)
 Setting callback called on connection established. More...
 
void setOnConnectionLost (ConnectionCallback *on_connection_lost)
 Setting callback called on connection lost. More...
 
void setOnDisconnected (ConnectionCallback *on_disconnected)
 Setting callback called on disconnected. More...
 
void setOnPublishInterfaces (ConnectionCallback *on_publish)
 Setting callback called on publish interfaces. More...
 
void setOnSubscribeInterfaces (ConnectionCallback *on_subscribe)
 Setting callback called on publish interfaces. More...
 
void setOnUnsubscribeInterfaces (ConnectionCallback *on_subscribe)
 Setting callback called on unsubscribe interfaces. More...
 
void setOwner (RTObject_ptr owner)
 Set the owner RTObject of the Port. More...
 
void setPortConnectListenerHolder (PortConnectListeners *portconnListeners)
 Setting PortConnectListener holder. More...
 
void setPortRef (PortService_ptr port_ref)
 Set the object reference of this Port. More...
 
virtual ~PortBase (void)
 Destructor. More...
 

Protected Member Functions

virtual void activateInterfaces ()
 Activate all Port interfaces. More...
 
virtual void deactivateInterfaces ()
 Deactivate all Port interfaces. More...
 
virtual RTC::ReturnCode_t publishInterfaces (RTC::ConnectorProfile &connector_profile)
 
virtual RTC::ReturnCode_t subscribeInterfaces (const RTC::ConnectorProfile &connector_profile)
 
virtual void unsubscribeInterfaces (const RTC::ConnectorProfile &connector_profile)
 
- Protected Member Functions inherited from RTC::PortBase
virtual ReturnCode_t _publishInterfaces (void)
 Publish interface information. More...
 
template<class ValueType >
void addProperty (const char *key, ValueType value)
 Add NameValue data to PortProfile's properties. More...
 
bool appendInterface (const char *name, const char *type_name, PortInterfacePolarity pol)
 Append an interface to the PortInterfaceProfile. More...
 
void appendProperty (const char *key, const char *value)
 Append NameValue data to PortProfile's properties. More...
 
bool checkPorts (::RTC::PortServiceList &ports)
 Existence of ports. More...
 
virtual ReturnCode_t connectNext (ConnectorProfile &connector_profile)
 Call notify_connect() of the next Port. More...
 
bool deleteInterface (const char *name, PortInterfacePolarity pol)
 Delete the interface registration from the PortInterfaceProfile. More...
 
virtual ReturnCode_t disconnectNext (ConnectorProfile &connector_profile)
 Call notify_disconnect() of the next Port. More...
 
bool eraseConnectorProfile (const char *id)
 Delete the ConnectorProfile. More...
 
ConnectorProfile findConnProfile (const char *id)
 Find ConnectorProfile with id. More...
 
CORBA::Long findConnProfileIndex (const char *id)
 Find ConnectorProfile with id. More...
 
const std::string getUUID () const
 Generate the UUID. More...
 
bool isEmptyId (const ConnectorProfile &connector_profile) const
 Check whether connector_id of ConnectorProfile is empty. More...
 
bool isExistingConnId (const char *id)
 Check whether the given id exists in stored ConnectorProfiles. More...
 
void onConnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onConnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onDisconnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onDisconnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onNotifyConnect (const char *portname, RTC::ConnectorProfile &profile)
 
void onNotifyDisconnect (const char *portname, RTC::ConnectorProfile &profile)
 
void onPublishInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onSubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onUnsubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile)
 
virtual ReturnCode_t publishInterfaces (ConnectorProfile &connector_profile)=0
 Publish interface information. More...
 
virtual void setConnectionLimit (int limit_value)
 Set the maximum number of connections. More...
 
void setUUID (ConnectorProfile &connector_profile) const
 Generate and set the UUID to the ConnectorProfile. More...
 
virtual ReturnCode_t subscribeInterfaces (const ConnectorProfile &connector_profile)=0
 Publish interface information. More...
 
virtual void unsubscribeInterfaces (const ConnectorProfile &connector_profile)=0
 Disconnect interface connection. More...
 
void updateConnectorProfile (const ConnectorProfile &connector_profile)
 Append or update the ConnectorProfile list. More...
 
void updateConnectors ()
 Disconnect ports that doesn't exist. More...
 

Private Member Functions

timeval getNow () const
 

Private Attributes

std::vector< timeval > _notifyConnectTimes
 
std::vector< timeval > _notifyDisconnectTimes
 
std::vector< timeval > _publishIfsTimes
 
std::vector< timeval > _subscribeIfsTimes
 
std::vector< timeval > _unsubscribeIfsTimes
 

Additional Inherited Members

- Protected Types inherited from RTC::PortBase
typedef coil::Guard< coil::MutexGuard
 
- Protected Attributes inherited from RTC::PortBase
int m_connectionLimit
 The maximum number of connections. More...
 
coil::Mutex m_connectorsMutex
 
RTC::PortService_var m_objref
 Object Reference of the Port. More...
 
ConnectionCallbackm_onConnected
 Callback functor objects. More...
 
ConnectionCallbackm_onConnectionLost
 Callback functor objects. More...
 
ConnectionCallbackm_onDisconnected
 Callback functor objects. More...
 
ConnectionCallbackm_onPublishInterfaces
 Callback functor objects. More...
 
ConnectionCallbackm_onSubscribeInterfaces
 Callback functor objects. More...
 
ConnectionCallbackm_onUnsubscribeInterfaces
 Callback functor objects. More...
 
std::string m_ownerInstanceName
 Instance name. More...
 
PortConnectListenersm_portconnListeners
 PortConnectListener holder. More...
 
PortProfile m_profile
 PortProfile of the Port. More...
 
coil::Mutex m_profile_mutex
 Mutex of PortProfile. More...
 
Logger rtclog
 Logger stream. More...
 

Detailed Description

Definition at line 92 of file PortBaseTests.cpp.

Constructor & Destructor Documentation

◆ PortBaseMock()

PortBase::PortBaseMock::PortBaseMock ( const RTC::PortProfile &  profile)
inline

Definition at line 96 of file PortBaseTests.cpp.

Member Function Documentation

◆ activateInterfaces()

virtual void PortBase::PortBaseMock::activateInterfaces ( )
inlineprotectedvirtual

Activate all Port interfaces.

This operation activate all interfaces that is registered in the ports.

Implements RTC::PortBase.

Definition at line 145 of file PortBaseTests.cpp.

◆ deactivateInterfaces()

virtual void PortBase::PortBaseMock::deactivateInterfaces ( )
inlineprotectedvirtual

Deactivate all Port interfaces.

This operation deactivate all interfaces that is registered in the ports.

Implements RTC::PortBase.

Definition at line 148 of file PortBaseTests.cpp.

◆ erase_m_profile()

void PortBase::PortBaseMock::erase_m_profile ( void  )
inline

Definition at line 122 of file PortBaseTests.cpp.

◆ getNotifyConnectTimes()

const std::vector<timeval>& PortBase::PortBaseMock::getNotifyConnectTimes ( ) const
inline

Definition at line 171 of file PortBaseTests.cpp.

◆ getNotifyDisconnectTimes()

const std::vector<timeval>& PortBase::PortBaseMock::getNotifyDisconnectTimes ( ) const
inline

Definition at line 176 of file PortBaseTests.cpp.

◆ getNow()

timeval PortBase::PortBaseMock::getNow ( ) const
inlineprivate

Definition at line 162 of file PortBaseTests.cpp.

◆ getPublishIfsTimes()

const std::vector<timeval>& PortBase::PortBaseMock::getPublishIfsTimes ( ) const
inline

Definition at line 181 of file PortBaseTests.cpp.

◆ getSubscribeIfsTimes()

const std::vector<timeval>& PortBase::PortBaseMock::getSubscribeIfsTimes ( ) const
inline

Definition at line 186 of file PortBaseTests.cpp.

◆ getUnsubscribeIfsTimes()

const std::vector<timeval>& PortBase::PortBaseMock::getUnsubscribeIfsTimes ( ) const
inline

Definition at line 191 of file PortBaseTests.cpp.

◆ getUUID()

const std::string PortBase::PortBaseMock::getUUID ( ) const
inline

Definition at line 104 of file PortBaseTests.cpp.

◆ notify_connect()

virtual RTC::ReturnCode_t PortBase::PortBaseMock::notify_connect ( RTC::ConnectorProfile &  connector_profile)
throw (CORBA::SystemException
)
inlinevirtual

Definition at line 109 of file PortBaseTests.cpp.

◆ notify_disconnect()

virtual RTC::ReturnCode_t PortBase::PortBaseMock::notify_disconnect ( const char *  connector_id)
throw (CORBA::SystemException
)
inlinevirtual

[CORBA interface] Notify the Ports disconnection

This operation is invoked between Ports internally when the connection is destroied. Generally it is not premised on calling from application programs or RTC objects except Port object.

According to the template method pattern, the notify_disconnect() calls unsubsctiveInterfaces() function, which are premised on implementing in the subclasses. The processing sequence is as follows.

  • Searching ConnectorProfile
  • Calling notify_disconnect() for the next port
  • Unsubscribing interfaces
  • Deleting ConnectorProfile

notify_disconnect() notifies disconnection to all the ports by cascaded call to the stored ports in the ConnectorProfile::ports in order.

Precondition
The port shall store the ConnectorProfile having same id with connector_id.
Postcondition
If ConnectorProfile of same ID with connector_id does not exist, it returns BAD_PARAMETER error.
For the cascaded call, this operation calls noify_disconnect() for the port that is stored in the next of this port in the ConnectorProfile::ports. If the operation call raises exception for some failure, it tries to call notify_disconnect() and skips until the operation succeeded. If none of operation call succeeded, it returns RTC_ERROR.
At the end of notify_disconnect() operation for the first port stored in the ConnectorProfile::ports sequence, the related ports' notify_disconnect() invocations complete.
Parameters
connector_idThe ID of the ConnectorProfile.
Returns
ReturnCode_t The return code of ReturnCode_t type.

Reimplemented from RTC::PortBase.

Definition at line 116 of file PortBaseTests.cpp.

◆ publishInterfaces()

virtual RTC::ReturnCode_t PortBase::PortBaseMock::publishInterfaces ( RTC::ConnectorProfile &  connector_profile)
inlineprotectedvirtual

Definition at line 129 of file PortBaseTests.cpp.

◆ subscribeInterfaces()

virtual RTC::ReturnCode_t PortBase::PortBaseMock::subscribeInterfaces ( const RTC::ConnectorProfile &  connector_profile)
inlineprotectedvirtual

Definition at line 135 of file PortBaseTests.cpp.

◆ unsubscribeInterfaces()

virtual void PortBase::PortBaseMock::unsubscribeInterfaces ( const RTC::ConnectorProfile &  connector_profile)
inlineprotectedvirtual

Definition at line 141 of file PortBaseTests.cpp.

Member Data Documentation

◆ _notifyConnectTimes

std::vector<timeval> PortBase::PortBaseMock::_notifyConnectTimes
private

Definition at line 154 of file PortBaseTests.cpp.

◆ _notifyDisconnectTimes

std::vector<timeval> PortBase::PortBaseMock::_notifyDisconnectTimes
private

Definition at line 155 of file PortBaseTests.cpp.

◆ _publishIfsTimes

std::vector<timeval> PortBase::PortBaseMock::_publishIfsTimes
private

Definition at line 156 of file PortBaseTests.cpp.

◆ _subscribeIfsTimes

std::vector<timeval> PortBase::PortBaseMock::_subscribeIfsTimes
private

Definition at line 157 of file PortBaseTests.cpp.

◆ _unsubscribeIfsTimes

std::vector<timeval> PortBase::PortBaseMock::_unsubscribeIfsTimes
private

Definition at line 158 of file PortBaseTests.cpp.


The documentation for this class was generated from the following file:


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Mon Feb 28 2022 23:00:47