projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #92 from mamarley/nodbnoemit
[quassel.git]
/
src
/
common
/
protocol.h
diff --git
a/src/common/protocol.h
b/src/common/protocol.h
index
89ef407
..
b219e01
100644
(file)
--- a/
src/common/protocol.h
+++ b/
src/common/protocol.h
@@
-1,5
+1,5
@@
/***************************************************************************
/***************************************************************************
- * Copyright (C) 2005-201
3
by the Quassel Project *
+ * Copyright (C) 2005-201
4
by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-27,17
+27,27
@@
namespace Protocol {
namespace Protocol {
+const quint32 magic = 0x42b33f00;
+
enum Type {
enum Type {
- LegacyProtocol = 1
+ LegacyProtocol = 0x01,
+ DataStreamProtocol = 0x02
+};
+
+
+enum Feature {
+ Encryption = 0x01,
+ Compression = 0x02
};
};
+
enum Handler {
SignalProxy,
AuthHandler
};
enum Handler {
SignalProxy,
AuthHandler
};
-/*** Handshake, handled by AuthHandler ***/
+/*** Handshake, handled by AuthHandler ***/
struct HandshakeMessage {
inline Handler handler() const { return AuthHandler; }
struct HandshakeMessage {
inline Handler handler() const { return AuthHandler; }
@@
-46,11
+56,13
@@
struct HandshakeMessage {
struct RegisterClient : public HandshakeMessage
{
struct RegisterClient : public HandshakeMessage
{
- inline RegisterClient(const QString &clientVersion, bool sslSupported = false)
+ inline RegisterClient(const QString &clientVersion,
const QString &buildDate,
bool sslSupported = false)
: clientVersion(clientVersion)
: clientVersion(clientVersion)
+ , buildDate(buildDate)
, sslSupported(sslSupported) {}
QString clientVersion;
, sslSupported(sslSupported) {}
QString clientVersion;
+ QString buildDate;
// this is only used by the LegacyProtocol in compat mode
bool sslSupported;
// this is only used by the LegacyProtocol in compat mode
bool sslSupported;
@@
-68,12
+80,12
@@
struct ClientDenied : public HandshakeMessage
struct ClientRegistered : public HandshakeMessage
{
struct ClientRegistered : public HandshakeMessage
{
- inline ClientRegistered(quint32 coreFeatures, bool coreConfigured, const QVariantList &backendInfo, bool sslSupported, const Q
DateTime &coreStartTime
)
+ inline ClientRegistered(quint32 coreFeatures, bool coreConfigured, const QVariantList &backendInfo, bool sslSupported, const Q
String &coreInfo
)
: coreFeatures(coreFeatures)
, coreConfigured(coreConfigured)
, backendInfo(backendInfo)
, sslSupported(sslSupported)
: coreFeatures(coreFeatures)
, coreConfigured(coreConfigured)
, backendInfo(backendInfo)
, sslSupported(sslSupported)
- , core
StartTime(coreStartTime
)
+ , core
Info(coreInfo
)
{}
quint32 coreFeatures;
{}
quint32 coreFeatures;
@@
-82,7
+94,7
@@
struct ClientRegistered : public HandshakeMessage
// this is only used by the LegacyProtocol in compat mode
bool sslSupported;
// this is only used by the LegacyProtocol in compat mode
bool sslSupported;
- Q
DateTime coreStartTime
;
+ Q
String coreInfo
;
};
};
@@
-141,6
+153,7
@@
struct LoginSuccess : public HandshakeMessage
// TODO: more generic format
struct SessionState : public HandshakeMessage
{
// TODO: more generic format
struct SessionState : public HandshakeMessage
{
+ inline SessionState() {} // needed for QMetaType (for the mono client)
inline SessionState(const QVariantList &identities, const QVariantList &bufferInfos, const QVariantList &networkIds)
: identities(identities), bufferInfos(bufferInfos), networkIds(networkIds) {}
inline SessionState(const QVariantList &identities, const QVariantList &bufferInfos, const QVariantList &networkIds)
: identities(identities), bufferInfos(bufferInfos), networkIds(networkIds) {}
@@
-149,7
+162,6
@@
struct SessionState : public HandshakeMessage
QVariantList networkIds;
};
QVariantList networkIds;
};
-
/*** handled by SignalProxy ***/
struct SignalProxyMessage
/*** handled by SignalProxy ***/
struct SignalProxyMessage