-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.cpp
67 lines (58 loc) · 1.99 KB
/
main.cpp
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Copyright 2018 [email protected]
// College of Information and Computer Sciences,
// University of Massachusetts Amherst
//
// This software is free: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License Version 3,
// as published by the Free Software Foundation.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// Version 3 in the file COPYING that came with this distribution.
// If not, see <http://www.gnu.org/licenses/>.
// ========================================================================
// Sample main
#include <signal.h> // For testing only
#include <chrono> // For testing only
#include "my_vars.h"
std::atomic_bool should_shutdown(false);
void SigHandler(int signo) {
if (signo == SIGINT) {
std::cout << "Shutting down!\n";
should_shutdown = true;
}
}
int main(int argc, char* argv[]) {
if (signal(SIGINT, SigHandler) == SIG_ERR) {
std::cout << "Cannot trap SigHandler!\n";
exit(0);
}
std::vector<std::string> files;
if (argc == 2) {
std::string t = argv[1];
if (t == "-h" || t == "-help" || t == "--help") {
configuration_reader::HelpText();
return 0;
}
files.push_back(argv[1]);
} else if (argc > 2) {
for (int i = 1; i < argc; i++) {
files.push_back(argv[i]);
}
} else {
files.push_back(configuration_reader::kDefaultFileName);
}
configuration_reader::CreateDaemon(files);
while (!should_shutdown) {
std::this_thread::sleep_for(std::chrono::milliseconds(200));
// std::cout<<configuration_reader::CFG_test<<std::endl;
std::cout << configuration_reader::CFG_someInt << std::endl;
}
configuration_reader::Stop();
std::cout << "Shut Down" << std::endl;
return 0;
}