// ********************************************************************** // // Copyright (c) 2003-2012 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** #ifndef DATABASE_CACHE_H #define DATABASE_CACHE_H #include #include #include namespace IceGrid { class ApplicationsWrapper : public virtual IceDB::Wrapper { }; typedef IceUtil::Handle ApplicationsWrapperPtr; class AdaptersWrapper : public virtual IceDB::Wrapper { public: virtual std::vector findByReplicaGroupId(const std::string&) = 0; }; typedef IceUtil::Handle AdaptersWrapperPtr; class ObjectsWrapper : public virtual IceDB::Wrapper { public: virtual std::vector findByType(const std::string&) = 0; }; typedef IceUtil::Handle ObjectsWrapperPtr; class ConnectionPool : public virtual IceDB::ConnectionPool { public: virtual ApplicationsWrapperPtr getApplications(const IceDB::DatabaseConnectionPtr&) = 0; virtual AdaptersWrapperPtr getAdapters(const IceDB::DatabaseConnectionPtr&) = 0; virtual ObjectsWrapperPtr getObjects(const IceDB::DatabaseConnectionPtr&) = 0; virtual ObjectsWrapperPtr getInternalObjects(const IceDB::DatabaseConnectionPtr&) = 0; }; typedef IceUtil::Handle ConnectionPoolPtr; class DatabasePlugin : virtual public Ice::Plugin { public: virtual ConnectionPoolPtr getConnectionPool() = 0; }; typedef IceUtil::Handle DatabasePluginPtr; } #endif