metaproxy 1.22.1
filter_session_shared.hpp
Go to the documentation of this file.
1/* This file is part of Metaproxy.
2 Copyright (C) Index Data
3
4Metaproxy is free software; you can redistribute it and/or modify it under
5the terms of the GNU General Public License as published by the Free
6Software Foundation; either version 2, or (at your option) any later
7version.
8
9Metaproxy is distributed in the hope that it will be useful, but WITHOUT ANY
10WARRANTY; without even the implied warranty of MERCHANTABILITY or
11FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program; if not, write to the Free Software
16Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17*/
18
19#ifndef FILTER_SESSION_SHARED_HPP
20#define FILTER_SESSION_SHARED_HPP
21
22#include <boost/scoped_ptr.hpp>
23#include <list>
24#include <map>
25
26#include <metaproxy/filter.hpp>
27
28namespace metaproxy_1 {
29 namespace filter {
30 class SessionShared : public Base {
31 class Rep;
32 class InitKey;
33 class BackendSet;
34 class FrontendSet;
35 class Worker;
36
37 struct Frontend;
38 class BackendClass;
39 class BackendInstance;
40 typedef boost::shared_ptr<Frontend> FrontendPtr;
41 typedef boost::shared_ptr<BackendClass> BackendClassPtr;
42 typedef boost::shared_ptr<BackendInstance> BackendInstancePtr;
43 typedef boost::shared_ptr<BackendSet> BackendSetPtr;
44 typedef boost::shared_ptr<FrontendSet> FrontendSetPtr;
45 typedef std::list<std::string> Databases;
46
47 typedef std::list<BackendInstancePtr> BackendInstanceList;
48 typedef std::map<InitKey, BackendClassPtr> BackendClassMap;
49 typedef std::list<BackendSetPtr> BackendSetList;
50 typedef std::map<std::string, FrontendSetPtr> FrontendSets;
51 public:
54 void process(metaproxy_1::Package & package) const;
55 void configure(const xmlNode * ptr, bool test_only,
56 const char *path);
57 void start() const;
58 private:
59 boost::scoped_ptr<Rep> m_p;
60 };
61 }
62}
63
64extern "C" {
65 extern struct metaproxy_1_filter_struct metaproxy_1_filter_session_shared;
66}
67
68#endif
69/*
70 * Local variables:
71 * c-basic-offset: 4
72 * c-file-style: "Stroustrup"
73 * indent-tabs-mode: nil
74 * End:
75 * vim: shiftwidth=4 tabstop=8 expandtab
76 */
77
std::list< BackendSetPtr > BackendSetList
boost::shared_ptr< BackendInstance > BackendInstancePtr
void process(metaproxy_1::Package &package) const
boost::shared_ptr< BackendSet > BackendSetPtr
boost::shared_ptr< BackendClass > BackendClassPtr
void configure(const xmlNode *ptr, bool test_only, const char *path)
std::list< BackendInstancePtr > BackendInstanceList
std::map< InitKey, BackendClassPtr > BackendClassMap
boost::shared_ptr< FrontendSet > FrontendSetPtr
boost::shared_ptr< Frontend > FrontendPtr
std::map< std::string, FrontendSetPtr > FrontendSets
struct metaproxy_1_filter_struct metaproxy_1_filter_session_shared