summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/LocatorInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/LocatorInfo.h')
-rw-r--r--cpp/src/Ice/LocatorInfo.h16
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;