diff options
Diffstat (limited to 'cpp/src/Ice/LocatorInfo.h')
-rw-r--r-- | cpp/src/Ice/LocatorInfo.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h index 4811030d97c..f0a1032fa05 100644 --- a/cpp/src/Ice/LocatorInfo.h +++ b/cpp/src/Ice/LocatorInfo.h @@ -71,6 +71,15 @@ class LocatorInfo : public IceUtil::Shared, public IceUtil::Mutex { public: + class GetEndpointsCallback : virtual public IceUtil::Shared + { + public: + + virtual void setEndpoints(const std::vector<EndpointIPtr>&, bool) = 0; + virtual void setException(const Ice::LocalException&) = 0; + }; + typedef IceUtil::Handle<GetEndpointsCallback> GetEndpointsCallbackPtr; + LocatorInfo(const Ice::LocatorPrx&, const LocatorTablePtr&); void destroy(); @@ -83,6 +92,7 @@ public: Ice::LocatorRegistryPrx getLocatorRegistry(); std::vector<EndpointIPtr> getEndpoints(const IndirectReferencePtr&, int, bool&); + void getEndpoints(const IndirectReferencePtr&, int, const GetEndpointsCallbackPtr&); void clearCache(const IndirectReferencePtr&); void clearObjectCache(const IndirectReferencePtr&); @@ -90,6 +100,12 @@ private: void trace(const std::string&, const IndirectReferencePtr&, const std::vector<EndpointIPtr>&); + void getEndpointsException(const IndirectReferencePtr&, const Ice::Exception&); + void getWellKnownObjectEndpoints(const IndirectReferencePtr&, const Ice::ObjectPrx&, int, bool, + const GetEndpointsCallbackPtr&); + void getEndpointsException(const IndirectReferencePtr&, const Ice::Exception&, const GetEndpointsCallbackPtr&); + void getEndpointsTrace(const IndirectReferencePtr&, const std::vector<EndpointIPtr>&, bool); + const Ice::LocatorPrx _locator; Ice::LocatorRegistryPrx _locatorRegistry; const LocatorTablePtr _table; |