
Hi All, I have the first prototype of the "Boost.Application" ready! I would like to receive comments so I can refine the library. Please send your feedback to re.tf@acm.org 0) Introduction A Boost.Application allows a developer run your application as a Windows service, as a Unix/Linux daemon, or as a usual interactive application (terminal) without the need to add extra code, the library abstract OS specific API and provide a ease common interface. In case of server application, developer need only compile your code on a Windows to have a ready to play Windows Service or in a UNIX/Linux to have Daemon. CTRL-C signals and SCM (Service Control Manager) controls handlers are available for terminating, pause/resume(windows) the application constructively and many other until methods are available in application class like a single instance running limitation! 1) Download: https://sourceforge.net/projects/boostapp/ 2) Installation: The library is one: Automatic linking You should unpack the files and copy: Boost.Application_pre_alpha_1\boost\application To: boost_1_48_0\boost and, Boost.Application_pre_alpha_1\libs\application To: boost_1_48_0\libs 3) Build Then you must build, for example (in windows): bjam toolset=msvc-9.0 variant=debug threading=multi link=shared define=_BIND_TO_CURRENT_VCLIBS_VERSION 4) Documentation The project has an incomplete documentation: Boost.Application_pre_alpha_1\libs\application\doc\html\index.html 5) Use however, the tutorial explains how to use the lib, and that generally goes like this: ---------------------------------------------------------------------------- -------------------- #include <boost/application/engine.hpp> class myapp : public boost::application::application { protected: int main(const std::vector<std::string>& args) { // your application logic here! while(1) { std::cout << "Hello Boost.Application!" << std::endl; // ... if(state() == boost::application::application_stoped) { break; } } return 0; } }; BOOST_APP(myapp, "MainTutorial1", "Boost.Application Main Tutorial 1!", boost::application::default_application_type, 1, 0, 1) ---------------------------------------------------------------------------- -------------------- The folder: Boost.Application_pre_alpha_1\libs\application\example\tutorial Has all tutorial files! I tested the lib on Windows VC9 (Windows Service) and Ubuntu 11 GCC 4 (Daemon)! 6) Questions: * Is there any interest in this library? * If Yes! What are the refinements? (see todo, for some) Please send your feedback to re.tf@acm.org Thanks to all Renato