summaryrefslogtreecommitdiff
path: root/icetray/dryice/mockPool.cpp
blob: e2ef1e9c13bb4bac49de6d5fc19b96b9b05676ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "mockPool.h"
#include <Ice/PropertiesF.h>
#include <connectionPool.h>
#include <connection_fwd.h>
#include <factory.impl.h>
#include <icetrayService.h>
#include <memory>
#include <mockDatabase.h>
#include <utility>

namespace IceTray {
	MockPool::MockPool(const std::string & name, const std::string &, const Ice::PropertiesPtr & p) :
		MockPool(name, static_cast<unsigned int>(p->getPropertyAsIntWithDefault(name + ".Database.PoolMax", 10)),
				static_cast<unsigned int>(p->getPropertyAsIntWithDefault(name + ".Database.PoolKeep", 2)))
	{
	}

	MockPool::MockPool(std::string name, unsigned int size, unsigned int keep) :
		DB::BasicConnectionPool(size, keep), name(std::move(name))
	{
	}

	DB::ConnectionPtr
	MockPool::createResource() const
	{
		return DB::MockDatabase::openConnectionTo(name);
	}

	FACTORY(MockPool, PoolProvider)
}