From c107ce732c68bd0a0042c9598897902deb4e37fb Mon Sep 17 00:00:00 2001 From: Nathan Date: Tue, 20 May 2025 17:25:50 -0500 Subject: [PATCH] start ChessServer and remove basic redundant examples --- .../Chess/ChessServer/ChessServer.cpp | 46 +++++++++++++++++++ .../Chess/ChessServer/ChessServer.h | 34 ++++++++++++++ .../DependsOnPrint/DependsOnPrint.cpp | 16 ------- .../DependsOnPrint/DependsOnPrint.h | 16 ------- .../DependsOnPrintStatic.cpp | 19 -------- .../DependsOnPrintStatic.h | 16 ------- .../Archimedes-Modules/TestMenu/TestMenu.cpp | 37 --------------- .../Archimedes-Modules/TestMenu/TestMenu.h | 20 -------- 8 files changed, 80 insertions(+), 124 deletions(-) delete mode 100644 modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.cpp delete mode 100644 modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.h delete mode 100644 modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.cpp delete mode 100644 modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.h delete mode 100644 modules/Archimedes-Modules/TestMenu/TestMenu.cpp delete mode 100644 modules/Archimedes-Modules/TestMenu/TestMenu.h diff --git a/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp b/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp index e69de29..69621bb 100644 --- a/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp +++ b/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.cpp @@ -0,0 +1,46 @@ +#include "ChessServer.h" + +void ChessServer::onLoad() { + ServerModule* sm = (ServerModule*) moduleInstances[ServerModule()]; + + sm->startServer(9932); +} + +//void ChessServer::run() {} + +bool ChessServer::onEvent(const Archimedes::Event& event) { + + unsigned int type = app->getEventType(event); + + + /*if(type == app->getEventType("DataSentEvent")) { + //we did this? + return true; + } else */ + + if(type == app->getEventType(Archimedes::DataRecievedEvent())) { + + static ServerModule* sm; { sm = (ServerModule*) moduleInstances[ServerModule()]; } + + Archimedes::DataRecievedEvent& e = (Archimedes::DataRecievedEvent&) event; + + static std::string s; s = std::string((const char*)e.msg->m_pData, e.msg->m_cbSize); + + + for(auto& it : sm->getClients()) { + if(it.first != e.msg->m_conn) + sm->sendReliable(it.first, s.c_str(), s.length()); + } + + return true; + + } /*else if(type == app->getEventType("ConnectionStatusChangedEvent")) { + + //Archimedes::ConnectionStatusChangedEvent& e = (Archimedes::ConnectionStatusChangedEvent&) event; + + return false; + + }*/ + + return false; +} diff --git a/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h b/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h index e69de29..7b7cc90 100644 --- a/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h +++ b/modules/Archimedes-Modules/Chess/ChessServer/ChessServer.h @@ -0,0 +1,34 @@ +#include "Archimedes.h" + +#include "modules/ServerModule/ServerModule.h" + +class ChessServer : public Archimedes::Module { + + public: + + ChessServer(Archimedes::App* a, void* h) : Module(a, h) { + + name = "ChessServer"; + + ServerModule* sm = new ServerModule(a, h); + deps[*sm] = sm; + sm->shouldHandleEvents(ServerModule::SMEventEnum::ConnectionStatusChanged | ServerModule::SMEventEnum::DataSent); + } + + ChessServer() { name = "ChessServer"; } + + ~ChessServer() { + if(app) {} + } + + void onLoad(); + + //void run(); + + bool onEvent(const Archimedes::Event&); +}; + +#ifdef CHESSSERVER_DYNAMIC +typedef ChessServer mtype; +#include "endModule.h" +#endif diff --git a/modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.cpp b/modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.cpp deleted file mode 100644 index 22d1f9d..0000000 --- a/modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "DependsOnPrint.h" - -DependsOnPrint::DependsOnPrint(Archimedes::App* a, void* h) : Module(a, h) { - name = "DependsOnPrint"; - - deps["Print"] = "/home/nathan/Projects/Archimedes/result-1/bin/Print"; -} - -DependsOnPrint::~DependsOnPrint() { - std::cout << "DependsOnPrint Destroyed!\n"; -} - -void DependsOnPrint::run() { - std::cout << "DependsOnPrint lib loaded and run!\n"; - app->emitEvent(new Archimedes::DoUnloadModuleEvent(name)); -} diff --git a/modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.h b/modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.h deleted file mode 100644 index 38ed9ad..0000000 --- a/modules/Archimedes-Modules/DependsOnPrint/DependsOnPrint.h +++ /dev/null @@ -1,16 +0,0 @@ -#include "Archimedes.h" - -class DependsOnPrint : public Archimedes::Module { - - public: - DependsOnPrint(Archimedes::App*, void*); - ~DependsOnPrint(); - void run(); - void onLoad() {} - -}; - -#ifdef DEPENDSONPRINT_DYNAMIC -typedef DependsOnPrint mtype; -#include "endModule.h" -#endif diff --git a/modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.cpp b/modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.cpp deleted file mode 100644 index f08b3c4..0000000 --- a/modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "DependsOnPrintStatic.h" - -#include "modules/Archimedes-Modules/Print/Print.h" - -DependsOnPrintStatic::DependsOnPrintStatic(Archimedes::App* a, void* h) : Module(a, h) { - name = "DependsOnPrintStatic"; - - Print* p = new Print(a, h); - deps[*p] = p; -} - -DependsOnPrintStatic::~DependsOnPrintStatic() { - std::cout << "DependsOnPrintStatic Destroyed!\n"; -} - -void DependsOnPrintStatic::run() { - std::cout << "DependsOnPrintStatic lib loaded and run!\n"; - app->emitEvent(new Archimedes::DoUnloadModuleEvent(name)); -} diff --git a/modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.h b/modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.h deleted file mode 100644 index 0221c89..0000000 --- a/modules/Archimedes-Modules/DependsOnPrintStatic/DependsOnPrintStatic.h +++ /dev/null @@ -1,16 +0,0 @@ -#include "Archimedes.h" - -class DependsOnPrintStatic : public Archimedes::Module { - - public: - DependsOnPrintStatic(Archimedes::App*, void*); - ~DependsOnPrintStatic(); - void run(); - void onLoad() {} - -}; - -#ifdef DEPENDSONPRINTSTATIC_DYNAMIC -typedef DependsOnPrintStatic mtype; -#include "endModule.h" -#endif diff --git a/modules/Archimedes-Modules/TestMenu/TestMenu.cpp b/modules/Archimedes-Modules/TestMenu/TestMenu.cpp deleted file mode 100644 index d393cf4..0000000 --- a/modules/Archimedes-Modules/TestMenu/TestMenu.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "TestMenu.h" - -TestMenu::TestMenu(Archimedes::App* a, void* h) : Module(a, h) { - name = "TestMenu"; -} - -TestMenu::~TestMenu() { - std::cout << "TestMenu Destroyed!\n"; -} - -void TestMenu::run() { - - std::cout << "Your number is: " << num << "\n" - << "1. Add 1\n" - << "2. Subtract 1\n" - << "3. Unload Module\n\n" - << "4. Quit\n\n"; - - std::cin >> choice; - - switch(choice) { - case 1: - num++; - break; - case 2: - num--; - break; - case 3: - app->emitEvent(new Archimedes::DoUnloadModuleEvent(name)); - break; - case 4: - app->end(); - break; - default: - break; - } -} diff --git a/modules/Archimedes-Modules/TestMenu/TestMenu.h b/modules/Archimedes-Modules/TestMenu/TestMenu.h deleted file mode 100644 index 9547813..0000000 --- a/modules/Archimedes-Modules/TestMenu/TestMenu.h +++ /dev/null @@ -1,20 +0,0 @@ -#include "Archimedes.h" - -class TestMenu : public Archimedes::Module { - - public: - TestMenu(Archimedes::App*, void*); - TestMenu() { name = "TestMenu"; } - ~TestMenu(); - void run(); - void onLoad() {} - - private: - int choice; - int num = 5; -}; - -#ifdef TESTMENU_DYNAMIC -typedef TestMenu mtype; -#include "endModule.h" -#endif