diff options
Diffstat (limited to 'cpp/src/IceGrid/LocatorI.h')
-rw-r--r-- | cpp/src/IceGrid/LocatorI.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/LocatorI.h b/cpp/src/IceGrid/LocatorI.h index d18f13b1d1f..34fa57e6ec7 100644 --- a/cpp/src/IceGrid/LocatorI.h +++ b/cpp/src/IceGrid/LocatorI.h @@ -11,7 +11,7 @@ #define ICE_GRID_LOCATOR_I_H #include <IceGrid/Internal.h> -#include <Ice/Locator.h> +#include <IceGrid/Locator.h> namespace IceGrid { @@ -25,7 +25,7 @@ typedef IceUtil::Handle<LocatorI> LocatorIPtr; class TraceLevels; typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; -class LocatorI : public Ice::Locator, public IceUtil::Mutex +class LocatorI : public Locator, public IceUtil::Mutex { class Request : public IceUtil::Mutex, public IceUtil::Shared { @@ -58,7 +58,8 @@ class LocatorI : public Ice::Locator, public IceUtil::Mutex public: - LocatorI(const Ice::CommunicatorPtr&, const DatabasePtr&, const Ice::LocatorRegistryPrx&); + LocatorI(const Ice::CommunicatorPtr&, const DatabasePtr&, const Ice::LocatorRegistryPrx&, const RegistryPrx&, + const QueryPrx&); virtual void findObjectById_async(const Ice::AMD_Locator_findObjectByIdPtr&, const Ice::Identity&, const Ice::Current&) const; @@ -67,6 +68,8 @@ public: const Ice::Current&) const; virtual Ice::LocatorRegistryPrx getRegistry(const Ice::Current&) const; + virtual RegistryPrx getLocalRegistry(const Ice::Current&) const; + virtual QueryPrx getLocalQuery(const Ice::Current&) const; bool getDirectProxyRequest(const RequestPtr&, const AdapterPrx&); void getDirectProxyException(const AdapterPrx&, const std::string&, const Ice::Exception&); @@ -79,6 +82,8 @@ protected: const Ice::CommunicatorPtr _communicator; const DatabasePtr _database; const Ice::LocatorRegistryPrx _locatorRegistry; + const RegistryPrx _localRegistry; + const QueryPrx _localQuery; typedef std::vector<RequestPtr> PendingRequests; typedef std::map<Ice::Identity, PendingRequests> PendingRequestsMap; |