i2pd.cpp
1 /* 2 * Copyright (c) 2013-2020, The PurpleI2P Project 3 * 4 * This file is part of Purple i2pd project and licensed under BSD3 5 * 6 * See full license text in LICENSE file at top of project tree 7 */ 8 9 #include <stdlib.h> 10 #include "Daemon.h" 11 12 #if defined(QT_GUI_LIB) 13 namespace i2p 14 { 15 namespace qt 16 { 17 int RunQT (int argc, char* argv[]); 18 } 19 } 20 21 int main( int argc, char* argv[] ) 22 { 23 return i2p::qt::RunQT (argc, argv); 24 } 25 #else 26 int main( int argc, char* argv[] ) 27 { 28 if (Daemon.init(argc, argv)) 29 { 30 if (Daemon.start()) 31 Daemon.run (); 32 else 33 return EXIT_FAILURE; 34 Daemon.stop(); 35 } 36 return EXIT_SUCCESS; 37 } 38 #endif 39 40 #ifdef _WIN32 41 #include <windows.h> 42 43 int CALLBACK WinMain( 44 _In_ HINSTANCE hInstance, 45 _In_ HINSTANCE hPrevInstance, 46 _In_ LPSTR lpCmdLine, 47 _In_ int nCmdShow 48 ) 49 { 50 return main(__argc, __argv); 51 } 52 #endif