• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

libkdegames/kgame

KGameMessage Class Reference

#include <kgamemessage.h>

List of all members.


Detailed Description

Definition at line 27 of file kgamemessage.h.


Public Types

enum  GameMessageIds {
  IdSetupGame = 1, IdSetupGameContinue = 2, IdGameLoad = 3, IdGameConnected = 4,
  IdSyncRandom = 5, IdDisconnect = 6, IdGameSetupDone = 7, IdPlayerProperty = 20,
  IdGameProperty = 21, IdAddPlayer = 30, IdRemovePlayer = 31, IdActivatePlayer = 32,
  IdInactivatePlayer = 33, IdTurn = 34, IdError = 100, IdPlayerInput = 101,
  IdIOAdded = 102, IdProcessQuery = 220, IdPlayerId = 221, IdUser = 256
}

Static Public Member Functions

static quint32 createPlayerId (int player, quint32 game)
static int rawPlayerId (quint32 playerid)
static quint32 rawGameId (quint32 playerid)
static bool isPlayer (quint32 id)
static bool isGame (quint32 id)
static void createHeader (QDataStream &msg, quint32 sender, quint32 receiver, int msgid)
static void extractHeader (QDataStream &msg, quint32 &sender, quint32 &receiver, int &msgid)
static void createPropertyHeader (QDataStream &msg, int id)
static void extractPropertyHeader (QDataStream &msg, int &id)
static void createPropertyCommand (QDataStream &msg, int cmdid, int pid, int cmd)
static void extractPropertyCommand (QDataStream &msg, int &pid, int &cmd)
static int version ()
static QString messageId2Text (int msgid)

Member Enumeration Documentation

enum KGameMessage::GameMessageIds

Message Ids used inside KGame.

You can use your own custom message Id by adding IdUser to it.

Enumerator:
IdSetupGame 
IdSetupGameContinue 
IdGameLoad 
IdGameConnected 
IdSyncRandom 
IdDisconnect 
IdGameSetupDone 
IdPlayerProperty 
IdGameProperty 
IdAddPlayer 
IdRemovePlayer 
IdActivatePlayer 
IdInactivatePlayer 
IdTurn 
IdError 
IdPlayerInput 
IdIOAdded 
IdProcessQuery 
IdPlayerId 
IdUser 

Definition at line 137 of file kgamemessage.h.


Member Function Documentation

quint32 KGameMessage::createPlayerId ( int  player,
quint32  game 
) [static]

Creates a fully qualified player ID which contains the original player id in the lower bits and the game number in the higher bits.

Do not rely on the exact bit positions as they are internal.

See also rawPlayerId and rawGameId which are the inverse operations

Parameters:
player The player id - can include a gameid (will get removed)
game The game id (<64). 0 For broadcast.
Returns:
The new player id

Definition at line 27 of file kgamemessage.cpp.

int KGameMessage::rawPlayerId ( quint32  playerid  )  [static]

Returns the raw playerid, that is, a id which does not contain the game number encoded in it.

See also createPlayerId which is the inverse operation.

Parameters:
playerid The player id
Returns:
The raw player id

Definition at line 35 of file kgamemessage.cpp.

quint32 KGameMessage::rawGameId ( quint32  playerid  )  [static]

Returns the raw game id, that is, the game id the player belongs to.

Se also createPlayerId which is the inverse operation.

Parameters:
playerid The player id
Returns:
The raw game id

Definition at line 40 of file kgamemessage.cpp.

bool KGameMessage::isPlayer ( quint32  id  )  [static]

Checks whether a message receiver/sender is a player.

Parameters:
id The ID of the sender/receiver
Returns:
true/false

Definition at line 45 of file kgamemessage.cpp.

bool KGameMessage::isGame ( quint32  id  )  [static]

Checks whether the sender/receiver of a message is a game.

Parameters:
id The ID of the sender/receiver
Returns:
true/false

Definition at line 54 of file kgamemessage.cpp.

void KGameMessage::createHeader ( QDataStream &  msg,
quint32  sender,
quint32  receiver,
int  msgid 
) [static]

Creates a message header given cookie,sender,receiver,.

..

Also puts "hidden" header into the stream which are used by KGameClient (message length and magic cookie). If you don't need them remove them with dropExternalHeader

Definition at line 60 of file kgamemessage.cpp.

void KGameMessage::extractHeader ( QDataStream &  msg,
quint32 &  sender,
quint32 &  receiver,
int &  msgid 
) [static]

Retrieves the information like cookie,sender,receiver,.

.. from a message header

Note that it could be necessary to call dropExternalHeader first

Definition at line 65 of file kgamemessage.cpp.

void KGameMessage::createPropertyHeader ( QDataStream &  msg,
int  id 
) [static]

Creates a property header given the property id.

Definition at line 72 of file kgamemessage.cpp.

void KGameMessage::extractPropertyHeader ( QDataStream &  msg,
int &  id 
) [static]

Retrieves the property id from a property message header.

Definition at line 77 of file kgamemessage.cpp.

void KGameMessage::createPropertyCommand ( QDataStream &  msg,
int  cmdid,
int  pid,
int  cmd 
) [static]

Creates a property header given the property id.

Definition at line 84 of file kgamemessage.cpp.

void KGameMessage::extractPropertyCommand ( QDataStream &  msg,
int &  pid,
int &  cmd 
) [static]

Retrieves the property id from a property message header.

Definition at line 91 of file kgamemessage.cpp.

int KGameMessage::version (  )  [static]

Returns:
Version of the network library

Definition at line 100 of file kgamemessage.cpp.

QString KGameMessage::messageId2Text ( int  msgid  )  [static]

This function takes a GameMessageIds as argument and returns a suitable string for it.

This string can't be used to identify a message (as it is i18n'ed) but it can make debugging more easy. See also KGameDebugDialog.

Returns:
Either a i18n'ed string (the name of the id) or QString() if the msgid is unknown

Definition at line 105 of file kgamemessage.cpp.


The documentation for this class was generated from the following files:
  • kgamemessage.h
  • kgamemessage.cpp

libkdegames/kgame

Skip menu "libkdegames/kgame"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • kblackbox
  • kgoldrunner
  • kmahjongg
  • ksquares
  • libkdegames
  •   highscore
  •   kgame
  •   kggzgames
  •   kggzmod
  •   kggznet
  • libkmahjongg
Generated for API Reference by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal