ClientApplication and ServerApplication are now Singletons
This commit is contained in:
@@ -28,18 +28,23 @@
|
||||
#include "udp_network_utility.hpp"
|
||||
#include "character.hpp"
|
||||
|
||||
#include "singleton.hpp"
|
||||
|
||||
#include <map>
|
||||
|
||||
class ClientApplication {
|
||||
class ClientApplication: public Singleton<ClientApplication> {
|
||||
public:
|
||||
ClientApplication() = default;
|
||||
~ClientApplication() = default;
|
||||
|
||||
//public methods
|
||||
void Init(int argc, char** argv);
|
||||
void Proc();
|
||||
void Quit();
|
||||
|
||||
private:
|
||||
friend Singleton<ClientApplication>;
|
||||
|
||||
ClientApplication() = default;
|
||||
~ClientApplication() = default;
|
||||
|
||||
//Private access members
|
||||
void LoadScene(SceneList sceneIndex);
|
||||
void UnloadScene();
|
||||
|
||||
+3
-1
@@ -32,16 +32,18 @@ using namespace std;
|
||||
int main(int argc, char** argv) {
|
||||
try {
|
||||
//create the singletons
|
||||
ClientApplication::Create();
|
||||
ConfigUtility::Create();
|
||||
|
||||
//call the server's routines
|
||||
ClientApplication app;
|
||||
ClientApplication& app = ClientApplication::GetSingleton();
|
||||
app.Init(argc, argv);
|
||||
app.Proc();
|
||||
app.Quit();
|
||||
|
||||
//delete the singletons
|
||||
ConfigUtility::Delete();
|
||||
ClientApplication::Delete();
|
||||
}
|
||||
catch(exception& e) {
|
||||
cerr << "Fatal exception thrown: " << e.what() << endl;
|
||||
|
||||
+3
-1
@@ -33,15 +33,17 @@ int main(int argc, char** argv) {
|
||||
try {
|
||||
//create the singletons
|
||||
ConfigUtility::Create();
|
||||
ServerApplication::Create();
|
||||
|
||||
//call the server's routines
|
||||
ServerApplication app;
|
||||
ServerApplication& app = ServerApplication::GetSingleton();
|
||||
app.Init(argc, argv);
|
||||
app.Proc();
|
||||
app.Quit();
|
||||
|
||||
//delete the singletons
|
||||
ConfigUtility::Delete();
|
||||
ServerApplication::Delete();
|
||||
}
|
||||
catch(exception& e) {
|
||||
cerr << "Fatal exception thrown: " << e.what() << endl;
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
//common utilities
|
||||
#include "udp_network_utility.hpp"
|
||||
#include "config_utility.hpp"
|
||||
#include "singleton.hpp"
|
||||
|
||||
//APIs
|
||||
#include "lua/lua.hpp"
|
||||
@@ -42,17 +43,19 @@
|
||||
#include <string>
|
||||
|
||||
//The main application class
|
||||
class ServerApplication {
|
||||
class ServerApplication: public Singleton<ServerApplication> {
|
||||
public:
|
||||
//public methods
|
||||
ServerApplication() = default;
|
||||
~ServerApplication() = default;
|
||||
|
||||
void Init(int argc, char** argv);
|
||||
void Proc();
|
||||
void Quit();
|
||||
|
||||
private:
|
||||
friend Singleton<ServerApplication>;
|
||||
|
||||
ServerApplication() = default;
|
||||
~ServerApplication() = default;
|
||||
|
||||
//handle incoming traffic
|
||||
void HandlePacket(SerialPacket* const);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user