mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 02:27:40 -04:00
Initial Commit of CyanWorlds.com Engine Open Source Client/Plugin
This commit is contained in:
@ -0,0 +1,42 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/FeatureLib/pfCsrSrv/Pch.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifdef PLASMA20_SOURCES_PLASMA_FEATURELIB_PFCSRSRV_PCH_H
|
||||
#error "Header $/Plasma20/Sources/Plasma/FeatureLib/pfCsrSrv/Pch.h included more than once"
|
||||
#endif
|
||||
#define PLASMA20_SOURCES_PLASMA_FEATURELIB_PFCSRSRV_PCH_H
|
||||
|
||||
|
||||
#include "pfCsrSrv.h"
|
||||
|
||||
#pragma warning(push, 0)
|
||||
#include "pfConsole/pfConsole.h"
|
||||
#pragma warning(pop)
|
@ -0,0 +1,145 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/FeatureLib/pfCsrSrv/pfCsrSrv.cpp
|
||||
*
|
||||
***/
|
||||
|
||||
#include "Pch.h"
|
||||
#pragma hdrstop
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Local types
|
||||
*
|
||||
***/
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Local data
|
||||
*
|
||||
***/
|
||||
|
||||
static bool s_running;
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Local functions
|
||||
*
|
||||
***/
|
||||
|
||||
//============================================================================
|
||||
static bool Recv_ExecConsoleCmd (
|
||||
SimpleNetConn * ,
|
||||
CsrNet_ExecConsoleCmd * msg
|
||||
) {
|
||||
LogMsg(kLogPerf, L"pfCsrSrv: ExecConsoleCmd: %S", msg->cmd);
|
||||
|
||||
pfConsole::RunCommandAsync(msg->cmd);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
static bool OnMsg (
|
||||
SimpleNetConn * conn,
|
||||
SimpleNet_MsgHeader * msg
|
||||
) {
|
||||
bool result;
|
||||
|
||||
#define DISPATCH(a) case kCsrNet_##a: result = Recv_##a(conn, (CsrNet_##a *) msg); break
|
||||
switch (msg->messageId) {
|
||||
DISPATCH(ExecConsoleCmd);
|
||||
default:
|
||||
result = false;
|
||||
}
|
||||
#undef DISPATCH
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
static void OnError (
|
||||
SimpleNetConn * ,
|
||||
ENetError error
|
||||
) {
|
||||
LogMsg(kLogPerf, L"pfCsrSrv NetError: %s", NetErrorToString(error));
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
static bool QueryAccept (
|
||||
void * ,
|
||||
unsigned channel,
|
||||
SimpleNetConn * ,
|
||||
const NetAddress & addr
|
||||
) {
|
||||
wchar str[64];
|
||||
NetAddressToString(addr, str, arrsize(str), kNetAddressFormatAll);
|
||||
LogMsg(kLogPerf, L"pfCsrSrv: Accepted connection from %s", str);
|
||||
return channel == kSimpleNetChannelCsr;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Exports
|
||||
*
|
||||
***/
|
||||
|
||||
//============================================================================
|
||||
void CsrSrvInitialize () {
|
||||
|
||||
#ifdef PLASMA_ENABLE_CSR_EXTERNAL
|
||||
|
||||
LogMsg(kLogPerf, L"pfCsrSrv: Initializing");
|
||||
|
||||
s_running = true;
|
||||
|
||||
SimpleNetInitialize();
|
||||
SimpleNetCreateChannel(kSimpleNetChannelCsr, OnMsg, OnError);
|
||||
SimpleNetStartListening(QueryAccept, nil);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
void CsrSrvShutdown () {
|
||||
|
||||
#ifdef PLASMA_ENABLE_CSR_EXTERNAL
|
||||
|
||||
LogMsg(kLogPerf, L"pfCsrSrv: Shutting down");
|
||||
|
||||
s_running = false;
|
||||
|
||||
SimpleNetStopListening();
|
||||
SimpleNetDestroyChannel(kSimpleNetChannelCsr);
|
||||
SimpleNetShutdown();
|
||||
|
||||
#endif
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* $/Plasma20/Sources/Plasma/FeatureLib/pfCsrSrv/pfCsrSrv.h
|
||||
*
|
||||
***/
|
||||
|
||||
#ifndef PLASMA20_SOURCES_PLASMA_FEATURELIB_PFCSRSRV_PFCSRSRV_H
|
||||
#define PLASMA20_SOURCES_PLASMA_FEATURELIB_PFCSRSRV_PFCSRSRV_H
|
||||
|
||||
|
||||
#include "pnCsrNet/pnCsrNet.h"
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* pfCsrSrv
|
||||
* - Executes remote CSR commands received through pnCsrNet
|
||||
*
|
||||
***/
|
||||
|
||||
void CsrSrvInitialize ();
|
||||
void CsrSrvShutdown ();
|
||||
|
||||
|
||||
#endif // PLASMA20_SOURCES_PLASMA_FEATURELIB_PFCSRSRV_PFCSRSRV_H
|
Reference in New Issue
Block a user