X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fpackage.hpp;h=639c402a7387f02cd6a526f7dd6c1c94e0f27bb3;hb=257a3c37424e710cfe2bae8555b33e58c7d04d63;hp=b00ebeb197d0c3f5aed532053252a7ab5f737ce4;hpb=48cfd383e1e94fa9d34d8a783b7c0137ae598a9d;p=metaproxy-moved-to-github.git diff --git a/src/package.hpp b/src/package.hpp index b00ebeb..639c402 100644 --- a/src/package.hpp +++ b/src/package.hpp @@ -1,50 +1,44 @@ -/* $Id: package.hpp,v 1.23 2006-09-14 19:53:57 marc Exp $ - Copyright (c) 2005-2006, Index Data. +/* This file is part of Metaproxy. + Copyright (C) 2005-2008 Index Data - See the LICENSE file for details - */ +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 YP2_PACKAGE_HPP #define YP2_PACKAGE_HPP #include -#include + #include #include "router.hpp" #include "filter.hpp" #include "session.hpp" +#include "origin.hpp" -namespace metaproxy_1 -{ - class Origin; +namespace metaproxy_1 { class Package; } namespace std { - std::ostream& operator<<(std::ostream& os, metaproxy_1::Origin& o); std::ostream& operator<<(std::ostream& os, metaproxy_1::Package& p); } namespace metaproxy_1 { - - class Origin { - friend std::ostream& - std::operator<<(std::ostream& os, metaproxy_1::Origin& o); - - enum origin_t { - API, - UNIX, - TCPIP - } type; - std::string address; // UNIX+TCPIP - unsigned long origin_id; - public: - Origin(); - void set_tcpip_address(std::string addr, unsigned long id); - }; class Package { public: @@ -55,6 +49,7 @@ namespace metaproxy_1 { Package(metaproxy_1::Session &session, const metaproxy_1::Origin &origin); + /// shallow copy constructor which only copies the filter chain info Package & copy_filter(const Package &p); /// send Package to it's next Filter defined in Router @@ -75,6 +70,7 @@ namespace metaproxy_1 { /// set function - can be chained Package & origin(const Origin & origin); + /// set function - can be chained Package & router(const Router &router); yazpp_1::GDU &request();