Classes and functions related to the addition of HPP class bindings.
More...
|
| template<typename S , typename P > |
| PortableServer::Servant_var< S > | hpp::corbaServer::reference_to_servant (Server *server, const P &p) |
| |
| template<typename T , typename P > |
| AbstractServantBase< T > * | hpp::corbaServer::reference_to_servant_base (Server *server, const P &p) |
| |
| template<typename P , typename S > |
| P | hpp::corbaServer::makeServant (Server *server, S *s) |
| | Create and activate a omniORB servant. More...
|
| |
| template<typename U , typename V , template< typename > class StorageTpl> |
| static StorageTpl< U > | hpp::corbaServer::storage_cast (const StorageTpl< V > &o) |
| | Cast the storage class of a servant. More...
|
| |
| template<typename ServantBaseType > |
| std::vector< ServantFactoryBase< ServantBaseType > *> & | hpp::corbaServer::objectDowncasts () |
| |
| template<typename ServantBaseType > |
| void | hpp::corbaServer::addDowncastObjects (ServantFactoryBase< ServantBaseType > *const object) |
| |
| template<typename ServantBaseType , typename ReturnType > |
| ReturnType::Object_var | hpp::corbaServer::makeServantDownCast (Server *server, const typename ServantBaseType::Storage &t) |
| | Create and activate a omniORB servant with class downcasting. More...
|
| |
| template<typename ServantBaseType > |
| ServantBaseType::Object_var | hpp::corbaServer::makeServantDownCast (Server *server, const typename ServantBaseType::Storage &t) |
| |
Classes and functions related to the addition of HPP class bindings.
Example usage can be found in classes hpp::corbaServer::core_idl::Path, hpp::corbaServer::core_idl::PathVector, hpp::corbaServer::core_idl::Distance
- Steps for the topmost class of an hierarchy, called ClassA:
- optionally write a storage class (or use boost::shared_ptr<ClassA>)
- create a
template <typename _Base, typename _Storage> ClassAServant that inherits
_Base, this will be an IDL class that inherits from IDLClassA.
ServantBase<boost::shared_ptr<ClassA>, _Storage >
- Add
SERVANT_BASE_TYPEDEFS(ClassAServant, boost::shared_ptr<ClassA>);
- implement the functions of IDLClassA
- add after your class
typedef ClassAServant<IDLClassA, Storage> ClassA.
- Steps for a derived class of an hierarchy, called ClassB:
- optionally write a storage class (or use boost::shared_ptr<ClassB>)
- create a
template <typename _Base, typename _Storage> ClassBServant that inherits
ClassAServant<_Base, Storage>
- implement the functions of IDLClassB
- add after your class
typedef ClassBServant<IDLClassB, Storage> ClassB.
- about the storage class
- See details section of AbstractStorage.
◆ SERVANT_BASE_TYPEDEFS
| #define SERVANT_BASE_TYPEDEFS |
( |
|
idlObj, |
|
|
|
hppObj |
|
) |
| |
Value:protected: \
using AbstractServantBase<hppObj>::server_; \
public: \
typedef _Base Base; \
typedef _Storage Storage; \
typedef idlObj Object; \
typedef idlObj ## _ptr Object_ptr; \
typedef idlObj ## _var Object_var; \
typedef ServantBase<hppObj, _Storage> _ServantBase; \
using _ServantBase::get; \
using _ServantBase::getT; \
using _ServantBase::getS
◆ ServantBase_var
◆ addDowncastObjects()
template<typename ServantBaseType >
| void hpp::corbaServer::addDowncastObjects |
( |
ServantFactoryBase< ServantBaseType > *const |
object | ) |
|
◆ makeServant()
template<typename P , typename S >
| P hpp::corbaServer::makeServant |
( |
Server * |
server, |
|
|
S * |
s |
|
) |
| |
◆ makeServantDownCast() [1/2]
template<typename ServantBaseType , typename ReturnType >
| ReturnType::Object_var hpp::corbaServer::makeServantDownCast |
( |
Server * |
server, |
|
|
const typename ServantBaseType::Storage & |
t |
|
) |
| |
Create and activate a omniORB servant with class downcasting.
- Template Parameters
-
| ServantBaseType | the top classes of the hierarchy. |
◆ makeServantDownCast() [2/2]
template<typename ServantBaseType >
| ServantBaseType::Object_var hpp::corbaServer::makeServantDownCast |
( |
Server * |
server, |
|
|
const typename ServantBaseType::Storage & |
t |
|
) |
| |
◆ objectDowncasts()
template<typename ServantBaseType >
| std::vector< ServantFactoryBase<ServantBaseType>* >& hpp::corbaServer::objectDowncasts |
( |
| ) |
|
◆ reference_to_servant()
template<typename S , typename P >
| PortableServer::Servant_var<S> hpp::corbaServer::reference_to_servant |
( |
Server * |
server, |
|
|
const P & |
p |
|
) |
| |
◆ reference_to_servant_base()
template<typename T , typename P >
◆ storage_cast()
template<typename U , typename V , template< typename > class StorageTpl>
| static StorageTpl<U> hpp::corbaServer::storage_cast |
( |
const StorageTpl< V > & |
o | ) |
|
|
static |