#include <RPC4Plugin.h>

Public Member Functions | |
| bool | RegisterFunction (const char *uniqueID, void(*functionPointer)(RakNet::BitStream *userData, Packet *packet)) |
| Register a function pointer to be callable from a remote system. | |
| void | RegisterSlot (const char *sharedIdentifier, void(*functionPointer)(RakNet::BitStream *userData, Packet *packet), int callPriority) |
| bool | RegisterBlockingFunction (const char *uniqueID, void(*functionPointer)(RakNet::BitStream *userData, RakNet::BitStream *returnData, Packet *packet)) |
| Same as RegisterFunction, but is called with CallBlocking() instead of Call() and returns a value to the caller. | |
| void | RegisterLocalCallback (const char *uniqueID, MessageID messageId) |
| bool | UnregisterFunction (const char *uniqueID) |
| Unregister a function pointer previously registered with RegisterFunction(). | |
| bool | UnregisterBlockingFunction (const char *uniqueID) |
| Same as UnregisterFunction, except for a blocking function. | |
| bool | UnregisterLocalCallback (const char *uniqueID, MessageID messageId) |
| bool | UnregisterSlot (const char *sharedIdentifier) |
| void | CallLoopback (const char *uniqueID, RakNet::BitStream *bitStream) |
| void | Call (const char *uniqueID, RakNet::BitStream *bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast) |
| bool | CallBlocking (const char *uniqueID, RakNet::BitStream *bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, RakNet::BitStream *returnData) |
| Same as call, but don't return until the remote system replies. Broadcasting parameter does not exist, this can only call one remote system. | |
| void | Signal (const char *sharedIdentifier, RakNet::BitStream *bitStream, PacketPriority priority, PacketReliability reliability, char orderingChannel, const AddressOrGUID systemIdentifier, bool broadcast, bool invokeLocal) |
| void | InterruptSignal (void) |
| If called while processing a slot, no further slots for the currently executing signal will be executed. | |
Protected Member Functions | |
| virtual void | OnAttach (void) |
| Called when the interface is attached. | |
| virtual PluginReceiveResult | OnReceive (Packet *packet) |
Protected Attributes | |
| unsigned int | nextSlotRegistrationCount |
| Used so slots are called in the order they are registered. | |
It is for users that want to use RPC, but do not want to use boost. You do not have the automatic serialization or other features of RPC3, and C++ member calls are not supported.
| void RakNet::RPC4::Call | ( | const char * | uniqueID, | |
| RakNet::BitStream * | bitStream, | |||
| PacketPriority | priority, | |||
| PacketReliability | reliability, | |||
| char | orderingChannel, | |||
| const AddressOrGUID | systemIdentifier, | |||
| bool | broadcast | |||
| ) |
| [in] | uniqueID | Identifier originally passed to RegisterFunction() on the remote system(s) |
| [in] | bitStream | bitStream encoded data to send to the function callback |
| [in] | priority | See RakPeerInterface::Send() |
| [in] | reliability | See RakPeerInterface::Send() |
| [in] | orderingChannel | See RakPeerInterface::Send() |
| [in] | systemIdentifier | See RakPeerInterface::Send() |
| [in] | broadcast | See RakPeerInterface::Send() |
| bool RakNet::RPC4::CallBlocking | ( | const char * | uniqueID, | |
| RakNet::BitStream * | bitStream, | |||
| PacketPriority | priority, | |||
| PacketReliability | reliability, | |||
| char | orderingChannel, | |||
| const AddressOrGUID | systemIdentifier, | |||
| RakNet::BitStream * | returnData | |||
| ) |
Same as call, but don't return until the remote system replies. Broadcasting parameter does not exist, this can only call one remote system.
| [in] | Identifier | originally passed to RegisterBlockingFunction() on the remote system(s) |
| [in] | bitStream | bitStream encoded data to send to the function callback |
| [in] | priority | See RakPeerInterface::Send() |
| [in] | reliability | See RakPeerInterface::Send() |
| [in] | orderingChannel | See RakPeerInterface::Send() |
| [in] | systemIdentifier | See RakPeerInterface::Send() |
| [out] | returnData | Written to by the function registered with RegisterBlockingFunction. |
| void RakNet::RPC4::CallLoopback | ( | const char * | uniqueID, | |
| RakNet::BitStream * | bitStream | |||
| ) |
| [in] | Identifier | originally passed to RegisterFunction() on the local system |
| [in] | bitStream | bitStream encoded data to send to the function callback |
| virtual PluginReceiveResult RakNet::RPC4::OnReceive | ( | Packet * | packet | ) | [protected, virtual] |
OnReceive is called for every packet.
| [in] | packet | the packet that is being returned to the user |
Reimplemented from RakNet::PluginInterface2.
| bool RakNet::RPC4::RegisterFunction | ( | const char * | uniqueID, | |
| void(*)(RakNet::BitStream *userData, Packet *packet) | functionPointer | |||
| ) |
Register a function pointer to be callable from a remote system.
| [in] | uniqueID | Identifier to be associated with functionPointer. If this identifier is already in use, the call will return false. |
| [in] | functionPointer | C function pointer to be called |
| void RakNet::RPC4::RegisterLocalCallback | ( | const char * | uniqueID, | |
| MessageID | messageId | |||
| ) |
| [in] | uniqueID | Identifier passed to RegisterFunction() |
| [in] | messageId | What RakNet packet ID to call on, for example ID_DISCONNECTION_NOTIFICATION or ID_CONNECTION_LOST |
| void RakNet::RPC4::RegisterSlot | ( | const char * | sharedIdentifier, | |
| void(*)(RakNet::BitStream *userData, Packet *packet) | functionPointer, | |||
| int | callPriority | |||
| ) |
Register a slot, which is a function pointer to one or more implementations that supports this function signature When a signal occurs, all slots with the same identifier are called.
| [in] | sharedIdentifier | A string to identify the slot. Recommended to be the same as the name of the function. |
| [in] | functionPtr | Pointer to the function. For C, just pass the name of the function. For C++, use ARPC_REGISTER_CPP_FUNCTION |
| [in] | callPriority | Slots are called by order of the highest callPriority first. For slots with the same priority, they are called in the order they are registered |
| void RakNet::RPC4::Signal | ( | const char * | sharedIdentifier, | |
| RakNet::BitStream * | bitStream, | |||
| PacketPriority | priority, | |||
| PacketReliability | reliability, | |||
| char | orderingChannel, | |||
| const AddressOrGUID | systemIdentifier, | |||
| bool | broadcast, | |||
| bool | invokeLocal | |||
| ) |
Calls zero or more functions identified by sharedIdentifier registered with RegisterSlot()
| [in] | sharedIdentifier | parameter of the same name passed to RegisterSlot() on the remote system |
| [in] | bitStream | bitStream encoded data to send to the function callback |
| [in] | priority | See RakPeerInterface::Send() |
| [in] | reliability | See RakPeerInterface::Send() |
| [in] | orderingChannel | See RakPeerInterface::Send() |
| [in] | systemIdentifier | See RakPeerInterface::Send() |
| [in] | broadcast | See RakPeerInterface::Send() |
| [in] | invokeLocal | If true, also sends to self. |
| bool RakNet::RPC4::UnregisterFunction | ( | const char * | uniqueID | ) |
Unregister a function pointer previously registered with RegisterFunction().
| [in] | Identifier | originally passed to RegisterFunction() |
| bool RakNet::RPC4::UnregisterLocalCallback | ( | const char * | uniqueID, | |
| MessageID | messageId | |||
| ) |
Remove the association created with RegisterPacketCallback()
| [in] | uniqueID | Identifier passed as uniqueID to RegisterLocalCallback() |
| [in] | messageId | Identifier passed as messageId to RegisterLocalCallback() |
| bool RakNet::RPC4::UnregisterSlot | ( | const char * | sharedIdentifier | ) |
Remove the association created with RegisterSlot()
| [in] | sharedIdentifier | Identifier passed as sharedIdentifier to RegisterSlot() |
1.5.7.1