annotate sources/cabal.cpp @ 5:0faceb076254

code clean up added PID to the default Core argument bool => true|false
author Vlad Glagolev <enqlave@gmail.com>
date Thu, 24 Jan 2008 21:00:52 +0300
parents 19227b0b7cc1
children 8d54d9fdeca3
rev   line source
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
1 /**
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
2 * cabal.cpp (2007-03-03)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
3 *
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
4 * -- CABAL -- primary module
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
5 *
2
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
6 * Copyright (c) 2007-2008 Vlad Glagolev <enqlave@gmail.com>
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
7 * All rights reserved.
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
8 *
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
9 * Permission to use, copy, modify, and distribute this software for any
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
10 * purpose with or without fee is hereby granted, provided that the above
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
11 * copyright notice and this permission notice appear in all copies.
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
12 *
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
13 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
14 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
15 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
16 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
17 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
18 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
19 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
20 */
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
21
2
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
22 #include "cabal.hpp"
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
23
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
24 Core *CABAL;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
25
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
26 void shut()
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
27 {
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
28 delete CABAL;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
29 exit(0);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
30 }
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
31
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
32 void shut(string e)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
33 {
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
34 cout << "Error: " << e << endl;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
35
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
36 delete CABAL;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
37 exit(0);
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
38 }
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
39
2
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
40 void showHelp()
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
41 {
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
42 cout
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
43 << "\nUsage:\n" \
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
44 << "\t-d, --daemon | daemon mode\n" \
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
45 << "\t-c, --config <file> | configuration file\n" \
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
46 << "\t-h, --help | this message\n" \
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
47 << "\nCopyright (c) 2007-2008 Vlad Glagolev (BSD license)\n" << endl;
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
48
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
49 exit(0);
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
50 }
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
51
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
52 int main(int argc, char **argv)
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
53 {
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
54 cout
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
55 << "-- CABAL -- " << VERSION << " (CORE: " << VERSION_CORE ") | " \
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
56 << "Compiled: " << __DATE__ << " at " << __TIME__ << endl;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
57
2
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
58 if (argc < 2)
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
59 showHelp();
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
60
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
61 CABAL = new Core();
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
62
2
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
63 CABAL->parseCommandLine(argc, argv);
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
64 CABAL->parseConfig();
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
65 CABAL->checkPID();
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
66
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
67 if (!CABAL->debug)
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
68 daemonize();
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
69
2
19227b0b7cc1 .h => .hpp for the headers
Vlad Glagolev <enqlave@gmail.com>
parents: 0
diff changeset
70 CABAL->writePID();
0
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
71
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
72 CABAL->work();
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
73
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
74 return 0;
bafff9de2a76 Initial commit since summer'07
Vlad Glagolev <enqlave@gmail.com>
parents:
diff changeset
75 }