Classes | Namespaces | Defines | Enumerations

AutoRPC.h File Reference

Automatically serializing and deserializing RPC system. More advanced RPC, but possibly not cross-platform. More...

#include "NativeFeatureIncludes.h"
#include "PluginInterface2.h"
#include "DS_Map.h"
#include "PacketPriority.h"
#include "RakNetTypes.h"
#include "BitStream.h"
#include "Gen_RPC8.h"
#include "RakString.h"
Include dependency graph for AutoRPC.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  RakNet::AutoRPC
struct  RakNet::AutoRPC::RPCIdentifier
struct  RakNet::AutoRPC::LocalRPCFunction
struct  RakNet::AutoRPC::RemoteRPCFunction

Namespaces

namespace  RakNet
 

Forward declaration.


Defines

#define ARPC_MAX_STACK_SIZE   65536
 Maximum amount of data that can be passed on the stack in a function call.
#define ARPC_REGISTER_CPP_FUNCTION0(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*)) &_CLASS_::_FUNCTION_, true, 0 );
#define ARPC_REGISTER_CPP_FUNCTION1(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_ )) &_CLASS_::_FUNCTION_, true, 0 );
#define ARPC_REGISTER_CPP_FUNCTION2(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_ )) &_CLASS_::_FUNCTION_, true, 1 );
#define ARPC_REGISTER_CPP_FUNCTION3(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_, _PARAMS3_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_ )) &_CLASS_::_FUNCTION_, true, 2 );
#define ARPC_REGISTER_CPP_FUNCTION4(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_ )) &_CLASS_::_FUNCTION_, true, 3 );
#define ARPC_REGISTER_CPP_FUNCTION5(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_ )) &_CLASS_::_FUNCTION_, true, 4 );
#define ARPC_REGISTER_CPP_FUNCTION6(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_ )) &_CLASS_::_FUNCTION_, true, 5 );
#define ARPC_REGISTER_CPP_FUNCTION7(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_ )) &_CLASS_::_FUNCTION_, true, 6 );
#define ARPC_REGISTER_CPP_FUNCTION8(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_, _PARAMS8_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_, _PARAMS8_ )) &_CLASS_::_FUNCTION_, true, 7 );
#define ARPC_REGISTER_CPP_FUNCTION9(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_, _PARAMS8_, _PARAMS9_)   (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_, _PARAMS8_, _PARAMS9_ )) &_CLASS_::_FUNCTION_, true, 8 );

Enumerations

enum  RakNet::RPCErrorCodes {
  RakNet::RPC_ERROR_NETWORK_ID_MANAGER_UNAVAILABLE, RakNet::RPC_ERROR_OBJECT_DOES_NOT_EXIST, RakNet::RPC_ERROR_FUNCTION_INDEX_OUT_OF_RANGE, RakNet::RPC_ERROR_FUNCTION_NOT_REGISTERED,
  RakNet::RPC_ERROR_FUNCTION_NO_LONGER_REGISTERED, RakNet::RPC_ERROR_CALLING_CPP_AS_C, RakNet::RPC_ERROR_CALLING_C_AS_CPP, RakNet::RPC_ERROR_STACK_TOO_SMALL,
  RakNet::RPC_ERROR_STACK_DESERIALIZATION_FAILED, RakNet::RPC_ERROR_INCORRECT_NUMBER_OF_PARAMETERS, RakNet::RPC_ERROR_FUNCTION_NOT_REGISTERED
}

Detailed Description

Automatically serializing and deserializing RPC system. More advanced RPC, but possibly not cross-platform.

This file is part of RakNet Copyright 2003 Jenkins Software LLC

Usage of RakNet is subject to the appropriate license agreement.

Definition in file AutoRPC.h.


Define Documentation

#define ARPC_MAX_STACK_SIZE   65536

Maximum amount of data that can be passed on the stack in a function call.

Definition at line 38 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION0 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*)) &_CLASS_::_FUNCTION_, true, 0 );

Definition at line 87 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION1 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_ )) &_CLASS_::_FUNCTION_, true, 0 );

Definition at line 90 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION2 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_ )) &_CLASS_::_FUNCTION_, true, 1 );

Definition at line 93 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION3 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_,
  _PARAMS3_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_ )) &_CLASS_::_FUNCTION_, true, 2 );

Definition at line 96 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION4 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_,
  _PARAMS3_,
  _PARAMS4_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_ )) &_CLASS_::_FUNCTION_, true, 3 );

Definition at line 99 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION5 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_,
  _PARAMS3_,
  _PARAMS4_,
  _PARAMS5_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_ )) &_CLASS_::_FUNCTION_, true, 4 );

Definition at line 102 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION6 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_,
  _PARAMS3_,
  _PARAMS4_,
  _PARAMS5_,
  _PARAMS6_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_ )) &_CLASS_::_FUNCTION_, true, 5 );

Definition at line 105 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION7 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_,
  _PARAMS3_,
  _PARAMS4_,
  _PARAMS5_,
  _PARAMS6_,
  _PARAMS7_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_ )) &_CLASS_::_FUNCTION_, true, 6 );

Definition at line 108 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION8 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_,
  _PARAMS3_,
  _PARAMS4_,
  _PARAMS5_,
  _PARAMS6_,
  _PARAMS7_,
  _PARAMS8_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_, _PARAMS8_ )) &_CLASS_::_FUNCTION_, true, 7 );

Definition at line 111 of file AutoRPC.h.

#define ARPC_REGISTER_CPP_FUNCTION9 (   autoRPCInstance,
  _IDENTIFIER_,
  _RETURN_,
  _CLASS_,
  _FUNCTION_,
  _PARAMS1_,
  _PARAMS2_,
  _PARAMS3_,
  _PARAMS4_,
  _PARAMS5_,
  _PARAMS6_,
  _PARAMS7_,
  _PARAMS8_,
  _PARAMS9_ 
)    (autoRPCInstance)->RegisterFunction((_IDENTIFIER_), (void*)(_RETURN_ (*) (_CLASS_*, _PARAMS1_, _PARAMS2_, _PARAMS3_, _PARAMS4_, _PARAMS5_, _PARAMS6_, _PARAMS7_, _PARAMS8_, _PARAMS9_ )) &_CLASS_::_FUNCTION_, true, 8 );

Definition at line 114 of file AutoRPC.h.