/////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2008-2012 Artyom Beilis (Tonkikh) // // See accompanying file COPYING.TXT file for licensing details. // /////////////////////////////////////////////////////////////////////////////// #ifndef CPPCMS_SERVICE_IMPL_H #define CPPCMS_SERVICE_IMPL_H #include #include #include #include #include #include namespace cppcms { class service; class applications_pool; class application; class thread_pool; class session_pool; namespace plugin { class scope; } namespace impl { struct cached_settings; class prefork_acceptor; namespace cgi { class acceptor; } class service : public booster::noncopyable { public: service(); ~service(); booster::aio::io_service &get_io_service() { return *io_service_; } private: friend class cppcms::service; std::auto_ptr io_service_; std::vector > acceptors_; #ifndef CPPCMS_WIN32 std::auto_ptr prefork_acceptor_; #endif std::auto_ptr settings_; std::auto_ptr applications_pool_; std::auto_ptr thread_pool_; std::auto_ptr locale_generator_; std::auto_ptr views_pool_; std::auto_ptr cache_pool_; std::auto_ptr session_pool_; std::auto_ptr forwarder_; std::auto_ptr cached_settings_; std::locale default_locale_; std::vector > on_fork_; int id_; booster::aio::native_type notification_socket_; std::auto_ptr sig_,breaker_; std::vector args_; booster::hold_ptr plugins_; }; } } // cppcms #endif