Mercurial > irccd
annotate irccdctl/main.cpp @ 208:b9c3a58d193b
Irccd: fix usage of option parser
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 21 Jun 2016 21:23:28 +0200 |
parents | 6635b9187d71 |
children | 4f64b53ecd98 |
rev | line source |
---|---|
0 | 1 /* |
2 * main.cpp -- irccd controller main | |
3 * | |
4 * Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
95
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
72
diff
changeset
|
19 #include <irccd/irccdctl.hpp> |
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
72
diff
changeset
|
20 #include <irccd/logger.hpp> |
1125d90b3b44
Misc: switch to .hpp, #477
David Demelier <markand@malikania.fr>
parents:
72
diff
changeset
|
21 #include <irccd/path.hpp> |
0 | 22 |
23 using namespace irccd; | |
24 | |
25 int main(int argc, char **argv) | |
26 { | |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
27 // TODO: move to Application |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
28 sys::setProgramName("irccdctl"); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
29 path::setApplicationPath(argv[0]); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
30 log::setInterface(std::make_unique<log::Console>()); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
31 log::setVerbose(false); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
32 net::init(); |
0 | 33 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
34 try { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
35 Irccdctl ctl; |
0 | 36 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
37 ctl.run(--argc, ++argv); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
38 } catch (const std::exception &ex) { |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
39 log::warning() << sys::programName() << ": " << ex.what() << std::endl; |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
40 std::exit(1); |
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
41 } |
0 | 42 |
207
6635b9187d71
Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents:
95
diff
changeset
|
43 return 0; |
0 | 44 } |