diff options
-rw-r--r-- | source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.cpp | 189 | ||||
-rw-r--r-- | source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.h | 64 |
2 files changed, 0 insertions, 253 deletions
diff --git a/source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.cpp b/source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.cpp deleted file mode 100644 index 301a056f25c..00000000000 --- a/source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.cpp +++ /dev/null @@ -1,189 +0,0 @@ -/* - * $Id$ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - * TerraplayNetworkDeviceInterface derived from NG_NetworkDeviceInterface - */ - -#include "NG_TerraplayNetworkDeviceInterface.h" -#include "NG_NetworkMessage.h" - -//---- relocate these -void NG_TerraplayNetworkDeviceInterface::interface_error(char *str, GASResult error) { - GASRString err_str = GAS->ErrorTranslate(error); - if (err_str.result == GASOK) - printf("%s: %s\n",str,err_str.ptr); - else - printf("%s: UNKNOWN (Error code %d)", error); -} -//---- END relocate these - -NG_TerraplayNetworkDeviceInterface::NG_TerraplayNetworkDeviceInterface() -{ - group_id = GASCLIENTIDNULL; - group_id_request_valid = false; - this->Offline(); - - if ((GAS = new GASInterface()) == NULL) { - // terror - printf("ERROR GAS Common Network Interface NOT created\n"); - // do something useful - } else { - printf("GAS Common Network Interface created\n"); - } -} - -NG_TerraplayNetworkDeviceInterface::~NG_TerraplayNetworkDeviceInterface() -{ - if (GAS != NULL) { - delete GAS; - printf("GAS Common Network Interface deleted\n"); - } -} - -bool NG_TerraplayNetworkDeviceInterface::Connect(char *GAS_address, - unsigned int GAS_port, char *GAS_password, unsigned int localport, - unsigned int timeout) -{ - GASResult result; - printf("Establishing connection to GAS...\n"); - result = GAS->ConnectionRequest(GAS_address, GAS_port, - GAS_password,localport, timeout); - if (result == GASOK) { - this->Online(); - GASRClientId client_id = GAS->Connected(); - if (client_id.result != GASOK) { - printf("... connected, but no client ID\n"); - return false; - } else { - printf("Connected with client ID %d\n", - client_id.clientid); - return true; - } - } else { - interface_error("Connection", result); - return false; - } -} - -bool NG_TerraplayNetworkDeviceInterface::Disconnect(void) -{ - int i = 0; - printf("Disconnecting...\n"); - if (! this->IsOnline()) { - printf("ehh... /me was not connected\n"); - return false; - } - - GASRRequestId req = GAS->ConnectionClose(); - if (req.result != GASWAITING) { - interface_error("ConnectionClose",req.result); - this->~NG_TerraplayNetworkDeviceInterface(); - } - this->Offline(); -// dit is erg fout :( ik wil helemaal geen ~NG_ hier - - while (true) { - GASRMessage gas_message; - GASResult result = GAS->GasActivity(GASBLOCK, 100); - if (++i>5000) { - printf("\nGiving up on waiting for connection close\n"); - this->~NG_TerraplayNetworkDeviceInterface(); - } - switch (result) { - case GASCONNECTIONOK: - break; - case GASGASMESSAGE: - gas_message = GAS->GasMessageGetNext(); - if (gas_message.type == GASRCONNECTIONCLOSE) { - if (gas_message.result == GASOK || - gas_message.result == GASALREADYDONE) { - return true; - } else { - interface_error("GasMessageGetNext", - gas_message.result); - return false; - } - } - // no break ... - default: - interface_error("GasActivity",result); - } - } - return true; -} - -STR_String NG_TerraplayNetworkDeviceInterface::GetNetworkVersion() -{ - GASRString version = GAS->Version(); - if (version.result != GASOK) { - interface_error("GetNetworkVersion", version.result); - return NULL; - } else { - return version.ptr; - } -} - -int NG_TerraplayNetworkDeviceInterface::mytest() { - return (3); -} - -void NG_TerraplayNetworkDeviceInterface::SendNetworkMessage(NG_NetworkMessage* nwmsg) -{ - GASPayload payload; - GASResult result; - STR_String mystring; - - if (group_id == GASCLIENTIDNULL) { - printf("Oops, no group to send to yet\n"); - return; - } - - mystring = nwmsg->GetMessageText().ReadPtr(); - payload.ptr = (void *) mystring.Ptr(); - payload.size = mystring.Length() + 1; - - result = GAS->ClientMessageSend(group_id, payload, GASBESTEFFORT); - - switch (result) { - case GASOK: - break; - default: - interface_error("ClientMessageSend",result); - } - // NOTE. You shall NOT free the payload with PayloadFree(). - // This is your own payload, allocated and freed by yourself - // anyway you want. -} - -vector <NG_NetworkMessage*> NG_TerraplayNetworkDeviceInterface::RetrieveNetworkMessages() -{ - - vector <NG_NetworkMessage*> messages; - //todo: spend your expensive time here! - - return messages; -} diff --git a/source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.h b/source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.h deleted file mode 100644 index cc5f50e9e5e..00000000000 --- a/source/gameengine/Network/TerraplayNetwork/NG_TerraplayNetworkDeviceInterface.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * $Id$ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - * TerraplayNetworkDeviceInterface derived from NG_NetworkDeviceInterface - */ -#ifndef NG_TERRAPLAYNETWORKDEVICEINTERFACE_H -#define NG_TERRAPLAYNETWORKDEVICEINTERFACE_H - -#include <deque> -#include "GASInterface.h" -#include "NG_NetworkDeviceInterface.h" - -class NG_TerraplayNetworkDeviceInterface : public NG_NetworkDeviceInterface -{ - std::deque<NG_NetworkMessage*> m_messages; - - // Terraplay GAS stuff - GASInterface *GAS; - GASClientId group_id; - GASRequestId group_id_request; - int group_id_request_valid; - - void interface_error(char *str, GASResult error); -public: - NG_TerraplayNetworkDeviceInterface(); - ~NG_TerraplayNetworkDeviceInterface(); - - bool Connect(char *GAS_address, unsigned int GAS_port, - char *GAS_password, unsigned int localport, - unsigned int timeout); - bool Disconnect(void); - - void SendNetworkMessage(NG_NetworkMessage* nwmsg); - vector<NG_NetworkMessage*> RetrieveNetworkMessages(void); - - int mytest(void); -}; - -#endif //NG_TERRAPLAYNETWORKDEVICEINTERFACE_H - |