16#ifndef __Ice_ObjectAdapter_h__
17#define __Ice_ObjectAdapter_h__
44#ifndef ICE_IGNORE_VERSION
45# if ICE_INT_VERSION / 100 != 307
46# error Ice version mismatch!
48# if ICE_INT_VERSION % 100 >= 50
49# error Beta header file detected
51# if ICE_INT_VERSION % 100 < 11
52# error Ice patch level mismatch!
57# if defined(ICE_STATIC_LIBS)
59# elif defined(ICE_API_EXPORTS)
60# define ICE_API ICE_DECLSPEC_EXPORT
62# define ICE_API ICE_DECLSPEC_IMPORT
66#ifdef ICE_CPP11_MAPPING
89class ICE_CLASS(ICE_API) ObjectAdapter
99 virtual ::std::string getName() const noexcept = 0;
106 virtual ::std::shared_ptr<::Ice::Communicator> getCommunicator() const noexcept = 0;
115 virtual
void activate() = 0;
129 virtual
void hold() = 0;
139 virtual
void waitForHold() = 0;
163 virtual
void deactivate() noexcept = 0;
174 virtual
void waitForDeactivate() noexcept = 0;
181 virtual
bool isDeactivated() const noexcept = 0;
194 virtual
void destroy() noexcept = 0;
212 virtual ::std::shared_ptr<::Ice::ObjectPrx> add(const ::std::shared_ptr<Object>& servant, const Identity&
id) = 0;
229 virtual ::std::shared_ptr<::Ice::ObjectPrx> addFacet(const ::std::shared_ptr<Object>& servant, const Identity&
id, const ::std::
string& facet) = 0;
245 virtual ::std::shared_ptr<::Ice::ObjectPrx> addWithUUID(const ::std::shared_ptr<Object>& servant) = 0;
262 virtual ::std::shared_ptr<::Ice::ObjectPrx> addFacetWithUUID(const ::std::shared_ptr<Object>& servant, const ::std::
string& facet) = 0;
297 virtual
void addDefaultServant(const ::std::shared_ptr<Object>& servant, const ::std::
string& category) = 0;
312 virtual ::std::shared_ptr<::Ice::Object> remove(const Identity&
id) = 0;
325 virtual ::std::shared_ptr<::Ice::Object> removeFacet(const Identity&
id, const ::std::
string& facet) = 0;
338 virtual ::Ice::FacetMap removeAllFacets(const Identity&
id) = 0;
349 virtual ::std::shared_ptr<::Ice::Object> removeDefaultServant(const ::std::
string& category) = 0;
366 virtual ::std::shared_ptr<::Ice::Object> find(const Identity&
id) const = 0;
383 virtual ::std::shared_ptr<::Ice::Object> findFacet(const Identity&
id, const ::std::
string& facet) const = 0;
396 virtual ::Ice::FacetMap findAllFacets(const Identity&
id) const = 0;
411 virtual ::std::shared_ptr<::Ice::Object> findByProxy(const ::std::shared_ptr<ObjectPrx>& proxy) const = 0;
454 virtual
void addServantLocator(const ::std::shared_ptr<ServantLocator>& locator, const ::std::
string& category) = 0;
468 virtual ::std::shared_ptr<::Ice::ServantLocator> removeServantLocator(const ::std::
string& category) = 0;
482 virtual ::std::shared_ptr<::Ice::ServantLocator> findServantLocator(const ::std::
string& category) const = 0;
492 virtual ::std::shared_ptr<::Ice::Object> findDefaultServant(const ::std::
string& category) const = 0;
506 virtual ::std::shared_ptr<::Ice::ObjectPrx> createProxy(const Identity&
id) const = 0;
516 virtual ::std::shared_ptr<::Ice::ObjectPrx> createDirectProxy(const Identity&
id) const = 0;
527 virtual ::std::shared_ptr<::Ice::ObjectPrx> createIndirectProxy(const Identity&
id) const = 0;
541 virtual
void setLocator(const ::std::shared_ptr<LocatorPrx>& loc) = 0;
550 virtual ::std::shared_ptr<::Ice::LocatorPrx> getLocator() const noexcept = 0;
557 virtual ::Ice::EndpointSeq getEndpoints() const noexcept = 0;
567 virtual
void refreshPublishedEndpoints() = 0;
576 virtual ::Ice::EndpointSeq getPublishedEndpoints() const noexcept = 0;
585 virtual
void setPublishedEndpoints(const EndpointSeq& newEndpoints) = 0;
658#ifdef ICE_CPP11_COMPILER
#define ICE_API
Definition Config.h:197
#define ICE_NOEXCEPT
Definition Config.h:128
#define ICE_MEMBER(API)
Definition Config.h:177
Shared & operator=(const Shared &)
Definition Shared.h:94
Base class for local Slice classes and interfaces.
Definition LocalObject.h:25
The object adapter provides an up-call interface from the Ice run time to the implementation of Ice o...
Definition ObjectAdapter.h:651
virtual::std::string getName() const =0
Get the name of this object adapter.
virtual ObjectPrx addFacet(const ObjectPtr &servant, const Identity &id, const ::std::string &facet)=0
Like add, but with a facet.
virtual ServantLocatorPtr findServantLocator(const ::std::string &category) const =0
Find a Servant Locator installed with this object adapter.
virtual EndpointSeq getPublishedEndpoints() const =0
Get the set of endpoints that proxies created by this object adapter will contain.
virtual ObjectPtr remove(const Identity &id)=0
Remove a servant (that is, the default facet) from the object adapter's Active Servant Map.
virtual ObjectPrx add(const ObjectPtr &servant, const Identity &id)=0
Add a servant to this object adapter's Active Servant Map.
ObjectAdapterPtr PointerType
Definition ObjectAdapter.h:654
virtual void addDefaultServant(const ObjectPtr &servant, const ::std::string &category)=0
Add a default servant to handle requests for a specific category.
virtual LocatorPrx getLocator() const =0
Get the Ice locator used by this object adapter.
virtual ObjectPrx addFacetWithUUID(const ObjectPtr &servant, const ::std::string &facet)=0
Like addWithUUID, but with a facet.
virtual ObjectPtr removeFacet(const Identity &id, const ::std::string &facet)=0
Like remove, but with a facet.
virtual void waitForDeactivate()=0
Wait until the object adapter has deactivated.
virtual EndpointSeq getEndpoints() const =0
Get the set of endpoints configured with this object adapter.
virtual ObjectPtr removeDefaultServant(const ::std::string &category)=0
Remove the default servant for a specific category.
virtual void destroy()=0
Destroys the object adapter and cleans up all resources held by the object adapter.
virtual void activate()=0
Activate all endpoints that belong to this object adapter.
virtual CommunicatorPtr getCommunicator() const =0
Get the communicator this object adapter belongs to.
virtual void hold()=0
Temporarily hold receiving and dispatching requests.
virtual ObjectPrx createIndirectProxy(const Identity &id) const =0
Create an indirect proxy for the object with the given identity.
virtual void waitForHold()=0
Wait until the object adapter holds requests.
virtual void setLocator(const LocatorPrx &loc)=0
Set an Ice locator for this object adapter.
virtual ObjectPtr findFacet(const Identity &id, const ::std::string &facet) const =0
Like find, but with a facet.
virtual FacetMap findAllFacets(const Identity &id) const =0
Find all facets with the given identity in the Active Servant Map.
virtual void deactivate()=0
Deactivate all endpoints that belong to this object adapter.
virtual FacetMap removeAllFacets(const Identity &id)=0
Remove all facets with the given identity from the Active Servant Map.
virtual ObjectPrx createProxy(const Identity &id) const =0
Create a proxy for the object with the given identity.
virtual void refreshPublishedEndpoints()=0
Refresh the set of published endpoints.
virtual ObjectPrx addWithUUID(const ObjectPtr &servant)=0
Add a servant to this object adapter's Active Servant Map, using an automatically generated UUID as i...
virtual void addServantLocator(const ServantLocatorPtr &locator, const ::std::string &category)=0
Add a Servant Locator to this object adapter.
virtual ObjectPrx createDirectProxy(const Identity &id) const =0
Create a direct proxy for the object with the given identity.
virtual void setPublishedEndpoints(const EndpointSeq &newEndpoints)=0
Set of the endpoints that proxies created by this object adapter will contain.
virtual ObjectPtr find(const Identity &id) const =0
Look up a servant in this object adapter's Active Servant Map by the identity of the Ice object it im...
virtual ObjectPtr findByProxy(const ObjectPrx &proxy) const =0
Look up a servant in this object adapter's Active Servant Map, given a proxy.
virtual ServantLocatorPtr removeServantLocator(const ::std::string &category)=0
Remove a Servant Locator from this object adapter.
virtual bool isDeactivated() const =0
Check whether object adapter has been deactivated.
virtual ObjectPtr findDefaultServant(const ::std::string &category) const =0
Find the default servant for a specific category.
Definition BuiltinSequences.h:113
IceInternal::Handle< Object > ObjectPtr
Definition ObjectF.h:21
::IceInternal::Handle< ServantLocator > ServantLocatorPtr
Definition ServantLocator.h:180
IceInternal::ProxyHandle< ::IceProxy::Ice::Object > ObjectPrx
Smart pointer for an object proxy.
Definition ProxyF.h:47
::std::map< ::std::string, ObjectPtr > FacetMap
A mapping from facet name to servant.
Definition FacetMap.h:73
::std::vector< EndpointPtr > EndpointSeq
A sequence of endpoints.
Definition EndpointF.h:152
::IceInternal::Handle< ObjectAdapter > ObjectAdapterPtr
Definition ObjectAdapter.h:620
::IceInternal::Handle< Communicator > CommunicatorPtr
Definition Communicator.h:608
IceUtil::Shared * upCast(::Ice::AsyncResult *)
::IceInternal::ProxyHandle< ::IceProxy::Ice::Locator > LocatorPrx
Definition Locator.h:1043
The identity of an Ice object.
Definition Identity.h:144