template < class C >

class ServerHelper

Library: RemotingNG
Package: ORB
Header: Poco/RemotingNG/ServerHelper.h


This class template provides a generic interface to the generated ServerHelper class. Actual members are defined by the specialization, which is generated using the REMOTING_SPECIALIZE_SERVER_HELPER macro.

A specialization of ServerHelper looks like this:

template <>
class ServerHelper<SomeService>
    using Helper = SomeServiceServerHelper;
    using Service = SomeService;
    using ServicePtr = Poco::SharedPtr<Service>;
    using Interface = ISomeService;
    using InterfacePtr = Poco::AutoPtr<ISomeService>;
    using RemoteObject = SomeServiceRemoteObject;
    using RemoteObjectPtr = Poco::AutoPtr<RemoteObject>;

    static std::string registerObject(ServicePtr pServiceObject, const Poco::RemotingNG::Identifiable::ObjectId& oid, const std::string& listenerId);
    static std::string registerObject(RemoteObjectPtr pRemoteObject, const std::string listenerId);
    static void unregisterObject(const std::string& uri);
    static RemoteObjectPtr createRemoteObject(const Poco::RemotingNG::Identifiable::ObjectId& oid, ServicePtr pService);