# RakNet::Lobby2Client Class Reference
[Lobby2Client]

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

`#include <Lobby2Client.h>`

Inheritance diagram for RakNet::Lobby2Client:

List of all members.

## 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.

## Protected Member Functions

PluginReceiveResult | OnReceive (Packet *packet)
void | OnClosedConnection (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 | ( | SystemAddress | systemAddress,
|  | RakNetGUID | rakNetGUID,
|  | PI2_LostConnectionReason | lostConnectionReason |
| ) |  |  | `[protected, virtual]`

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

Parameters:

  `[in]` | systemAddress | The system whose connection was closed
  `[in]` | rakNetGuid | The guid of the specified system
  `[in]` | lostConnectionReason | How the connection was closed: manually, connection lost, or notification of disconnection

Reimplemented from PluginInterface2.

PluginReceiveResult RakNet::Lobby2Client::OnReceive | ( | Packet * | packet | ) | `[protected, virtual]`

OnReceive is called for every packet.

Parameters:

  `[in]` | packet | the 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 PluginInterface2.

virtual void RakNet::Lobby2Client::SendMsg | ( | Lobby2Message * | msg | ) | `[virtual]`

Send a command to the server.

Parameters:

  `[in]` | msg | The message that represents the command
  `[in]` | callbackId | Which callback, registered with SetCallbackInterface() or AddCallbackInterface(), should process the result. -1 for all

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

- d:/RakNet-3.x/DependentExtensions/Lobby2/Lobby2Client.h