Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2013-2015
3 : //
4 : // Copyright: See COPYING file that comes with this distribution
5 : //
6 :
7 : #pragma once
8 :
9 : #include <wfc/domain_object.hpp>
10 : #include <storage/storage.hpp>
11 : #include "demo_config.hpp"
12 : #include <demo/idemo.hpp>
13 : #include <hash/ihash.hpp>
14 : #include <memory>
15 : #include <string>
16 : #include <map>
17 :
18 : namespace demo{
19 :
20 1 : class storage_domain
21 : : public ::wfc::domain_object<istorage, storage_config>
22 : {
23 : typedef ::demo::hash::ihash ihash;
24 : public:
25 : virtual void initialize() override;
26 : virtual void set(request::set::ptr req, response::set::handler cb ) override;
27 : virtual void get(request::get::ptr req, response::get::handler cb ) override;
28 : virtual void multiget( request::multiget::ptr , response::multiget::handler ) override;
29 : virtual void get_hashed( request::get_hashed::ptr req, response::get_hashed::handler cb ) override;
30 : virtual void multiget_hashed( request::multiget_hashed::ptr , response::multiget_hashed::handler ) override;
31 : virtual void multiget_hashed2( request::multiget_hashed2::ptr , response::multiget_hashed2::handler ) override;
32 : private:
33 : std::shared_ptr<ihash> _hash;
34 : ::storage _storage;
35 : };
36 :
37 : }
|