-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommand.cpp
86 lines (61 loc) · 1.7 KB
/
command.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "command.h"
AbstractCommand::AbstractCommand(QString message) {
this->message = message;
}
AbstractCommand::~AbstractCommand() { }
QString AbstractCommand::getMessage() const {
return this->message;
}
void AbstractCommand::setMessage(QString message) {
this->message = message;
}
SendMessageCommand::SendMessageCommand(QString message) :
AbstractCommand(message)
{
}
SendMessageCommand::~SendMessageCommand() {
}
void SendMessageCommand::run(QTcpSocket *sock) {
sock->write(QString("chat\n" + this->getMessage() + "\n").toAscii());
}
LoginCommand::LoginCommand(QString message) :
AbstractCommand(message)
{
}
LoginCommand::~LoginCommand() { }
void LoginCommand::run(QTcpSocket *sock) {
sock->write(QString("log\n" + this->getMessage() + "\n").toAscii());
}
DrawCommand::DrawCommand(DrawCommand::DrawType type, int x, int y, int color) :
type(type), xRect(x), yRect(y), color(color)
{
}
DrawCommand::~DrawCommand() { }
void DrawCommand::run(QTcpSocket *sock) {
QString cmd;
if(this->type == LINE) {
cmd = "drawline\n";
}
else {
cmd = "drawpoint\n";
}
sock->write(QString(cmd + QString::number(xRect) + " " + QString::number(yRect)
+ " " + QString::number(color) + "\n").toAscii());
}
ClearCommand::ClearCommand() {
}
ClearCommand::~ClearCommand() {
}
void ClearCommand::run(QTcpSocket *sock) {
sock->write("clear\n");
}
WantDrawCommand::WantDrawCommand(bool want) :
wantDraw(want)
{
}
WantDrawCommand::~WantDrawCommand() { }
void WantDrawCommand::run(QTcpSocket *sock) {
QString message = "toggle\n";
if(!wantDraw) message = "un" + message;
sock->write(message.toAscii());
}