Line data Source code
1 : //
2 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2013-2018
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 <wfc/statistics/istatistics.hpp>
11 : #include "statlog_config.hpp"
12 : #include <string>
13 : #include <memory>
14 :
15 : namespace wfc{ namespace core{
16 :
17 : using namespace ::wfc::statistics;
18 :
19 0 : class statlog_domain
20 : : public domain_object<istatistics, statlog_config>
21 : {
22 : public:
23 : virtual void initialize() override;
24 : virtual void push( request::push::ptr req, response::push::handler cb ) override;
25 : virtual void del( request::del::ptr req, response::del::handler cb ) override;
26 : private:
27 : typedef std::mutex mutex_type;
28 : std::weak_ptr<istatistics> _target;
29 : mutex_type _mutex;
30 : int _id_counter = 0;
31 : std::map< std::string, int > _legend;
32 :
33 : };
34 :
35 : }}
|