1- #include " log/Log.hpp"
2- #include " settings/Settings.hpp"
3- #include " cpu/CpuMonitor.hpp"
4- #include " memory/MemoryMonitor.hpp"
5- #include " telegram/TelegramMonitor.hpp"
6-
7- int app ();
1+ #include " app/App.hpp"
82
93int main ()
104{
115 try
126 {
13- return app ();
7+ App app;
8+ app.execute ();
149 }
1510 catch (const std::exception &e)
1611 {
@@ -19,62 +14,4 @@ int main()
1914 }
2015
2116 return 0 ;
22- }
23-
24- int app ()
25- {
26- // Objects
27- Log logger;
28- Settings settings;
29- bool isMonitoringEnable;
30-
31- // Get settings from setting file
32- if (!settings.getSetting ())
33- {
34- logger.logToConsole (" Failed to load setting file . building setting..." );
35-
36- // build setting file
37- if (!settings.createSettingsFile ())
38- {
39- logger.logToConsole (" Failed to create setting(settings.json) file" );
40- return 1 ;
41- }
42-
43- settings.getSetting ();
44- }
45-
46- // set monitoring default status
47- isMonitoringEnable = settings.getDefaultMonitoringStatus ();
48-
49- logger.logToConsole (" Linux Monitoring v" + settings.getAppVersion () + " Service Started" );
50- logger.logToConsole (settings.getServerName ());
51-
52- // Monitoring Objects
53- CpuMonitor cpu (settings.getCpuCheckDuration ());
54- MemoryMonitor memory (settings.getMemoryCheckDuration ());
55- TelegramMonitor telegram (isMonitoringEnable, cpu, memory, settings, logger);
56-
57- // Start Monitoring
58- telegram.startTelegramRequestThread ();
59-
60- // App holder
61- while (true )
62- {
63- // Start Monitoring
64- if (isMonitoringEnable)
65- {
66- cpu.startMonitoring ();
67- memory.startMonitoring ();
68- telegram.startTelegramNotificationWatchThread ();
69- }
70- // Stop Monitoring
71- if (!isMonitoringEnable)
72- {
73- cpu.stopMonitoring ();
74- memory.stopMonitoring ();
75- telegram.stopTelegramNotificationWatchThread ();
76- }
77- sleep (1 );
78- continue ;
79- }
8017}
0 commit comments