48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
|
#ifndef NETWORK_API_NETWORK_CALLBACK_HELPER_H
|
||
|
#define NETWORK_API_NETWORK_CALLBACK_HELPER_H
|
||
|
|
||
|
/////////////////////////////////////
|
||
|
// Created by Dennis Andersen 2013 //
|
||
|
/////////////////////////////////////
|
||
|
|
||
|
namespace Oyster
|
||
|
{
|
||
|
namespace Network
|
||
|
{
|
||
|
enum NetworkProtocolCallbackType
|
||
|
{
|
||
|
NetworkProtocolCallbackType_Function,
|
||
|
NetworkProtocolCallbackType_Object,
|
||
|
NetworkProtocolCallbackType_Unknown = -1,
|
||
|
};
|
||
|
enum NetworkClientCallbackType
|
||
|
{
|
||
|
NetworkClientCallbackType_Function,
|
||
|
NetworkClientCallbackType_Object,
|
||
|
NetworkClientCallbackType_Unknown = -1,
|
||
|
};
|
||
|
|
||
|
class NetworkClient;
|
||
|
class CustomNetProtocol;
|
||
|
typedef void (*ClientConnectCallbackMethod)(NetworkClient&);
|
||
|
typedef void(*ProtocolRecieverFunction)(CustomNetProtocol& protocol);
|
||
|
struct ClientConnectedObject
|
||
|
{
|
||
|
virtual void ClientConnectCallback(NetworkClient &client) = 0;
|
||
|
};
|
||
|
struct ProtocolRecieverObject
|
||
|
{
|
||
|
virtual void ProtocolRecievedCallback(CustomNetProtocol& protocol) = 0;
|
||
|
};
|
||
|
|
||
|
union RecieverObject
|
||
|
{
|
||
|
ClientConnectCallbackMethod clientConnectFnc;
|
||
|
ProtocolRecieverFunction protocolRecieverFnc;
|
||
|
ClientConnectedObject *clientConnectObject;
|
||
|
ProtocolRecieverObject *protocolRecievedObject;
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif
|