Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
830a4c2f
Commit
830a4c2f
authored
Mar 30, 2016
by
ctrlaltca
Browse files
Merge pull request #1894 from woogerboy21/clientid_update
Updated ClientID Functionality
parents
3c58003a
44123b9b
Changes
3
Hide whitespace changes
Inline
Side-by-side
cockatrice/src/remoteclient.cpp
View file @
830a4c2f
#include
<QList>
#include
<QTimer>
#include
<QThread>
#include
<QCryptographicHash>
#include
"remoteclient.h"
#include
"settingscache.h"
#include
"pending_command.h"
...
...
@@ -81,7 +82,7 @@ void RemoteClient::processServerIdentificationEvent(const Event_ServerIdentifica
cmdRegister
.
set_gender
((
ServerInfo_User_Gender
)
gender
);
cmdRegister
.
set_country
(
country
.
toStdString
());
cmdRegister
.
set_real_name
(
realName
.
toStdString
());
cmdRegister
.
set_clientid
(
settingsCache
->
getClientID
(
).
toStdString
());
cmdRegister
.
set_clientid
(
getSrvClientID
(
lastHostname
).
toStdString
());
PendingCommand
*
pend
=
prepareSessionCommand
(
cmdRegister
);
connect
(
pend
,
SIGNAL
(
finished
(
Response
,
CommandContainer
,
QVariant
)),
this
,
SLOT
(
registerResponse
(
Response
)));
sendCommand
(
pend
);
...
...
@@ -107,11 +108,10 @@ void RemoteClient::processServerIdentificationEvent(const Event_ServerIdentifica
void
RemoteClient
::
doLogin
()
{
setStatus
(
StatusLoggingIn
);
Command_Login
cmdLogin
;
cmdLogin
.
set_user_name
(
userName
.
toStdString
());
cmdLogin
.
set_password
(
password
.
toStdString
());
cmdLogin
.
set_clientid
(
settingsCache
->
getClientID
(
).
toStdString
());
cmdLogin
.
set_clientid
(
getSrvClientID
(
lastHostname
).
toStdString
());
cmdLogin
.
set_clientver
(
VERSION_STRING
);
if
(
!
clientFeatures
.
isEmpty
())
{
...
...
@@ -119,7 +119,6 @@ void RemoteClient::doLogin() {
for
(
i
=
clientFeatures
.
begin
();
i
!=
clientFeatures
.
end
();
++
i
)
cmdLogin
.
add_clientfeatures
(
i
.
key
().
toStdString
().
c_str
());
}
PendingCommand
*
pend
=
prepareSessionCommand
(
cmdLogin
);
connect
(
pend
,
SIGNAL
(
finished
(
Response
,
CommandContainer
,
QVariant
)),
this
,
SLOT
(
loginResponse
(
Response
)));
sendCommand
(
pend
);
...
...
@@ -263,7 +262,6 @@ void RemoteClient::doConnectToServer(const QString &hostname, unsigned int port,
userName
=
_userName
;
password
=
_password
;
QString
clientid
=
settingsCache
->
getClientID
();
lastHostname
=
hostname
;
lastPort
=
port
;
...
...
@@ -363,3 +361,11 @@ void RemoteClient::disconnectFromServer()
{
emit
sigDisconnectFromServer
();
}
QString
RemoteClient
::
getSrvClientID
(
const
QString
_hostname
)
{
QString
srvClientID
=
settingsCache
->
getClientID
();
srvClientID
+=
_hostname
;
QString
uniqueServerClientID
=
QCryptographicHash
::
hash
(
srvClientID
.
toUtf8
(),
QCryptographicHash
::
Sha1
).
toHex
().
right
(
15
);
return
uniqueServerClientID
;
}
\ No newline at end of file
cockatrice/src/remoteclient.h
View file @
830a4c2f
...
...
@@ -51,6 +51,7 @@ private:
QTcpSocket
*
socket
;
QString
lastHostname
;
int
lastPort
;
QString
getSrvClientID
(
const
QString
_hostname
);
protected
slots
:
void
sendCommandContainer
(
const
CommandContainer
&
cont
);
public:
...
...
cockatrice/src/settingscache.h
View file @
830a4c2f
...
...
@@ -176,7 +176,7 @@ public:
bool
getRememberGameSettings
()
const
{
return
rememberGameSettings
;
}
int
getKeepAlive
()
const
{
return
keepalive
;
}
void
setClientID
(
QString
clientID
);
QString
getClientID
()
{
return
clientID
;
}
QString
getClientID
()
{
return
clientID
;
}
ShortcutsSettings
&
shortcuts
()
const
{
return
*
shortcutsSettings
;
}
CardDatabaseSettings
&
cardDatabase
()
const
{
return
*
cardDatabaseSettings
;
}
ServersSettings
&
servers
()
const
{
return
*
serversSettings
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment