X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_session_shared.hpp;h=39b46cec19b627c7b802ef64df7d5b6324fefbab;hb=586d78659d671683f33ec55f4a7d32b28e345ccd;hp=ce79af14c64dc01d101556c5aaa34dc6f09f6c10;hpb=f1de0d00348a888657fa7940421de0a62e0c1957;p=metaproxy-moved-to-github.git diff --git a/src/filter_session_shared.hpp b/src/filter_session_shared.hpp index ce79af1..39b46ce 100644 --- a/src/filter_session_shared.hpp +++ b/src/filter_session_shared.hpp @@ -1,38 +1,77 @@ -/* $Id: filter_session_shared.hpp,v 1.1 2005-11-14 23:35:22 adam Exp $ - Copyright (c) 2005, Index Data. +/* This file is part of Metaproxy. + Copyright (C) Index Data -%LICENSE% - */ +Metaproxy is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Metaproxy is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ #ifndef FILTER_SESSION_SHARED_HPP #define FILTER_SESSION_SHARED_HPP #include +#include +#include -#include "filter.hpp" +#include -namespace yp2 { +namespace metaproxy_1 { namespace filter { - class Session_shared : public Base { + class SessionShared : public Base { class Rep; class InitKey; - class List; + class BackendSet; + class FrontendSet; + class Worker; + + struct Frontend; + class BackendClass; + class BackendInstance; + typedef boost::shared_ptr FrontendPtr; + typedef boost::shared_ptr BackendClassPtr; + typedef boost::shared_ptr BackendInstancePtr; + typedef boost::shared_ptr BackendSetPtr; + typedef boost::shared_ptr FrontendSetPtr; + typedef std::list Databases; + + typedef std::list BackendInstanceList; + typedef std::map BackendClassMap; + typedef std::list BackendSetList; + typedef std::map FrontendSets; public: - ~Session_shared(); - Session_shared(); - void process(yp2::Package & package) const; + ~SessionShared(); + SessionShared(); + void process(metaproxy_1::Package & package) const; + void configure(const xmlNode * ptr, bool test_only, + const char *path); + void start() const; private: boost::scoped_ptr m_p; }; } } +extern "C" { + extern struct metaproxy_1_filter_struct metaproxy_1_filter_session_shared; +} + #endif /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil - * c-file-style: "stroustrup" * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +