1 /* 2 * 3 * Copyright (c) 2003 Dr John Maddock 4 * Use, modification and distribution is subject to the 5 * Boost Software License, Version 1.0. (See accompanying file 6 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 * 8 */ 9 10 #include <boost/shared_ptr.hpp> 11 12 #if defined(BOOST_FILESYSTEM_VERSION) && (BOOST_FILESYSTEM_VERSION != 3) 13 # error "This library must be built with Boost.Filesystem version 3" 14 #else 15 #define BOOST_FILESYSTEM_VERSION 3 16 #endif 17 18 class bcp_application; 19 typedef boost::shared_ptr<bcp_application> pbcp_application; 20 21 class bcp_application 22 { 23 public: 24 virtual ~bcp_application(); 25 26 virtual void enable_list_mode() = 0; 27 virtual void enable_summary_list_mode() = 0; 28 virtual void enable_cvs_mode() = 0; 29 virtual void enable_svn_mode() = 0; 30 virtual void enable_unix_lines() = 0; 31 virtual void enable_scan_mode() = 0; 32 virtual void enable_license_mode() = 0; 33 virtual void enable_bsl_convert_mode() = 0; 34 virtual void enable_bsl_summary_mode() = 0; 35 virtual void set_boost_path(const char* p) = 0; 36 virtual void set_destination(const char* p) = 0; 37 virtual void add_module(const char* p) = 0; 38 virtual void set_namespace(const char* name) = 0; 39 virtual void set_namespace_alias(bool) = 0; 40 virtual void set_namespace_list(bool) = 0; 41 42 virtual int run() = 0; 43 44 static pbcp_application create(); 45 }; 46 47 48