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">#include <config.h></span>
46
<a name="l00021"></a>00021
47
<a name="l00022"></a>00022 <span class="preprocessor">#include <<a class="codeRef" doxygen="sbuild.tag:/tmp/sr/schroot-1.1.5/doc/sbuild/html/" href="/tmp/sr/schroot-1.1.5/doc/sbuild/html/sbuild-i18n_8h.html">sbuild/sbuild-i18n.h</a>></span>
48
<a name="l00023"></a>00023
49
<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="schroot-releaselock-options_8h.html">schroot-releaselock-options.h</a>"</span>
50
<a name="l00025"></a>00025
51
<a name="l00026"></a>00026 <span class="preprocessor">#include <cstdlib></span>
52
<a name="l00027"></a>00027 <span class="preprocessor">#include <iostream></span>
53
<a name="l00028"></a>00028
54
<a name="l00029"></a>00029 <span class="preprocessor">#include <boost/format.hpp></span>
55
<a name="l00030"></a>00030 <span class="preprocessor">#include <boost/program_options.hpp></span>
56
<a name="l00031"></a>00031
57
<a name="l00032"></a>00032 <span class="keyword">using</span> std::endl;
58
<a name="l00033"></a>00033 <span class="keyword">using</span> boost::format;
59
<a name="l00034"></a>00034 <span class="keyword">using</span> sbuild::_;
60
<a name="l00035"></a>00035 <span class="keyword">namespace </span>opt = boost::program_options;
61
<a name="l00036"></a>00036 <span class="keyword">using namespace </span>schroot_releaselock;
62
<a name="l00037"></a>00037
63
<a name="l00038"></a>00038 <span class="keyword">const</span> options::action_type options::ACTION_RELEASELOCK (<span class="stringliteral">"releaselock"</span>);
64
<a name="l00039"></a>00039
65
<a name="l00040"></a><a class="code" href="classschroot__releaselock_1_1options.html#41a256b4ba3b2d68a2d72b9245aa0c4d">00040</a> options::options ():
66
<a name="l00041"></a>00041 schroot_base::<a class="code" href="classschroot__releaselock_1_1options.html" title="schroot-releaselock command-line options.">options</a>(),
67
<a name="l00042"></a>00042 device(),
68
<a name="l00043"></a>00043 pid(0),
69
<a name="l00044"></a>00044 lock(_(<span class="stringliteral">"Lock"</span>))
70
<a name="l00045"></a>00045 {
71
<a name="l00046"></a>00046 }
72
<a name="l00047"></a>00047
73
<a name="l00048"></a><a class="code" href="classschroot__releaselock_1_1options.html#eb360f60766b8cff26c8ec46c1bc78ca">00048</a> <a class="code" href="classschroot__releaselock_1_1options.html#eb360f60766b8cff26c8ec46c1bc78ca" title="The destructor.">options::~options</a> ()
74
<a name="l00049"></a>00049 {
75
<a name="l00050"></a>00050 }
76
<a name="l00051"></a>00051
77
<a name="l00052"></a>00052 <span class="keywordtype">void</span>
78
<a name="l00053"></a><a class="code" href="classschroot__releaselock_1_1options.html#9552a1fefc227463e48e29f4dae89986">00053</a> <a class="code" href="classschroot__releaselock_1_1options.html#9552a1fefc227463e48e29f4dae89986" title="Add options to option groups.">options::add_options</a> ()
79
<a name="l00054"></a>00054 {
80
<a name="l00055"></a>00055 <span class="comment">// Chain up to add basic options.</span>
81
<a name="l00056"></a>00056 <a class="code" href="classschroot__base_1_1options.html#9552a1fefc227463e48e29f4dae89986" title="Add options to option groups.">schroot_base::options::add_options</a>();
82
<a name="l00057"></a>00057
83
<a name="l00058"></a>00058 <a class="code" href="classschroot__base_1_1options.html#5b359a5e43243a64dff27968219735ad" title="Action list.">action</a>.add(<a class="code" href="classschroot__releaselock_1_1options.html#4f5e104726f695afcdb2c84d3d747be0" title="Begin, run and end a session.">ACTION_RELEASELOCK</a>);
84
<a name="l00059"></a>00059 <a class="code" href="classschroot__base_1_1options.html#5b359a5e43243a64dff27968219735ad" title="Action list.">action</a>.set_default(<a class="code" href="classschroot__releaselock_1_1options.html#4f5e104726f695afcdb2c84d3d747be0" title="Begin, run and end a session.">ACTION_RELEASELOCK</a>);
85
<a name="l00060"></a>00060
86
<a name="l00061"></a>00061 <a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>.add_options()
87
<a name="l00062"></a>00062 (<span class="stringliteral">"device,d"</span>, opt::value<std::string>(&this-><a class="code" href="classschroot__releaselock_1_1options.html#5ff51f1b2c21a8c38d690f772689e799" title="The device to unlock.">device</a>),
88
<a name="l00063"></a>00063 _(<span class="stringliteral">"Device to unlock (full path)"</span>))
89
<a name="l00064"></a>00064 (<span class="stringliteral">"pid,p"</span>, opt::value<int>(&this->pid),
90
<a name="l00065"></a>00065 _(<span class="stringliteral">"Process ID owning the lock"</span>));
91
<a name="l00066"></a>00066 }
92
<a name="l00067"></a>00067
93
<a name="l00068"></a>00068 <span class="keywordtype">void</span>
94
<a name="l00069"></a><a class="code" href="classschroot__releaselock_1_1options.html#2b423dd600612e9e574674631ecb0fa9">00069</a> <a class="code" href="classschroot__releaselock_1_1options.html#2b423dd600612e9e574674631ecb0fa9" title="Add option groups to container groups.">options::add_option_groups</a> ()
95
<a name="l00070"></a>00070 {
96
<a name="l00071"></a>00071 <span class="comment">// Chain up to add basic option groups.</span>
97
<a name="l00072"></a>00072 <a class="code" href="classschroot__base_1_1options.html#2b423dd600612e9e574674631ecb0fa9" title="Add option groups to container groups.">schroot_base::options::add_option_groups</a>();
98
<a name="l00073"></a>00073
99
<a name="l00074"></a>00074 <span class="preprocessor">#ifndef BOOST_PROGRAM_OPTIONS_DESCRIPTION_OLD</span>
100
<a name="l00075"></a>00075 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!<a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>.options().empty())
101
<a name="l00076"></a>00076 #<span class="keywordflow">else</span>
102
<a name="l00077"></a>00077 <span class="keywordflow">if</span> (!<a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>.primary_keys().empty())
103
<a name="l00078"></a>00078 #endif
104
<a name="l00079"></a>00079 {
105
<a name="l00080"></a>00080 <a class="code" href="classschroot__base_1_1options.html#636feb2ab760a968b53755c3bbe86a0c" title="Visible options container (used for --help).">visible</a>.add(<a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>);
106
<a name="l00081"></a>00081 <a class="code" href="classschroot__base_1_1options.html#294ade49fac4aa6776cf3cb527d7d6b8" title="Global options container (used for parsing).">global</a>.add(lock);
107
<a name="l00082"></a>00082 }
108
<a name="l00083"></a>00083 }
109
<a name="l00084"></a>00084
110
<a name="l00085"></a>00085 <span class="keywordtype">void</span>
111
<a name="l00086"></a><a class="code" href="classschroot__releaselock_1_1options.html#f4d23a59c343dd177d1041557c8f5f25">00086</a> <a class="code" href="classschroot__releaselock_1_1options.html#f4d23a59c343dd177d1041557c8f5f25" title="Check options after parsing.">options::check_options</a> ()
112
<a name="l00087"></a>00087 {
113
<a name="l00088"></a>00088 <span class="comment">// Chain up to check basic options.</span>
114
<a name="l00089"></a>00089 <a class="code" href="classschroot__base_1_1options.html#f4d23a59c343dd177d1041557c8f5f25" title="Check options after parsing.">schroot_base::options::check_options</a>();
115
<a name="l00090"></a>00090
116
<a name="l00091"></a>00091 <span class="keywordflow">if</span> (this->action == <a class="code" href="classschroot__releaselock_1_1options.html#4f5e104726f695afcdb2c84d3d747be0" title="Begin, run and end a session.">ACTION_RELEASELOCK</a> &&
117
<a name="l00092"></a>00092 this->device.empty())
118
<a name="l00093"></a>00093 <span class="keywordflow">throw</span> opt::validation_error(_(<span class="stringliteral">"No device specified"</span>));
119
<a name="l00094"></a>00094 }
120
</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">#include <config.h></span>
39
<a name="l00020"></a>00020
40
<a name="l00021"></a>00021 <span class="preprocessor">#include <<a class="codeRef" doxygen="sbuild.tag:/tmp/sb/schroot/doc/sbuild/html/" href="/tmp/sb/schroot/doc/sbuild/html/sbuild-i18n_8h.html">sbuild/sbuild-i18n.h</a>></span>
41
<a name="l00022"></a>00022
42
<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="schroot-releaselock-options_8h.html">schroot-releaselock-options.h</a>"</span>
43
<a name="l00024"></a>00024
44
<a name="l00025"></a>00025 <span class="preprocessor">#include <cstdlib></span>
45
<a name="l00026"></a>00026 <span class="preprocessor">#include <iostream></span>
46
<a name="l00027"></a>00027
47
<a name="l00028"></a>00028 <span class="preprocessor">#include <boost/format.hpp></span>
48
<a name="l00029"></a>00029 <span class="preprocessor">#include <boost/program_options.hpp></span>
49
<a name="l00030"></a>00030
50
<a name="l00031"></a>00031 <span class="keyword">using</span> std::endl;
51
<a name="l00032"></a>00032 <span class="keyword">using</span> boost::format;
52
<a name="l00033"></a>00033 <span class="keyword">using</span> sbuild::_;
53
<a name="l00034"></a>00034 <span class="keyword">namespace </span>opt = boost::program_options;
54
<a name="l00035"></a>00035 <span class="keyword">using namespace </span>schroot_releaselock;
55
<a name="l00036"></a>00036
56
<a name="l00037"></a>00037 <span class="keyword">const</span> options::action_type options::ACTION_RELEASELOCK (<span class="stringliteral">"releaselock"</span>);
57
<a name="l00038"></a>00038
58
<a name="l00039"></a><a class="code" href="classschroot__releaselock_1_1options.html#41a256b4ba3b2d68a2d72b9245aa0c4d">00039</a> options::options ():
59
<a name="l00040"></a>00040 schroot_base::<a class="code" href="classschroot__releaselock_1_1options.html" title="schroot-releaselock command-line options.">options</a>(),
60
<a name="l00041"></a>00041 device(),
61
<a name="l00042"></a>00042 pid(0),
62
<a name="l00043"></a>00043 lock(_(<span class="stringliteral">"Lock"</span>))
63
<a name="l00044"></a>00044 {
64
<a name="l00045"></a>00045 }
65
<a name="l00046"></a>00046
66
<a name="l00047"></a><a class="code" href="classschroot__releaselock_1_1options.html#eb360f60766b8cff26c8ec46c1bc78ca">00047</a> <a class="code" href="classschroot__releaselock_1_1options.html#eb360f60766b8cff26c8ec46c1bc78ca" title="The destructor.">options::~options</a> ()
67
<a name="l00048"></a>00048 {
68
<a name="l00049"></a>00049 }
69
<a name="l00050"></a>00050
70
<a name="l00051"></a>00051 <span class="keywordtype">void</span>
71
<a name="l00052"></a><a class="code" href="classschroot__releaselock_1_1options.html#9552a1fefc227463e48e29f4dae89986">00052</a> <a class="code" href="classschroot__releaselock_1_1options.html#9552a1fefc227463e48e29f4dae89986" title="Add options to option groups.">options::add_options</a> ()
72
<a name="l00053"></a>00053 {
73
<a name="l00054"></a>00054 <span class="comment">// Chain up to add basic options.</span>
74
<a name="l00055"></a>00055 <a class="code" href="classschroot__base_1_1options.html#9552a1fefc227463e48e29f4dae89986" title="Add options to option groups.">schroot_base::options::add_options</a>();
75
<a name="l00056"></a>00056
76
<a name="l00057"></a>00057 <a class="code" href="classschroot__base_1_1options.html#5b359a5e43243a64dff27968219735ad" title="Action list.">action</a>.add(<a class="code" href="classschroot__releaselock_1_1options.html#4f5e104726f695afcdb2c84d3d747be0" title="Begin, run and end a session.">ACTION_RELEASELOCK</a>);
77
<a name="l00058"></a>00058 <a class="code" href="classschroot__base_1_1options.html#5b359a5e43243a64dff27968219735ad" title="Action list.">action</a>.set_default(<a class="code" href="classschroot__releaselock_1_1options.html#4f5e104726f695afcdb2c84d3d747be0" title="Begin, run and end a session.">ACTION_RELEASELOCK</a>);
78
<a name="l00059"></a>00059
79
<a name="l00060"></a>00060 <a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>.add_options()
80
<a name="l00061"></a>00061 (<span class="stringliteral">"device,d"</span>, opt::value<std::string>(&this-><a class="code" href="classschroot__releaselock_1_1options.html#5ff51f1b2c21a8c38d690f772689e799" title="The device to unlock.">device</a>),
81
<a name="l00062"></a>00062 _(<span class="stringliteral">"Device to unlock (full path)"</span>))
82
<a name="l00063"></a>00063 (<span class="stringliteral">"pid,p"</span>, opt::value<int>(&this->pid),
83
<a name="l00064"></a>00064 _(<span class="stringliteral">"Process ID owning the lock"</span>));
84
<a name="l00065"></a>00065 }
85
<a name="l00066"></a>00066
86
<a name="l00067"></a>00067 <span class="keywordtype">void</span>
87
<a name="l00068"></a><a class="code" href="classschroot__releaselock_1_1options.html#2b423dd600612e9e574674631ecb0fa9">00068</a> <a class="code" href="classschroot__releaselock_1_1options.html#2b423dd600612e9e574674631ecb0fa9" title="Add option groups to container groups.">options::add_option_groups</a> ()
88
<a name="l00069"></a>00069 {
89
<a name="l00070"></a>00070 <span class="comment">// Chain up to add basic option groups.</span>
90
<a name="l00071"></a>00071 <a class="code" href="classschroot__base_1_1options.html#2b423dd600612e9e574674631ecb0fa9" title="Add option groups to container groups.">schroot_base::options::add_option_groups</a>();
91
<a name="l00072"></a>00072
92
<a name="l00073"></a>00073 <span class="preprocessor">#ifndef BOOST_PROGRAM_OPTIONS_DESCRIPTION_OLD</span>
93
<a name="l00074"></a>00074 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!<a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>.options().empty())
94
<a name="l00075"></a>00075 #<span class="keywordflow">else</span>
95
<a name="l00076"></a>00076 <span class="keywordflow">if</span> (!<a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>.primary_keys().empty())
96
<a name="l00077"></a>00077 #endif
97
<a name="l00078"></a>00078 {
98
<a name="l00079"></a>00079 <a class="code" href="classschroot__base_1_1options.html#636feb2ab760a968b53755c3bbe86a0c" title="Visible options container (used for --help).">visible</a>.add(<a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>);
99
<a name="l00080"></a>00080 <a class="code" href="classschroot__base_1_1options.html#294ade49fac4aa6776cf3cb527d7d6b8" title="Global options container (used for parsing).">global</a>.add(<a class="code" href="classschroot__releaselock_1_1options.html#a0d5fa86a20dcb2e5574185061bcde00" title="Lock options group.">lock</a>);
100
<a name="l00081"></a>00081 }
101
<a name="l00082"></a>00082 }
102
<a name="l00083"></a>00083
103
<a name="l00084"></a><a class="code" href="classschroot__releaselock_1_1options.html#f4d23a59c343dd177d1041557c8f5f25">00084</a> <span class="keywordtype">void</span>
104
<a name="l00085"></a>00085 <a class="code" href="classschroot__releaselock_1_1options.html#f4d23a59c343dd177d1041557c8f5f25" title="Check options after parsing.">options::check_options</a> ()
105
<a name="l00086"></a>00086 {
106
<a name="l00087"></a>00087 <span class="comment">// Chain up to check basic options.</span>
107
<a name="l00088"></a>00088 <a class="code" href="classschroot__base_1_1options.html#f4d23a59c343dd177d1041557c8f5f25" title="Check options after parsing.">schroot_base::options::check_options</a>();
108
<a name="l00089"></a>00089
109
<a name="l00090"></a>00090 <span class="keywordflow">if</span> (this->action == <a class="code" href="classschroot__releaselock_1_1options.html#4f5e104726f695afcdb2c84d3d747be0" title="Begin, run and end a session.">ACTION_RELEASELOCK</a> &&
110
<a name="l00091"></a>00091 this->device.empty())
111
<a name="l00092"></a>00092 <span class="keywordflow">throw</span> opt::validation_error(_(<span class="stringliteral">"No device specified"</span>));
112
<a name="l00093"></a>00093 }
113
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Jan 21 00:38:28 2008 for schroot by
121
114
<a href="http://www.doxygen.org/index.html">
122
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
115
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>