36
30
<a name="l00011"></a>00011 <span class="comment"> * General Public License for more details.</span>
37
31
<a name="l00012"></a>00012 <span class="comment"> *</span>
38
32
<a name="l00013"></a>00013 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
39
<a name="l00014"></a>00014 <span class="comment"> * along with this program; if not, write to the Free Software</span>
40
<a name="l00015"></a>00015 <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston,</span>
41
<a name="l00016"></a>00016 <span class="comment"> * MA 02111-1307 USA</span>
42
<a name="l00017"></a>00017 <span class="comment"> *</span>
43
<a name="l00018"></a>00018 <span class="comment"> *********************************************************************/</span>
44
<a name="l00019"></a>00019
45
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef SCHROOT_BASE_MAIN_H</span>
46
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define SCHROOT_BASE_MAIN_H</span>
47
<a name="l00022"></a>00022 <span class="preprocessor"></span>
48
<a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="schroot-base-options_8h.html">schroot-base/schroot-base-options.h</a>></span>
49
<a name="l00024"></a>00024
50
<a name="l00025"></a>00025 <span class="preprocessor">#include <string></span>
51
<a name="l00026"></a>00026
52
<a name="l00027"></a><a class="code" href="namespaceschroot__base.html">00027</a> <span class="keyword">namespace </span>schroot_base
53
<a name="l00028"></a>00028 {
54
<a name="l00029"></a>00029
55
<a name="l00035"></a><a class="code" href="classschroot__base_1_1main.html">00035</a> <span class="keyword">class </span><a class="code" href="classschroot__base_1_1main.html" title="Frontend base for schroot programs.">main</a>
56
<a name="l00036"></a>00036 {
57
<a name="l00037"></a>00037 <span class="keyword">public</span>:
58
<a name="l00047"></a>00047 <a class="code" href="classschroot__base_1_1main.html#eceeb5beb43967c3cf504f3646887c8f" title="The constructor.">main</a> (std::string <span class="keyword">const</span>& <a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b" title="The name of the program.">program_name</a>,
59
<a name="l00048"></a>00048 std::string <span class="keyword">const</span>& <a class="code" href="classschroot__base_1_1main.html#a6c3a9a050dc1f525d289bbe7d63534b" title="The usage text of the program.">program_usage</a>,
60
<a name="l00049"></a>00049 <a class="code" href="classschroot__base_1_1options.html#dc924f174843847465aeb6a0b8680400" title="A shared_ptr to an options object.">options::ptr</a> <span class="keyword">const</span>& <a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995" title="The program options.">program_options</a>,
61
<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="classschroot__base_1_1main.html#660cc63f705d9491745cb8d396f5c17c" title="Use syslog for message logging>.">use_syslog</a>);
62
<a name="l00051"></a>00051
63
<a name="l00053"></a>00053 <span class="keyword">virtual</span> <a class="code" href="classschroot__base_1_1main.html#4444e261c1a635e1aab12e00e5b95f5a" title="The destructor.">~main</a> ();
64
<a name="l00054"></a>00054
65
<a name="l00063"></a>00063 <span class="keywordtype">int</span>
66
<a name="l00064"></a>00064 <a class="code" href="classschroot__base_1_1main.html#aea33f1f3d50f732d8ec6b0a09860ee7" title="Run the program.">run</a> (<span class="keywordtype">int</span> argc,
67
<a name="l00065"></a>00065 <span class="keywordtype">char</span> *argv[]);
68
<a name="l00066"></a>00066
69
<a name="l00072"></a>00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span>
70
<a name="l00073"></a>00073 <a class="code" href="classschroot__base_1_1main.html#4c246d8a2cedf030e094ffdee5a38553" title="Print help information.">action_help</a> (std::ostream& stream);
71
<a name="l00074"></a>00074
72
<a name="l00080"></a>00080 <span class="keyword">virtual</span> <span class="keywordtype">void</span>
73
<a name="l00081"></a>00081 <a class="code" href="classschroot__base_1_1main.html#cd9c1d4d7c52a423eb929a4bb6f644e0" title="Print version information.">action_version</a> (std::ostream& stream);
74
<a name="l00082"></a>00082
75
<a name="l00083"></a>00083 <span class="keyword">protected</span>:
76
<a name="l00091"></a>00091 <span class="keyword">virtual</span> <span class="keywordtype">int</span>
77
<a name="l00092"></a>00092 <a class="code" href="classschroot__base_1_1main.html#e252e6014964a24c7290b9c0378c1310" title="Run the program.">run_impl</a> () = 0;
78
<a name="l00093"></a>00093
79
<a name="l00095"></a><a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b">00095</a> std::string program_name;
80
<a name="l00097"></a><a class="code" href="classschroot__base_1_1main.html#a6c3a9a050dc1f525d289bbe7d63534b">00097</a> std::string program_usage;
81
<a name="l00099"></a><a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995">00099</a> <a class="code" href="classschroot__base_1_1options.html#dc924f174843847465aeb6a0b8680400" title="A shared_ptr to an options object.">options::ptr</a> program_options;
82
<a name="l00101"></a><a class="code" href="classschroot__base_1_1main.html#660cc63f705d9491745cb8d396f5c17c">00101</a> <span class="keywordtype">bool</span> use_syslog;
83
<a name="l00102"></a>00102 };
84
<a name="l00103"></a>00103
85
<a name="l00104"></a>00104 }
86
<a name="l00105"></a>00105
87
<a name="l00106"></a>00106 <span class="preprocessor">#endif </span><span class="comment">/* SCHROOT_BASE_MAIN_H */</span>
88
<a name="l00107"></a>00107
89
<a name="l00108"></a>00108 <span class="comment">/*</span>
90
<a name="l00109"></a>00109 <span class="comment"> * Local Variables:</span>
91
<a name="l00110"></a>00110 <span class="comment"> * mode:C++</span>
92
<a name="l00111"></a>00111 <span class="comment"> * End:</span>
93
<a name="l00112"></a>00112 <span class="comment"> */</span>
94
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Sun Jul 8 21:23:55 2007 for schroot by
33
<a name="l00014"></a>00014 <span class="comment"> * along with this program. If not, see</span>
34
<a name="l00015"></a>00015 <span class="comment"> * <http://www.gnu.org/licenses/>.</span>
35
<a name="l00016"></a>00016 <span class="comment"> *</span>
36
<a name="l00017"></a>00017 <span class="comment"> *********************************************************************/</span>
37
<a name="l00018"></a>00018
38
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef SCHROOT_BASE_MAIN_H</span>
39
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define SCHROOT_BASE_MAIN_H</span>
40
<a name="l00021"></a>00021 <span class="preprocessor"></span>
41
<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="code" href="schroot-base-options_8h.html">schroot-base/schroot-base-options.h</a>></span>
42
<a name="l00023"></a>00023
43
<a name="l00024"></a>00024 <span class="preprocessor">#include <string></span>
44
<a name="l00025"></a>00025
45
<a name="l00026"></a><a class="code" href="namespaceschroot__base.html">00026</a> <span class="keyword">namespace </span>schroot_base
46
<a name="l00027"></a>00027 {
47
<a name="l00028"></a>00028
48
<a name="l00034"></a><a class="code" href="classschroot__base_1_1main.html">00034</a> <span class="keyword">class </span><a class="code" href="classschroot__base_1_1main.html" title="Frontend base for schroot programs.">main</a>
49
<a name="l00035"></a>00035 {
50
<a name="l00036"></a>00036 <span class="keyword">public</span>:
51
<a name="l00046"></a>00046 <a class="code" href="classschroot__base_1_1main.html#eceeb5beb43967c3cf504f3646887c8f" title="The constructor.">main</a> (std::string <span class="keyword">const</span>& <a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b" title="The name of the program.">program_name</a>,
52
<a name="l00047"></a>00047 std::string <span class="keyword">const</span>& <a class="code" href="classschroot__base_1_1main.html#a6c3a9a050dc1f525d289bbe7d63534b" title="The usage text of the program.">program_usage</a>,
53
<a name="l00048"></a>00048 <a class="code" href="classschroot__base_1_1options.html#dc924f174843847465aeb6a0b8680400" title="A shared_ptr to an options object.">options::ptr</a> <span class="keyword">const</span>& <a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995" title="The program options.">program_options</a>,
54
<a name="l00049"></a>00049 <span class="keywordtype">bool</span> <a class="code" href="classschroot__base_1_1main.html#660cc63f705d9491745cb8d396f5c17c" title="Use syslog for message logging&gt;.">use_syslog</a>);
55
<a name="l00050"></a>00050
56
<a name="l00052"></a>00052 <span class="keyword">virtual</span> <a class="code" href="classschroot__base_1_1main.html#4444e261c1a635e1aab12e00e5b95f5a" title="The destructor.">~main</a> ();
57
<a name="l00053"></a>00053
58
<a name="l00062"></a>00062 <span class="keywordtype">int</span>
59
<a name="l00063"></a>00063 <a class="code" href="classschroot__base_1_1main.html#aea33f1f3d50f732d8ec6b0a09860ee7" title="Run the program.">run</a> (<span class="keywordtype">int</span> argc,
60
<a name="l00064"></a>00064 <span class="keywordtype">char</span> *argv[]);
61
<a name="l00065"></a>00065
62
<a name="l00071"></a>00071 <span class="keyword">virtual</span> <span class="keywordtype">void</span>
63
<a name="l00072"></a>00072 <a class="code" href="classschroot__base_1_1main.html#4c246d8a2cedf030e094ffdee5a38553" title="Print help information.">action_help</a> (std::ostream& stream);
64
<a name="l00073"></a>00073
65
<a name="l00079"></a>00079 <span class="keyword">virtual</span> <span class="keywordtype">void</span>
66
<a name="l00080"></a>00080 <a class="code" href="classschroot__base_1_1main.html#cd9c1d4d7c52a423eb929a4bb6f644e0" title="Print version information.">action_version</a> (std::ostream& stream);
67
<a name="l00081"></a>00081
68
<a name="l00082"></a>00082 <span class="keyword">protected</span>:
69
<a name="l00090"></a>00090 <span class="keyword">virtual</span> <span class="keywordtype">int</span>
70
<a name="l00091"></a>00091 <a class="code" href="classschroot__base_1_1main.html#e252e6014964a24c7290b9c0378c1310" title="Run the program.">run_impl</a> () = 0;
71
<a name="l00092"></a>00092
72
<a name="l00094"></a><a class="code" href="classschroot__base_1_1main.html#3d6be1d425f4d74cfced7ca5b6b6f79b">00094</a> std::string program_name;
73
<a name="l00096"></a><a class="code" href="classschroot__base_1_1main.html#a6c3a9a050dc1f525d289bbe7d63534b">00096</a> std::string program_usage;
74
<a name="l00098"></a><a class="code" href="classschroot__base_1_1main.html#5330208887270dab650b4400a8fb0995">00098</a> <a class="code" href="classschroot__base_1_1options.html#dc924f174843847465aeb6a0b8680400" title="A shared_ptr to an options object.">options::ptr</a> program_options;
75
<a name="l00100"></a><a class="code" href="classschroot__base_1_1main.html#660cc63f705d9491745cb8d396f5c17c">00100</a> <span class="keywordtype">bool</span> use_syslog;
76
<a name="l00101"></a>00101 };
77
<a name="l00102"></a>00102
78
<a name="l00103"></a>00103 }
79
<a name="l00104"></a>00104
80
<a name="l00105"></a>00105 <span class="preprocessor">#endif </span><span class="comment">/* SCHROOT_BASE_MAIN_H */</span>
81
<a name="l00106"></a>00106
82
<a name="l00107"></a>00107 <span class="comment">/*</span>
83
<a name="l00108"></a>00108 <span class="comment"> * Local Variables:</span>
84
<a name="l00109"></a>00109 <span class="comment"> * mode:C++</span>
85
<a name="l00110"></a>00110 <span class="comment"> * End:</span>
86
<a name="l00111"></a>00111 <span class="comment"> */</span>
87
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Jan 21 00:38:28 2008 for schroot by
95
88
<a href="http://www.doxygen.org/index.html">
96
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
89
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>