• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegames API Reference
  • KDE Home
  • Contact Us
 

libkdegames/libkdegamesprivate/kgame

Public Types | Static Public Member Functions | List of all members
KGameMessage Class Reference

#include <KGame/KGameMessage>

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

Detailed Description

Definition at line 30 of file kgamemessage.h.

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 139 of file kgamemessage.h.

Member Function Documentation

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.

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
playerThe player id - can include a gameid (will get removed)
gameThe game id (<64). 0 For broadcast.
Returns
The new player id

Definition at line 27 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::createPropertyHeader ( QDataStream &  msg,
int  id 
)
static

Creates a property header given the property id.

Definition at line 72 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::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.

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.

bool KGameMessage::isGame ( quint32  id)
static

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

Parameters
idThe ID of the sender/receiver
Returns
true/false

Definition at line 54 of file kgamemessage.cpp.

bool KGameMessage::isPlayer ( quint32  id)
static

Checks whether a message receiver/sender is a player.

Parameters
idThe ID of the sender/receiver
Returns
true/false

Definition at line 45 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.

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.

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
playeridThe player id
Returns
The raw game id

Definition at line 40 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
playeridThe player id
Returns
The raw player id

Definition at line 35 of file kgamemessage.cpp.

int KGameMessage::version ( )
static
Returns
Version of the network library

Definition at line 100 of file kgamemessage.cpp.


The documentation for this class was generated from the following files:
  • kgamemessage.h
  • kgamemessage.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:18:54 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdegames/libkdegamesprivate/kgame

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

kdegames API Reference

Skip menu "kdegames API Reference"
  • granatier
  • kapman
  • kblackbox
  • kgoldrunner
  • kigo
  • kmahjongg
  • KShisen
  • ksquares
  • libkdegames
  •   highscore
  •   libkdegamesprivate
  •     kgame
  • libkmahjongg
  • palapeli
  •   libpala

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal