00001 // ------------------------------------------------------------------------ 00002 // Pion is a development platform for building Reactors that process Events 00003 // ------------------------------------------------------------------------ 00004 // Copyright (C) 2007-2008 Atomic Labs, Inc. (http://www.atomiclabs.com) 00005 // 00006 // Pion is free software: you can redistribute it and/or modify it under the 00007 // terms of the GNU Affero General Public License as published by the Free 00008 // Software Foundation, either version 3 of the License, or (at your option) 00009 // any later version. 00010 // 00011 // Pion is distributed in the hope that it will be useful, but WITHOUT ANY 00012 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00013 // FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for 00014 // more details. 00015 // 00016 // You should have received a copy of the GNU Affero General Public License 00017 // along with Pion. If not, see <http://www.gnu.org/licenses/>. 00018 // 00019 00020 #ifndef __PION_QUERYSERVICE_HEADER__ 00021 #define __PION_QUERYSERVICE_HEADER__ 00022 00023 #include <pion/PionConfig.hpp> 00024 #include <pion/PionException.hpp> 00025 #include "PlatformService.hpp" 00026 00027 00028 namespace pion { // begin namespace pion 00029 namespace plugins { // begin namespace plugins 00030 00034 class QueryService 00035 : public pion::server::PlatformService 00036 { 00037 public: 00038 00040 class UnknownQueryException : public PionException { 00041 public: 00042 UnknownQueryException() 00043 : PionException("QueryService - invalid query format") {} 00044 }; 00045 00046 00047 QueryService(void) : PlatformService("pion.QueryService") {} 00048 00050 virtual ~QueryService() {} 00051 00058 virtual void operator()(pion::net::HTTPRequestPtr& request, 00059 pion::net::TCPConnectionPtr& tcp_conn); 00060 00068 /* 00069 virtual void setConfig(pion::server::PlatformConfig& platform_cfg, 00070 const xmlNodePtr config_ptr); 00071 */ 00072 }; 00073 00074 } // end namespace plugins 00075 } // end namespace pion 00076 00077 #endif
1.4.7