Пример #1
0
IServerSPtr ServersManager::createServer(IConnectionSettingsBaseSPtr settings) {
  if (!settings) {
    NOTREACHED();
    return IServerSPtr();
  }

  connectionTypes conT = settings->type();
  IServer* server = nullptr;
#ifdef BUILD_WITH_REDIS
  if (conT == REDIS) {
    server = new redis::RedisServer(settings);
  }
#endif
#ifdef BUILD_WITH_MEMCACHED
  if (conT == MEMCACHED) {
    server = new memcached::MemcachedServer(settings);
  }
#endif
#ifdef BUILD_WITH_SSDB
  if (conT == SSDB) {
    server = new ssdb::SsdbServer(settings);
  }
#endif
#ifdef BUILD_WITH_LEVELDB
  if (conT == LEVELDB) {
    server = new leveldb::LeveldbServer(settings);
  }
#endif
#ifdef BUILD_WITH_ROCKSDB
  if (conT == ROCKSDB) {
    server = new rocksdb::RocksdbServer(settings);
  }
#endif
#ifdef BUILD_WITH_UNQLITE
  if (conT == UNQLITE) {
    server = new unqlite::UnqliteServer(settings);
  }
#endif
#ifdef BUILD_WITH_LMDB
  if (conT == LMDB) {
    server = new lmdb::LmdbServer(settings);
  }
#endif

  if (!server) {
    NOTREACHED();
    return IServerSPtr();
  }

  IServerSPtr sh(server);
  servers_.push_back(sh);
  return sh;
}
Пример #2
0
    IServerSPtr ICluster::root() const
    {
        if(nodes_.empty()){
            return IServerSPtr();
        }

        return nodes_[0];
    }
Пример #3
0
    IServerSPtr ExplorerKeyItem::server() const
    {
        ExplorerDatabaseItem* db = dynamic_cast<ExplorerDatabaseItem*>(parent_);
        if(!db){
            return IServerSPtr();
        }

        return db->server();
    }
Пример #4
0
    IServerSPtr ExplorerDatabaseItem::server() const
    {
        ExplorerServerItem* serv = dynamic_cast<ExplorerServerItem*>(parent_);
        if(!serv){
            return IServerSPtr();
        }

        return serv->server();
    }
Пример #5
0
 IServerSPtr ServersManager::findServerBySetting(const IConnectionSettingsBaseSPtr &settings) const
 {
     for(size_t i = 0; i < servers_.size(); ++i){
         IServerSPtr drp = servers_[i];
         IDriverSPtr curDr = drp->driver();
         if(curDr->settings() == settings){
             return drp;
         }
     }
     return IServerSPtr();
 }