RakNet  4.0
Public Member Functions | Protected Member Functions | List of all members
RakNet::Lobby2Client Class Reference

Class used to send commands to Lobby2Server. More...

#include <Lobby2Client.h>

Inheritance diagram for RakNet::Lobby2Client:
RakNet::Lobby2Plugin RakNet::PluginInterface2

Public Member Functions

void SetServerAddress (SystemAddress addr)
 Set the address of the server. When you call SendMsg() the packet will be sent to this address.
 
virtual void SendMsg (Lobby2Message *msg)
 Send a command to the server.
 
virtual void SendMsgAndDealloc (Lobby2Message *msg)
 Same as SendMsg() Also calls Dealloc on the message factory.
 
- Public Member Functions inherited from RakNet::Lobby2Plugin
void SetOrderingChannel (char oc)
 Ordering channel to send messages on.
 
void SetSendPriority (PacketPriority pp)
 Send priority to send messages on.
 
void SetMessageFactory (Lobby2MessageFactory *f)
 Creates messages from message IDs.
 
Lobby2MessageFactory * GetMessageFactory (void) const
 Returns whatever was passed to SetMessageFactory()
 
virtual void SetCallbackInterface (Lobby2Callbacks *cb)
 Set the callback to receive the results of operations via SendMsg()
 
virtual void AddCallbackInterface (Lobby2Callbacks *cb)
 You can have more than one callback to get called from the results of operations via SendMsg()
 
virtual void RemoveCallbackInterface (Lobby2Callbacks *cb)
 Removes a callback added with AddCallbackInterface();.
 
virtual void ClearCallbackInterfaces ()
 Removes all callbacks added with AddCallbackInterface();.
 
- Public Member Functions inherited from RakNet::PluginInterface2
virtual void OnAttach (void)
 Called when the interface is attached.
 
virtual void OnDetach (void)
 Called when the interface is detached.
 
virtual void Update (void)
 Update is called every time a packet is checked for .
 
virtual void OnRakPeerStartup (void)
 Called when RakPeer is initialized.
 
virtual void OnRakPeerShutdown (void)
 Called when RakPeer is shutdown.
 
virtual void OnNewConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, bool isIncoming)
 
virtual void OnFailedConnectionAttempt (Packet *packet, PI2_FailedConnectionAttemptReason failedConnectionAttemptReason)
 
virtual bool UsesReliabilityLayer (void) const
 
virtual void OnDirectSocketSend (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
 
virtual void OnDirectSocketReceive (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
 
virtual void OnReliabilityLayerNotification (const char *errorMessage, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress, bool isError)
 
virtual void OnInternalPacket (InternalPacket *internalPacket, unsigned frameNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time, int isSend)
 
virtual void OnAck (unsigned int messageNumber, SystemAddress remoteSystemAddress, RakNet::TimeMS time)
 
virtual void OnPushBackPacket (const char *data, const BitSize_t bitsUsed, SystemAddress remoteSystemAddress)
 

Protected Member Functions

PluginReceiveResult OnReceive (Packet *packet)
 
void OnClosedConnection (const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason)
 

Detailed Description

Class used to send commands to Lobby2Server.

The lobby system works by sending implementations of Lobby2Message from Lobby2Client to Lobby2Server, and getting the results via Lobby2Client::SetCallbackInterface()
The client itself is a thin shell that does little more than call Serialize on the messages.
To use:

  1. Call Lobby2Client::SetServerAddress() after connecting to the system running Lobby2Server.
  2. Instantiate an instance of RakNet::Lobby2MessageFactory and register it with RakNet::Lobby2Plugin::SetMessageFactory() (the base class of Lobby2Client)
  3. Call messageFactory.Alloc(command); where command is one of the Lobby2MessageID enumerations.
  4. Instantiate a (probably derived) instance of Lobby2Callbacks and register it with Lobby2Client::SetCallbackInterface()
  5. Cast the returned structure, fill in the input parameters, and call Lobby2Client::SendMsg() to send this command to the server.
  6. Wait for the result of the operation to be sent to your callback. The message will contain the original input parameters, possibly output parameters, and Lobby2Message::resultCode will be filled in.

Member Function Documentation

void RakNet::Lobby2Client::OnClosedConnection ( const SystemAddress systemAddress,
RakNetGUID  rakNetGUID,
PI2_LostConnectionReason  lostConnectionReason 
)
protectedvirtual

Called when a connection is dropped because the user called RakPeer::CloseConnection() for a particular system

Parameters
[in]systemAddressThe system whose connection was closed
[in]rakNetGuidThe guid of the specified system
[in]lostConnectionReasonHow the connection was closed: manually, connection lost, or notification of disconnection

Reimplemented from RakNet::PluginInterface2.

PluginReceiveResult RakNet::Lobby2Client::OnReceive ( Packet packet)
protectedvirtual

OnReceive is called for every packet.

Parameters
[in]packetthe packet that is being returned to the user
Returns
True to allow the game and other plugins to get this message, false to absorb it

Reimplemented from RakNet::PluginInterface2.

virtual void RakNet::Lobby2Client::SendMsg ( Lobby2Message msg)
virtual

Send a command to the server.

Parameters
[in]msgThe message that represents the command
[in]callbackIdWhich callback, registered with SetCallbackInterface() or AddCallbackInterface(), should process the result. -1 for all

The documentation for this class was generated from the following file: