summaryrefslogtreecommitdiffstats
blob: ea2b4d0f7dc1d62f930b5d6a86b69860ecc0aeae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
 *
 * Copyright (c) 2003 Dr John Maddock
 * Use, modification and distribution is subject to the 
 * Boost Software License, Version 1.0. (See accompanying file 
 * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 *
 */

#include <boost/shared_ptr.hpp>

class bcp_application;
typedef boost::shared_ptr<bcp_application> pbcp_application;

class bcp_application
{
public:
   virtual ~bcp_application();

   virtual void enable_list_mode() = 0;
   virtual void enable_summary_list_mode() = 0;
   virtual void enable_cvs_mode() = 0;
   virtual void enable_svn_mode() = 0;
   virtual void enable_unix_lines() = 0;
   virtual void enable_scan_mode() = 0;
   virtual void enable_license_mode() = 0;
   virtual void enable_bsl_convert_mode() = 0;
   virtual void enable_bsl_summary_mode() = 0;
   virtual void set_boost_path(const char* p) = 0;
   virtual void set_destination(const char* p) = 0;
   virtual void add_module(const char* p) = 0;
   virtual void set_namespace(const char* name) = 0;
   virtual void set_namespace_alias(bool) = 0;
   virtual void set_namespace_list(bool) = 0;

   virtual int run() = 0;

   static pbcp_application create();
};