/ daemon / i2pd.cpp
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