mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-12-07 10:38:23 +00:00
Add INetworkMessages interface
This commit is contained in:
parent
faea3c63e7
commit
45b223f8b9
@ -8,17 +8,11 @@
|
||||
#include <eiface.h>
|
||||
|
||||
#include <tier1/utldelegate.h>
|
||||
#include <irecipientfilter.h>
|
||||
#include <inetchannel.h>
|
||||
|
||||
class IRecipientFilter;
|
||||
class CUtlSlot;
|
||||
|
||||
namespace google {
|
||||
namespace protobuf {
|
||||
class Message;
|
||||
}
|
||||
}
|
||||
|
||||
struct GameEventHandle_t__
|
||||
{
|
||||
void *m_pUnknown;
|
||||
@ -35,22 +29,22 @@ abstract_class IGameEventSystem : public IAppSystem
|
||||
{
|
||||
public:
|
||||
virtual void RegisterGameEvent( GameEventHandle_t__ *pEvent ) = 0;
|
||||
virtual void RegisterGameEventHandlerAbstract( CUtlSlot *slot, const CUtlAbstractDelegate &delegate,
|
||||
GameEventHandle_t__ *pEvent, int ) = 0;
|
||||
virtual void UnregisterGameEventHandlerAbstract( CUtlSlot *slot, const CUtlAbstractDelegate &delegate,
|
||||
GameEventHandle_t__ *pEvent ) = 0;
|
||||
virtual void PostEventAbstract_Local( CSplitScreenSlot slot, GameEventHandle_t__ *, const void *pData,
|
||||
unsigned long nSize ) = 0;
|
||||
|
||||
virtual void RegisterGameEventHandlerAbstract( CUtlSlot *slot, const CUtlAbstractDelegate &delegate, GameEventHandle_t__ *pEvent, int ) = 0;
|
||||
virtual void UnregisterGameEventHandlerAbstract( CUtlSlot *slot, const CUtlAbstractDelegate &delegate, GameEventHandle_t__ *pEvent ) = 0;
|
||||
|
||||
virtual void PostEventAbstract_Local( CSplitScreenSlot slot, GameEventHandle_t__ *, const void *pData, unsigned long nSize ) = 0;
|
||||
|
||||
virtual void PostEventAbstract( CSplitScreenSlot slot, bool bLocalOnly, int nClientCount, const unsigned char *clients,
|
||||
GameEventHandle_t__ *pEvent, const void *pData, unsigned long nSize, NetChannelBufType_t bufType ) = 0;
|
||||
virtual void PostEventAbstract( CSplitScreenSlot slot, bool bLocalOnly, IRecipientFilter *pFilter,
|
||||
GameEventHandle_t__ *pEvent, const void *pData, unsigned long nSize ) = 0;
|
||||
virtual void PostEntityEventAbstract( const CBaseHandle &hndl, GameEventHandle_t__ *pEvent, const void *pData,
|
||||
unsigned long nSize, NetChannelBufType_t bufType ) = 0;
|
||||
|
||||
virtual void PostEntityEventAbstract( const CBaseHandle &hndl, GameEventHandle_t__ *pEvent, const void *pData, unsigned long nSize, NetChannelBufType_t bufType ) = 0;
|
||||
|
||||
virtual void ProcessQueuedEvents( void ) = 0;
|
||||
virtual int GetEventSource( void ) const = 0;
|
||||
virtual void PurgeQueuedEvents( void ) = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif // GAMEEVENTSYSTEM_H
|
||||
@ -523,7 +523,7 @@ public:
|
||||
virtual bool GetWritePath(const char*, const char*, CBufferString *) = 0;
|
||||
|
||||
// Returns the nSearchPathsToGet amount of paths, each path is separated by ;s. Returns true if pathID has any paths
|
||||
virtual bool GetSearchPath( const char *pathID, GetSearchPathTypes_t pathType, CBufferString *pPath, int nSearchPathsToGet ) = 0;
|
||||
virtual bool GetSearchPath( const char *pathID, GetSearchPathTypes_t pathType, CBufferString *pPath, int nSearchPathsToGet ) = 0;
|
||||
|
||||
virtual void unk003() = 0;
|
||||
virtual void unk004() = 0;
|
||||
|
||||
114
public/networksystem/inetworkmessages.h
Normal file
114
public/networksystem/inetworkmessages.h
Normal file
@ -0,0 +1,114 @@
|
||||
#ifndef NETWORKMESSAGES_H
|
||||
#define NETWORKMESSAGES_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <eiface.h>
|
||||
#include <tier1/bitbuf.h>
|
||||
#include <tier1/utlstring.h>
|
||||
#include <tier1/utldelegate.h>
|
||||
#include <tier0/logging.h>
|
||||
|
||||
struct NetMessageHandle_t__;
|
||||
class CSchemaClassBindingBase;
|
||||
class INetworkSerializerBindingBuildFilter;
|
||||
class IProtobufBinding;
|
||||
enum NetworkSerializationMode_t;
|
||||
struct NetworkableDataType_t;
|
||||
struct NetworkFieldResult_t;
|
||||
struct NetworkSerializerInfo_t;
|
||||
struct NetworkUnserializerInfo_t;
|
||||
struct NetworkableData_t;
|
||||
struct NetworkFieldInfo_t;
|
||||
struct FieldMetaInfo_t;
|
||||
struct NetworkFieldChangedDelegateType_t;
|
||||
struct NetworkFieldChangeCallbackPerformType_t;
|
||||
class CSchemaType;
|
||||
|
||||
typedef NetworkFieldResult_t ( *NetworkFieldSerializeCB )(NetworkSerializerInfo_t const&, int, NetworkableData_t *);
|
||||
typedef NetworkFieldResult_t ( *NetworkFieldUnserializeCB )(NetworkUnserializerInfo_t const&, int, NetworkableData_t *);
|
||||
|
||||
typedef NetworkFieldResult_t ( *NetworkFieldSerializeBufferCB )(NetworkSerializerInfo_t const&, bf_write &, int *, void const **, bool);
|
||||
typedef NetworkFieldResult_t ( *NetworkFieldUnserializeBufferCB )(NetworkUnserializerInfo_t const&, bf_read &, int *, void **, bool, CSchemaClassBindingBase const*);
|
||||
|
||||
typedef uint ( *NetworkFieldInfoCB )(NetworkFieldInfo_t const&);
|
||||
typedef bool ( *NetworkFieldMetaInfoCB )(FieldMetaInfo_t const&, CSchemaClassBindingBase const*, NetworkFieldInfo_t const&, void *);
|
||||
typedef bool ( *NetworkableDataCB )(NetworkableData_t const*, CUtlString &);
|
||||
typedef char const* ( *NetworkUnkCB001 )(void);
|
||||
|
||||
#define NETWORKMESSAGES_INTERFACE_VERSION "NetworkMessagesVersion001"
|
||||
|
||||
abstract_class INetworkMessages
|
||||
{
|
||||
public:
|
||||
virtual void RegisterNetworkCategory(uint, char const *) = 0;
|
||||
|
||||
virtual void AssociateNetMessageWithChannelCategoryAbstract(NetMessageHandle_t__ *, uint, bool) = 0;
|
||||
|
||||
// virtual void FindOrCreateNetMessageSchema(int, CSchemaClassBindingBase const*, INetworkSerializerBindingBuildFilter *, bool, bool) = 0;
|
||||
virtual void FindOrCreateNetMessage(int, IProtobufBinding const*, uint, INetworkSerializerBindingBuildFilter *, bool, bool) = 0;
|
||||
|
||||
virtual void SerializeAbstract(bf_write &, NetMessageHandle_t__ *, void const *) = 0;
|
||||
|
||||
virtual void UnserializeAbstract(bf_read &, NetMessageHandle_t__ **, void **) = 0;
|
||||
virtual void UnserializeAbstract(bf_read &, NetMessageHandle_t__ *, void *) = 0;
|
||||
|
||||
virtual void AllocateNetMessageAbstract(NetMessageHandle_t__ *) = 0;
|
||||
virtual void AllocateAndCopyConstructNetMessageAbstract(NetMessageHandle_t__ *, void const *) = 0;
|
||||
|
||||
virtual void DeallocateNetMessageAbstract(NetMessageHandle_t__ *, void *) = 0;
|
||||
|
||||
virtual void RegisterNetworkFieldSerializer(char const *, NetworkSerializationMode_t, NetworkableDataType_t, int, NetworkFieldSerializeCB, NetworkFieldUnserializeCB, NetworkFieldInfoCB,
|
||||
NetworkFieldMetaInfoCB, NetworkableDataCB, NetworkUnkCB001, NetworkFieldSerializeCB, NetworkFieldUnserializeCB) = 0;
|
||||
virtual void RegisterNetworkArrayFieldSerializer(char const *, NetworkSerializationMode_t, NetworkFieldSerializeBufferCB, NetworkFieldUnserializeBufferCB, NetworkFieldInfoCB,
|
||||
NetworkFieldMetaInfoCB, NetworkFieldSerializeBufferCB, NetworkFieldUnserializeBufferCB) = 0;
|
||||
|
||||
virtual void GetNetMessageInfo(NetMessageHandle_t__ *) = 0;
|
||||
|
||||
virtual NetMessageHandle_t__* FindNetworkMessage(char const *) = 0;
|
||||
virtual NetMessageHandle_t__* FindNetworkMessagePartial(char const *) = 0;
|
||||
|
||||
virtual void FindNetworkGroup(char const *, bool) = 0;
|
||||
virtual void GetNetworkGroupCount(void) = 0;
|
||||
virtual void GetNetworkGroupName(int) = 0;
|
||||
|
||||
virtual void unk001() = 0;
|
||||
|
||||
virtual void AssociateNetMessageGroupIdWithChannelCategory(uint, char const *) = 0;
|
||||
|
||||
virtual void RegisterSchemaAtomicTypeOverride(uint, CSchemaType *) = 0;
|
||||
|
||||
virtual void SetNextworkSerializationContextData(char const *, NetworkSerializationMode_t, void *) = 0;
|
||||
|
||||
virtual void unk002() = 0;
|
||||
virtual void unk003() = 0;
|
||||
|
||||
virtual void RegisterNetworkFieldChangeCallbackInternal(char const *, NetworkFieldChangedDelegateType_t, CUtlAbstractDelegate, NetworkFieldChangeCallbackPerformType_t, int) = 0;
|
||||
|
||||
virtual void AllowAdditionalMessageRegistration(bool bAllow) = 0;
|
||||
virtual bool IsAdditionalMessageRegistrationAllowed() = 0;
|
||||
|
||||
virtual void GetFieldChangeCallbackOrderCount(void) = 0;
|
||||
virtual void GetFieldChangeCallbackPriorities(int, int *) = 0;
|
||||
|
||||
virtual void RegisterFieldChangeCallbackPriority(int) = 0;
|
||||
|
||||
virtual NetMessageHandle_t__ *FindNetworkMessageById(int) = 0;
|
||||
|
||||
virtual void SetIsForServer(bool bForServer) = 0;
|
||||
virtual bool IsForServer() = 0;
|
||||
|
||||
virtual void RegisterSchemaTypeOverride(uint, char const *) = 0;
|
||||
|
||||
virtual int ComputeOrderForPriority(int nPriority) = 0;
|
||||
|
||||
virtual CLoggingSystem::LoggingChannel_t *GetLoggingChannel() = 0;
|
||||
|
||||
virtual ~INetworkMessages() = 0;
|
||||
};
|
||||
|
||||
DECLARE_TIER2_INTERFACE(INetworkMessages, g_pNetworkMessages);
|
||||
|
||||
#endif /* NETWORKMESSAGES_H */
|
||||
Loading…
Reference in New Issue
Block a user