onboardapi  9.10.0
by Rheinmetall
M_CoordinateFrame::Service Class Reference

new oo-api More...

Public Types

typedef M_CoordinateFrame::IService InterfaceTypeReceiver
 
typedef M_CoordinateFrame::IClient InterfaceTypeSender
 

Public Member Functions

 Service ()
 
 Service (Service &&other) noexcept
 
 Service (const Service &other)=delete
 
 ~Service ()
 
ddkit::actors::ActorInfo actorInfo () const
 
bool isValid () const
 true, if dds-able (false, if default-constructed or Session destructed) More...
 
void invalidate ()
 
std::shared_ptr< ddkit::actors::Session > getSession ()
 
std::shared_ptr< ddkit::actors::MonitorSession > getMonitorSession ()
 
IClientPtr operator-> ()
 call operations on matching Clients More...
 

Static Public Member Functions

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, int >::value &&std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type create (T domain, std::string serviceName, IServiceDerived &callbacks)
 Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected),. More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, int >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type create (T domain, std::string serviceName, IServiceDerived &callbacks)
 Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected) More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::Session > >::value &&std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type create (T session, std::string serviceName, IServiceDerived &callbacks)
 Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected) More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::Session > >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type create (T session, std::string serviceName, IServiceDerived &callbacks)
 Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected) More...
 
static Service createWriteOnly (int domain, std::string serviceName)
 static int domain More...
 
static Service createWriteOnly (std::shared_ptr< ddkit::actors::Session > session, std::string serviceName)
 static std::shared_ptr<ddkit::actors::Session> session More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, int >::value &&std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T domain, std::string serviceName, IServiceDerived &callbacks)
 (only for monitors: Listener, Inspector / resulting services are read-only!) More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, int >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T domain, std::string serviceName, IServiceDerived &callbacks)
 (only for monitors: Listener, Inspector / resulting services are read-only!) More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::MonitorSession > >::value &&std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T monitorSession, std::string serviceName, IServiceDerived &callbacks)
 (only for monitors: Listener, Inspector / resulting services are read-only!) More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::MonitorSession > >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T monitorSession, std::string serviceName, IServiceDerived &callbacks)
 (only for monitors: Listener, Inspector / resulting services are read-only!) More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, int >::value &&std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T domain, IServiceDerived &callbacks)
 Reading all serviceNames. More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, int >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T domain, IServiceDerived &callbacks)
 Reading all serviceNames. More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::MonitorSession > >::value &&std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T monitorSession, IServiceDerived &callbacks)
 Reading all serviceNames. More...
 
template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::MonitorSession > >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type createMonitor (T monitorSession, IServiceDerived &callbacks)
 Reading all serviceNames. More...
 

Private Member Functions

ddkit::actors::IActor & actor ()
 
 Service (ddkit::actors::ActorPtr actor, bool discardSenderOnDestruction, bool discardObserverOnDestruction, std::shared_ptr< ddkit::actors::Session > session, std::shared_ptr< ddkit::actors::MonitorSession > monitorSession)
 

Static Private Member Functions

static bool isCheckMostDerivedClassType (ddkit::actors::Session &session)
 
static bool isCheckMostDerivedClassType (ddkit::actors::MonitorSession &monitorSession)
 
static Service createCustom (std::shared_ptr< ddkit::actors::Session > session, std::string serviceName, IService &callbacks, std::vector< std::string > methods)
 
static Service createCustomReadOnly (std::shared_ptr< ddkit::actors::MonitorSession > monitorSession, std::string serviceName, IService &callbacks, std::vector< std::string > methods)
 
static Service createCustomReadOnlyMultiplex (std::shared_ptr< ddkit::actors::MonitorSession > monitorSession, IService &callbacks, std::vector< std::string > methods)
 
static Service createCustom (std::shared_ptr< ddkit::actors::Session > session, std::string serviceName, std::map< std::string, std::vector< ddkit::callback::Base * >> callbacks, std::vector< std::string > methods)
 
static Service createCustomReadOnly (std::shared_ptr< ddkit::actors::MonitorSession > monitorSession, std::string serviceName, std::map< std::string, std::vector< ddkit::callback::Base * >> callbacks, std::vector< std::string > methods)
 
static Service createCustomReadOnlyMultiplex (std::shared_ptr< ddkit::actors::MonitorSession > monitorSession, std::map< std::string, std::vector< ddkit::callback::Base * >> callbacks, std::vector< std::string > methods)
 

Private Attributes

ddkit::actors::ActorWeakPtr m_actor
 
bool m_discardSenderOnDestruction
 
bool m_discardObserverOnDestruction
 
std::shared_ptr< ddkit::actors::Session > m_session
 
std::shared_ptr< ddkit::actors::MonitorSession > m_monitorSession
 

Detailed Description

new oo-api

Member Typedef Documentation

◆ InterfaceTypeReceiver

◆ InterfaceTypeSender

Constructor & Destructor Documentation

◆ Service() [1/4]

M_CoordinateFrame::Service::Service ( )

◆ Service() [2/4]

M_CoordinateFrame::Service::Service ( Service &&  other)
noexcept

◆ Service() [3/4]

M_CoordinateFrame::Service::Service ( const Service other)
delete

◆ ~Service()

M_CoordinateFrame::Service::~Service ( )

◆ Service() [4/4]

M_CoordinateFrame::Service::Service ( ddkit::actors::ActorPtr  actor,
bool  discardSenderOnDestruction,
bool  discardObserverOnDestruction,
std::shared_ptr< ddkit::actors::Session >  session,
std::shared_ptr< ddkit::actors::MonitorSession >  monitorSession 
)
private

Member Function Documentation

◆ actor()

ddkit::actors::IActor & M_CoordinateFrame::Service::actor ( )
private

◆ actorInfo()

ddkit::actors::ActorInfo M_CoordinateFrame::Service::actorInfo ( ) const

◆ create() [1/4]

template<typename T , typename IServiceDerived >
std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::Session > >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type M_CoordinateFrame::Service::create ( domain,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected),.

◆ create() [2/4]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, int>::value && !std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::create ( domain,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected)

◆ create() [3/4]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, std::shared_ptr<ddkit::actors::Session> >::value && std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::create ( session,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected)

◆ create() [4/4]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, std::shared_ptr<ddkit::actors::Session> >::value && !std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::create ( session,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

Create dds-readers + writers. remove on Service leaving scope (overridden methods are auto-detected)

◆ createCustom() [1/2]

Service M_CoordinateFrame::Service::createCustom ( std::shared_ptr< ddkit::actors::Session >  session,
std::string  serviceName,
IService callbacks,
std::vector< std::string >  methods 
)
staticprivate

◆ createCustom() [2/2]

Service M_CoordinateFrame::Service::createCustom ( std::shared_ptr< ddkit::actors::Session >  session,
std::string  serviceName,
std::map< std::string, std::vector< ddkit::callback::Base * >>  callbacks,
std::vector< std::string >  methods 
)
staticprivate

◆ createCustomReadOnly() [1/2]

Service M_CoordinateFrame::Service::createCustomReadOnly ( std::shared_ptr< ddkit::actors::MonitorSession >  monitorSession,
std::string  serviceName,
IService callbacks,
std::vector< std::string >  methods 
)
staticprivate

◆ createCustomReadOnly() [2/2]

Service M_CoordinateFrame::Service::createCustomReadOnly ( std::shared_ptr< ddkit::actors::MonitorSession >  monitorSession,
std::string  serviceName,
std::map< std::string, std::vector< ddkit::callback::Base * >>  callbacks,
std::vector< std::string >  methods 
)
staticprivate

◆ createCustomReadOnlyMultiplex() [1/2]

Service M_CoordinateFrame::Service::createCustomReadOnlyMultiplex ( std::shared_ptr< ddkit::actors::MonitorSession >  monitorSession,
IService callbacks,
std::vector< std::string >  methods 
)
staticprivate

◆ createCustomReadOnlyMultiplex() [2/2]

Service M_CoordinateFrame::Service::createCustomReadOnlyMultiplex ( std::shared_ptr< ddkit::actors::MonitorSession >  monitorSession,
std::map< std::string, std::vector< ddkit::callback::Base * >>  callbacks,
std::vector< std::string >  methods 
)
staticprivate

◆ createMonitor() [1/8]

template<typename T , typename IServiceDerived >
std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::MonitorSession > >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type M_CoordinateFrame::Service::createMonitor ( domain,
IServiceDerived &  callbacks 
)
static

Reading all serviceNames.

◆ createMonitor() [2/8]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, int>::value && !std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::createMonitor ( domain,
IServiceDerived &  callbacks 
)
static

Reading all serviceNames.

◆ createMonitor() [3/8]

template<typename T , typename IServiceDerived >
std::enable_if< std::is_same< T, std::shared_ptr< ddkit::actors::MonitorSession > >::value &&!std::is_same< IServiceDerived, std::vector< ddkit::callback::Base * > >::value, Service >::type M_CoordinateFrame::Service::createMonitor ( domain,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

(only for monitors: Listener, Inspector / resulting services are read-only!)

◆ createMonitor() [4/8]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, int>::value && !std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::createMonitor ( domain,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

(only for monitors: Listener, Inspector / resulting services are read-only!)

◆ createMonitor() [5/8]

template<typename T , typename IServiceDerived >
static std::enable_if<std::is_same<T, std::shared_ptr<ddkit::actors::MonitorSession> >::value && std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::createMonitor ( monitorSession,
IServiceDerived &  callbacks 
)
static

Reading all serviceNames.

◆ createMonitor() [6/8]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, std::shared_ptr<ddkit::actors::MonitorSession> >::value && !std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::createMonitor ( monitorSession,
IServiceDerived &  callbacks 
)
static

Reading all serviceNames.

◆ createMonitor() [7/8]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, std::shared_ptr<ddkit::actors::MonitorSession> >::value && std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::createMonitor ( monitorSession,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

(only for monitors: Listener, Inspector / resulting services are read-only!)

◆ createMonitor() [8/8]

template<typename T , typename IServiceDerived >
static std::enable_if< std::is_same<T, std::shared_ptr<ddkit::actors::MonitorSession> >::value && !std::is_same<IServiceDerived, std::vector<ddkit::callback::Base*> >::value, Service>::type M_CoordinateFrame::Service::createMonitor ( monitorSession,
std::string  serviceName,
IServiceDerived &  callbacks 
)
static

(only for monitors: Listener, Inspector / resulting services are read-only!)

◆ createWriteOnly() [1/2]

Service M_CoordinateFrame::Service::createWriteOnly ( int  domain,
std::string  serviceName 
)
static

static int domain

◆ createWriteOnly() [2/2]

Service M_CoordinateFrame::Service::createWriteOnly ( std::shared_ptr< ddkit::actors::Session >  session,
std::string  serviceName 
)
static

static std::shared_ptr<ddkit::actors::Session> session

◆ getMonitorSession()

std::shared_ptr< ddkit::actors::MonitorSession > M_CoordinateFrame::Service::getMonitorSession ( )

◆ getSession()

std::shared_ptr< ddkit::actors::Session > M_CoordinateFrame::Service::getSession ( )

◆ invalidate()

void M_CoordinateFrame::Service::invalidate ( )

◆ isCheckMostDerivedClassType() [1/2]

bool M_CoordinateFrame::Service::isCheckMostDerivedClassType ( ddkit::actors::MonitorSession &  monitorSession)
staticprivate

◆ isCheckMostDerivedClassType() [2/2]

bool M_CoordinateFrame::Service::isCheckMostDerivedClassType ( ddkit::actors::Session &  session)
staticprivate

◆ isValid()

bool M_CoordinateFrame::Service::isValid ( ) const

true, if dds-able (false, if default-constructed or Session destructed)

◆ operator->()

IClientPtr M_CoordinateFrame::Service::operator-> ( )

call operations on matching Clients

Member Data Documentation

◆ m_actor

ddkit::actors::ActorWeakPtr M_CoordinateFrame::Service::m_actor
private

◆ m_discardObserverOnDestruction

bool M_CoordinateFrame::Service::m_discardObserverOnDestruction
private

◆ m_discardSenderOnDestruction

bool M_CoordinateFrame::Service::m_discardSenderOnDestruction
private

◆ m_monitorSession

std::shared_ptr<ddkit::actors::MonitorSession> M_CoordinateFrame::Service::m_monitorSession
private

◆ m_session

std::shared_ptr<ddkit::actors::Session> M_CoordinateFrame::Service::m_session
private