Source Code (Use browser search to find items of interest.)
Class Index
ksirtet'ClientNetMeeting (./kdegames/ksirtet/lib/meeting.h:108)
class ClientNetMeeting : public NetMeeting
{
Q_OBJECT
public:
ClientNetMeeting(const cId &id,
const RemoteHostData &rhd, MPOptionWidget *options,
QWidget *parent = 0, const char * name = 0);
private slots:
void textChanged(const QString &text);
void typeChanged(MeetingCheckBox::Type);
private:
QValueList<BoardData> bds;
void idFlag(uint);
void newFlag(uint);
void endFlag(uint);
void delFlag(uint);
void modTypeFlag(uint);
void modTextFlag(uint);
void modOptFlag(uint);
void playFlag(uint);
void writeToAll(uint i=0);
void netError(uint, const QString &str);
};
ksirtet'ClientNetMeeting::ClientNetMeeting() (./kdegames/ksirtet/lib/meeting.cpp:443)
ClientNetMeeting::ClientNetMeeting(const cId &id,
const RemoteHostData &rhd, MPOptionWidget *option,
QWidget *parent, const char * name)
: NetMeeting(id, rhd.socket, option, FALSE, parent, name), bds(rhd.bds)
{
connect(sm[0]->notifier(), SIGNAL(activated(int)),
SLOT(readNotifier(int)));
players.append(NewPlayer); // server player
// Send id to server (Id flag + Id struct)
sm.commonWritingStream() << Id << id;
writeToAll(); // what happens if there is a message box appearing before exec() call ??
}
ksirtet'ClientNetMeeting::netError() (./kdegames/ksirtet/lib/meeting.cpp:457)
void ClientNetMeeting::netError(uint, const QString &str)
{
cleanReject(i18n("%1 server : aborting connection").arg(str));
}
ksirtet'ClientNetMeeting::writeToAll() (./kdegames/ksirtet/lib/meeting.cpp:462)
void ClientNetMeeting::writeToAll(uint)
{
if ( !sm.writeCommon(0) ) writeError(0);
sm.commonWritingStream().clear();
}
ksirtet'ClientNetMeeting::idFlag() (./kdegames/ksirtet/lib/meeting.cpp:468)
void ClientNetMeeting::idFlag(uint)
{
checkAndSetState(0, NewPlayer, IdChecked);
// read Id result (Id flag + Id struct)
cId serverId;
sm[0]->readingStream() >> serverId;
CHECK_READ(0);
// check result
if ( !serverId.accepted() ) cleanReject(serverId.errorMessage(id));
else {
// send client info (New flag + GameData struct)
sm.commonWritingStream() << New << bds;
writeToAll();
}
}
ksirtet'ClientNetMeeting::newFlag() (./kdegames/ksirtet/lib/meeting.cpp:486)
void ClientNetMeeting::newFlag(uint)
{
if ( players[0]==IdChecked ) {
ExtData ed;
sm[0]->readingStream() >> ed;
spl->setData(ed);
players[0] = Accepted;
} else {
MeetingLineData pld;
sm[0]->readingStream() >> pld;
appendLine(pld, FALSE);
}
CHECK_READ(0);
}
ksirtet'ClientNetMeeting::modTextFlag() (./kdegames/ksirtet/lib/meeting.cpp:501)
void ClientNetMeeting::modTextFlag(uint)
{
// receive new text from server (TextInfo struct)
TextInfo ti;
sm[0]->readingStream() >> ti;
CHECK_READ(0);
setText(ti);
}
ksirtet'ClientNetMeeting::modTypeFlag() (./kdegames/ksirtet/lib/meeting.cpp:510)
void ClientNetMeeting::modTypeFlag(uint)
{
// receive new type from server (TypeInfo struct)
TypeInfo ti;
sm[0]->readingStream() >> ti;
CHECK_READ(0);
setType(ti);
}
ksirtet'ClientNetMeeting::delFlag() (./kdegames/ksirtet/lib/meeting.cpp:519)
void ClientNetMeeting::delFlag(uint)
{
// receive client number (uint)
uint k;
sm[0]->readingStream() >> k;
CHECK_READ(0);
removeLine(k-1);
message(i18n("Client %1 has left").arg(k));
}
ksirtet'ClientNetMeeting::textChanged() (./kdegames/ksirtet/lib/meeting.cpp:529)
void ClientNetMeeting::textChanged(const QString &text)
{
// text changed : send to server (Mod_Text flag + QString)
sm.commonWritingStream() << Mod_Text << text;
writeToAll();
}
ksirtet'ClientNetMeeting::typeChanged() (./kdegames/ksirtet/lib/meeting.cpp:536)
void ClientNetMeeting::typeChanged(MeetingCheckBox::Type type)
{
// type changed : send to server (Mod_Type flag + TCB)
sm.commonWritingStream() << Mod_Type << type;
writeToAll();
}
ksirtet'ClientNetMeeting::playFlag() (./kdegames/ksirtet/lib/meeting.cpp:543)
void ClientNetMeeting::playFlag(uint)
{
// receive accept or reject (bool)
Q_UINT8 i;
sm[0]->readingStream() >> i;
CHECK_READ(0);
if (i) {
sm.remove(0, FALSE); // do not close it
socketRemoved = TRUE;
accept();
} else cleanReject(i18n("the game has begun without you\n"
"(you have been excluded by the server)"));
}
ksirtet'ClientNetMeeting::modOptFlag() (./kdegames/ksirtet/lib/meeting.cpp:558)
void ClientNetMeeting::modOptFlag(uint)
{
// read new option data
ow->dataIn( sm[0]->readingStream() );
CHECK_READ(0);
}
ksirtet'ClientNetMeeting::endFlag() (./kdegames/ksirtet/lib/meeting.cpp:565)
void ClientNetMeeting::endFlag(uint)
{
// abort from server
cleanReject(i18n("the server has aborted the game"));
}