87 lines
2.3 KiB
C++
87 lines
2.3 KiB
C++
//////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Crytek Network source code
|
|
//
|
|
// File: Interfaces.h
|
|
// Description:
|
|
//
|
|
// History:
|
|
// -July 25,2001:Created by Alberto Demichelis
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _INTERFACES_H_
|
|
#define _INTERFACES_H_
|
|
|
|
class CServerSlot;
|
|
|
|
struct _IServerServices
|
|
{
|
|
virtual bool Send(CStream &stm, CIPAddress &ip) = 0;
|
|
virtual void UnregisterSlot(CIPAddress &ip) = 0;
|
|
virtual void OnDestructSlot( const CServerSlot *inpServerSlot ) = 0;
|
|
virtual void GetProtocolVariables(struct CNPServerVariables &sv) = 0;
|
|
};
|
|
|
|
|
|
struct _IEndpointUser
|
|
{
|
|
virtual bool Send(CStream &stm) = 0;
|
|
virtual void OnData(CStream &stm) = 0;
|
|
// virtual unsigned char GetID() = 0;
|
|
};
|
|
|
|
struct _ICCPUser :
|
|
public _IEndpointUser
|
|
{
|
|
//!
|
|
virtual void OnCCPSetup(CStream &stm) = 0;
|
|
//! this is a server->client packet
|
|
virtual void OnCCPConnect(CStream &stm) = 0;
|
|
//!
|
|
virtual void OnCCPConnectResp(CStream &stm) = 0;
|
|
//! this is a server->client packet
|
|
virtual void OnCCPContextSetup(CStream &stm) = 0;
|
|
//!
|
|
virtual void OnCCPContextReady(CStream &stm) = 0;
|
|
//! this is a server->client packet
|
|
virtual void OnCCPServerReady() = 0;
|
|
//!
|
|
virtual void OnCCPDisconnect(const char *szCause) = 0;
|
|
// Sends a security check message, client must respond to it.
|
|
virtual void OnCCPSecurityQuery(CStream &stm) = 0;
|
|
// Respond to a security message, will be checked on server.
|
|
virtual void OnCCPSecurityResp(CStream &stm) = 0;
|
|
// Punk buster message.
|
|
virtual void OnCCPPunkBusterMsg(CStream &stm) = 0;
|
|
};
|
|
|
|
struct _IServerSlotServices:
|
|
public _ICCPUser
|
|
{
|
|
virtual void Start(unsigned char cClientID,CIPAddress &ip) = 0;
|
|
virtual bool SendConnect() = 0;
|
|
virtual bool SendContextSetup() = 0;
|
|
virtual bool SendServerReady() = 0;
|
|
virtual bool SendDisconnect(const char *szCause) = 0;
|
|
virtual void OnConnect() = 0;
|
|
virtual void OnContextReady() = 0;
|
|
virtual void OnDisconnect(const char *szCause) = 0;
|
|
};
|
|
|
|
|
|
struct _IClientServices :
|
|
public _ICCPUser
|
|
{
|
|
virtual bool SendSetup() = 0;
|
|
virtual bool SendConnectResp() = 0;
|
|
virtual bool SendContextReady() = 0;
|
|
virtual bool SendDisconnect(const char *szCause) = 0;
|
|
virtual void OnConnect() = 0;
|
|
virtual void OnContextSetup() = 0;
|
|
virtual void OnServerReady() = 0;
|
|
virtual void OnDisconnect(const char *szCause) = 0;
|
|
};
|
|
|
|
#endif //_INTERFACES_H_
|