From dc24d1b0597de7e836079c80608d12920c62775a Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Wed, 13 Nov 2013 02:03:25 +1100 Subject: [PATCH] Committing the empty WorldRoom class --- server/network_queue.cpp | 21 ++++++++ server/network_queue.hpp | 21 ++++++++ server/server_application.hpp | 5 +- server/world_room.cpp | 98 +++++++++++++++++++++++++++++++++++ server/world_room.hpp | 49 ++++++++++++++++++ 5 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 server/world_room.cpp create mode 100644 server/world_room.hpp diff --git a/server/network_queue.cpp b/server/network_queue.cpp index 85ed169..9601cf9 100644 --- a/server/network_queue.cpp +++ b/server/network_queue.cpp @@ -1,3 +1,24 @@ +/* Copyright: (c) Kayne Ruse 2013 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ #include "network_queue.hpp" #include diff --git a/server/network_queue.hpp b/server/network_queue.hpp index 31e3cc5..bf8924c 100644 --- a/server/network_queue.hpp +++ b/server/network_queue.hpp @@ -1,3 +1,24 @@ +/* Copyright: (c) Kayne Ruse 2013 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ #ifndef NETWORKQUEUE_HPP_ #define NETWORKQUEUE_HPP_ diff --git a/server/server_application.hpp b/server/server_application.hpp index 2dd5290..8a28400 100644 --- a/server/server_application.hpp +++ b/server/server_application.hpp @@ -22,9 +22,10 @@ #ifndef SERVERAPPLICATION_HPP_ #define SERVERAPPLICATION_HPP_ -#include "udp_network_utility.hpp" -#include "network_queue.hpp" #include "config_utility.hpp" +#include "network_queue.hpp" +#include "udp_network_utility.hpp" +#include "world_room.hpp" #include "sqlite3/sqlite3.h" #include "SDL/SDL.h" diff --git a/server/world_room.cpp b/server/world_room.cpp new file mode 100644 index 0000000..7fb94a5 --- /dev/null +++ b/server/world_room.cpp @@ -0,0 +1,98 @@ +/* Copyright: (c) Kayne Ruse 2013 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#include "world_room.hpp" + +#include +#include + +using namespace std; + +int worldRoomThread(void* ptr) { + WorldRoom* room = reinterpret_cast(ptr); + try { + room->Init(); + room->Loop(); + room->Quit(); + } + catch(std::exception& e) { + cerr << "Fatal Room Error: " << e.what() << endl; + return 1; + } + return 0; +} + +WorldRoom::WorldRoom() { + // +} + +WorldRoom::~WorldRoom() { + // +} + +void WorldRoom::Init() { + // +} + +void WorldRoom::Loop() { + // +} + +void WorldRoom::Quit() { + // +} + +void WorldRoom::HandlePacket(NetworkPacket packet) { + switch(packet.meta.type) { + case NetworkPacket::Type::PING: + //NOT USED + break; + case NetworkPacket::Type::PONG: + //NOT USED + break; +// case NetworkPacket::Type::BROADCAST_REQUEST: +// // +// break; +// case NetworkPacket::Type::BROADCAST_RESPONSE: +// // +// break; +// case NetworkPacket::Type::JOIN_REQUEST: +// // +// break; +// case NetworkPacket::Type::JOIN_RESPONSE: +// // +// break; +// case NetworkPacket::Type::DISCONNECT: +// // +// break; +// case NetworkPacket::Type::SYNCHRONIZE: +// // +// break; + + //handle errors + case NetworkPacket::Type::NONE: + throw(runtime_error("NetworkPacket::Type::NONE encountered")); + break; + default: + throw(runtime_error("Unknown NetworkPacket::Type encountered")); + break; + } +} \ No newline at end of file diff --git a/server/world_room.hpp b/server/world_room.hpp new file mode 100644 index 0000000..1a9ec15 --- /dev/null +++ b/server/world_room.hpp @@ -0,0 +1,49 @@ +/* Copyright: (c) Kayne Ruse 2013 + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * + * 3. This notice may not be removed or altered from any source + * distribution. +*/ +#ifndef WORLDROOM_HPP_ +#define WORLDROOM_HPP_ + +#include "config_utility.hpp" +#include "network_queue.hpp" +#include "udp_network_utility.hpp" + +#include "sqlite3/sqlite3.h" +#include "SDL/SDL.h" +#include "SDL/SDL_thread.h" + +class WorldRoom { +public: + WorldRoom(); + ~WorldRoom(); + + void Init(); + void Loop(); + void Quit(); + + NetworkQueue* GetQueue() { return &networkQueue; } +private: + void HandlePacket(NetworkPacket); + + NetworkQueue networkQueue; +}; + +#endif