AutoRPC.h File Reference

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

#include "PluginInterface.h"
#include "DS_Map.h"
#include "PacketPriority.h"
#include "RakNetTypes.h"
#include "BitStream.h"

Namespaces

namespace  RakNet

Classes

class  RakNet::AutoRPC

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_FUNCTION(autoRPCInstance, _IDENTIFIER_, _RETURN_, _CLASS_, _FUNCTION_, _PARAMS_)

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
}
 Error codes returned by a remote system as to why an RPC function call cannot execute. More...


Detailed Description

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

This file is part of RakNet Copyright 2003 Kevin Jenkins.

Usage of RakNet is subject to the appropriate license agreement. Creative Commons Licensees are subject to the license found at http://creativecommons.org/licenses/by-nc/2.5/ Single application licensees are subject to the license found at http://www.jenkinssoftware.com/SingleApplicationLicense.html Custom license users are subject to the terms therein. GPL license users are subject to the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.


Define Documentation

#define ARPC_REGISTER_CPP_FUNCTION ( autoRPCInstance,
_IDENTIFIER_,
_RETURN_,
_CLASS_,
_FUNCTION_,
_PARAMS_   ) 

Value:

{ \
union \
{ \
        _RETURN_ (__cdecl _CLASS_::*__memberFunctionPtr)_PARAMS_; \
        void* __voidFunc; \
}; \
        __memberFunctionPtr=&_CLASS_::_FUNCTION_; \
        (autoRPCInstance)->RegisterFunction(_IDENTIFIER_, __voidFunc, true); \
}
Easier way to get a pointer to a function member of a C++ class
Parameters:
[in] autoRPCInstance A pointer to an instance of AutoRPC
[in] _IDENTIFIER_ C string identifier to use on the remote system to call the function
[in] _RETURN_ Return value of the function
[in] _CLASS_ Base-most class of the containing class that contains your function
[in] _FUNCTION_ Name of the function
[in] _PARAMS_ Parameter list, include parenthesis


Generated on Mon Mar 31 21:15:52 2008 for RakNet by  doxygen 1.5.4