1
/***************************************************************************
2
dcobject.h - description
4
begin : Fri Feb 22 2002
5
copyright : (C) 2002-2003 by Mathias K�ster
6
email : mathen@users.berlios.de
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
22
*@author Mathias K�ster
27
#include <dclib/dcos.h>
28
#include <dclib/core/cobject.h>
29
#include <dclib/core/types.h>
30
#include <dclib/core/cstring.h>
31
#include <dclib/core/clist.h>
32
#include <dclib/core/types.h>
34
#define DC_USER_FILELIST_HE3 "MyList.DcLst"
35
#define DC_USER_FILELIST DC_USER_FILELIST_HE3
36
#define DC_USER_FILELIST_BZ "MyList.bz2"
37
#define DC_USER_FILELIST_XML "files.xml.bz2"
40
template class DLL_EXPORT CList<CString>;
43
typedef enum eDCMessage {
44
DC_MESSAGE_PARSE_ERROR=0,
46
DC_MESSAGE_CONNECTION_STATE, // internal con. state
47
DC_MESSAGE_TRANSFER, // transfer state
51
// direct connect proto
58
DC_MESSAGE_NICKLIST, // 10
60
DC_MESSAGE_CONNECTTOME,
62
DC_MESSAGE_PRIVATECHAT,
64
DC_MESSAGE_REVCONNECTTOME,
65
DC_MESSAGE_SEARCHRESULT,
67
DC_MESSAGE_MYNICK, // connect to me
68
DC_MESSAGE_DIRECTION, // 20 connect to me
70
DC_MESSAGE_FILELENGTH,
71
DC_MESSAGE_ERROR, // file not found ...
73
DC_MESSAGE_GETLISTLEN,
74
DC_MESSAGE_VALIDATEDENIDE,
78
DC_MESSAGE_LISTLEN, // 30
81
DC_MESSAGE_GETPASS, // user need a password
82
DC_MESSAGE_BADPASS, // wrong password
83
DC_MESSAGE_LOGEDIN, // admin
84
DC_MESSAGE_CANCEL, // cancel a transfer
85
DC_MESSAGE_CANCELED, // the transfer is canceled
87
DC_MESSAGE_CAPABILITIES,
89
// download manager types
90
DC_MESSAGE_FILE_OBJECT, // 40
91
DC_MESSAGE_TRANSFER_OBJECT,
92
DC_MESSAGE_FILELIST_OBJECT,
93
DC_MESSAGE_SLOT_OBJECT,
97
// search manager types
98
DC_MESSAGE_SEARCH_FILE,
99
DC_MESSAGE_SEARCH_USER,
100
DC_MESSAGE_SEARCHRESULT_USER,
108
DC_MESSAGE_FILE_TRANSFER_RATE,
109
DC_MESSAGE_GETHUBLIST,
110
DC_MESSAGE_CONNECT_CLIENT,
112
// verlihub extension
113
DC_MESSAGE_HUB_TOPIC,
116
DC_MESSAGE_GET_NET_INFO,
118
DC_MESSAGE_USER_COMMAND
121
#define EDONKEY_HASH_BLOCK_SIZE 9728000
123
class DLL_EXPORT CDCMessage : public CObject {
126
CDCMessage( eDCMessage type = DC_MESSAGE_UNKNOWN ) {
130
virtual ~CDCMessage() {};
133
CDCMessage & operator = (const CDCMessage & p)
144
class DLL_EXPORT CMessagePing : public CDCMessage {
147
CMessagePing() : CDCMessage(DC_MESSAGE_PING) {};
149
virtual ~CMessagePing() {};
152
CMessagePing & operator = (const CMessagePing & p)
154
(CDCMessage&)*this = (CDCMessage&)p;
160
class DLL_EXPORT CMessageHubTopic : public CDCMessage {
163
CMessageHubTopic() : CDCMessage(DC_MESSAGE_HUB_TOPIC) {};
165
virtual ~CMessageHubTopic() {};
168
CMessageHubTopic & operator = (const CMessageHubTopic & p)
170
(CDCMessage&)*this = (CDCMessage&)p;
172
m_sTopic = p.m_sTopic;
180
class DLL_EXPORT CMessageGetInfo : public CDCMessage {
183
CMessageGetInfo() : CDCMessage(DC_MESSAGE_GETINFO) {};
185
virtual ~CMessageGetInfo() {};
188
CMessageGetInfo & operator = (const CMessageGetInfo & p)
190
(CDCMessage&)*this = (CDCMessage&)p;
192
m_sSrcNick = p.m_sSrcNick;
193
m_sDstNick = p.m_sDstNick;
204
class DLL_EXPORT CMessageGetNetInfo : public CDCMessage {
207
CMessageGetNetInfo() : CDCMessage(DC_MESSAGE_GET_NET_INFO) {};
209
virtual ~CMessageGetNetInfo() {};
212
CMessageGetNetInfo & operator = (const CMessageGetNetInfo & p)
214
(CDCMessage&)*this = (CDCMessage&)p;
220
class DLL_EXPORT CMessageConnectionState : public CDCMessage {
223
CMessageConnectionState() : CDCMessage(DC_MESSAGE_CONNECTION_STATE) {
227
virtual ~CMessageConnectionState() {};
230
CMessageConnectionState & operator = (const CMessageConnectionState & p)
232
(CDCMessage&)*this = (CDCMessage&)p;
234
m_eState = p.m_eState;
235
m_sMessage = p.m_sMessage;
241
eConnectionState m_eState;
246
class DLL_EXPORT CMessageTransfer : public CDCMessage {
249
CMessageTransfer() : CDCMessage(DC_MESSAGE_TRANSFER) {
250
m_eDirection = edNONE;
255
virtual ~CMessageTransfer() {};
258
CMessageTransfer & operator = (const CMessageTransfer & p)
260
(CDCMessage&)*this = (CDCMessage&)p;
262
m_eDirection = p.m_eDirection;
263
m_nTransfered = p.m_nTransfered;
264
m_nLength = p.m_nLength;
270
eDirection m_eDirection;
272
ulonglong m_nTransfered;
277
class DLL_EXPORT CMessageFileTransferRate : public CDCMessage {
280
CMessageFileTransferRate() : CDCMessage(DC_MESSAGE_FILE_TRANSFER_RATE) {
284
virtual ~CMessageFileTransferRate() {};
287
CMessageFileTransferRate & operator = (const CMessageFileTransferRate & p)
289
(CDCMessage&)*this = (CDCMessage&)p;
291
m_sLocalFile = p.m_sLocalFile;
298
CString m_sLocalFile;
303
class DLL_EXPORT CMessageSupports : public CDCMessage {
306
CMessageSupports() : CDCMessage(DC_MESSAGE_SUPPORTS) {
310
m_bMiniSlots = FALSE;
311
m_bXMLBZList = FALSE;
315
virtual ~CMessageSupports() {};
318
CMessageSupports & operator = (const CMessageSupports & p)
320
(CDCMessage&)*this = (CDCMessage&)p;
322
m_bBZList = p.m_bBZList;
324
m_bChunk = p.m_bChunk;
325
m_bMiniSlots = p.m_bMiniSlots;
326
m_bXMLBZList = p.m_bXMLBZList;
327
m_bZBlock = p.m_bZBlock;
345
class DLL_EXPORT CMessageCapabilities : public CDCMessage {
348
CMessageCapabilities() : CDCMessage(DC_MESSAGE_CAPABILITIES) {
349
m_bUniSearch = FALSE;
354
virtual ~CMessageCapabilities() {};
357
CMessageCapabilities & operator = (const CMessageCapabilities & p)
359
(CDCMessage&)*this = (CDCMessage&)p;
361
m_bUniSearch = p.m_bUniSearch;
362
m_bXSearch = p.m_bXSearch;
376
class DLL_EXPORT CMessageError : public CDCMessage {
379
CMessageError() : CDCMessage(DC_MESSAGE_ERROR) {};
381
virtual ~CMessageError() {};
384
CMessageError & operator = (const CMessageError & p)
386
(CDCMessage&)*this = (CDCMessage&)p;
388
m_sError = p.m_sError;
397
class DLL_EXPORT CMessageGet : public CDCMessage {
400
CMessageGet() : CDCMessage(DC_MESSAGE_GET) {
405
virtual ~CMessageGet() {};
408
CMessageGet & operator = (const CMessageGet & p)
410
(CDCMessage&)*this = (CDCMessage&)p;
412
m_sFilename = p.m_sFilename;
427
class DLL_EXPORT CMessageGetPass : public CDCMessage {
430
CMessageGetPass() : CDCMessage(DC_MESSAGE_GETPASS) {};
432
virtual ~CMessageGetPass() {};
435
CMessageGetPass & operator = (const CMessageGetPass & p)
437
(CDCMessage&)*this = (CDCMessage&)p;
443
class DLL_EXPORT CMessageCancel : public CDCMessage {
446
CMessageCancel() : CDCMessage(DC_MESSAGE_CANCEL) {};
448
virtual ~CMessageCancel() {};
451
CMessageCancel & operator = (const CMessageCancel & p)
453
(CDCMessage&)*this = (CDCMessage&)p;
459
class DLL_EXPORT CMessageCanceled : public CDCMessage {
462
CMessageCanceled() : CDCMessage(DC_MESSAGE_CANCELED) {};
464
virtual ~CMessageCanceled() {};
467
CMessageCanceled & operator = (const CMessageCanceled & p)
469
(CDCMessage&)*this = (CDCMessage&)p;
475
class DLL_EXPORT CMessageKey : public CDCMessage {
478
CMessageKey() : CDCMessage(DC_MESSAGE_KEY) {};
480
virtual ~CMessageKey() {};
483
CMessageKey & operator = (const CMessageKey & p)
485
(CDCMessage&)*this = (CDCMessage&)p;
491
class DLL_EXPORT CMessageBadPass : public CDCMessage {
494
CMessageBadPass() : CDCMessage(DC_MESSAGE_BADPASS) {};
496
virtual ~CMessageBadPass() {};
499
CMessageBadPass & operator = (const CMessageBadPass & p)
501
(CDCMessage&)*this = (CDCMessage&)p;
507
class DLL_EXPORT CMessageLogedIn : public CDCMessage {
510
CMessageLogedIn() : CDCMessage(DC_MESSAGE_LOGEDIN) {};
512
virtual ~CMessageLogedIn() {};
515
CMessageLogedIn & operator = (const CMessageLogedIn & p)
517
(CDCMessage&)*this = (CDCMessage&)p;
528
class DLL_EXPORT CMessageSend : public CDCMessage {
531
CMessageSend() : CDCMessage(DC_MESSAGE_SEND) {};
533
virtual ~CMessageSend() {};
536
CMessageSend & operator = (const CMessageSend & p)
538
(CDCMessage&)*this = (CDCMessage&)p;
544
class DLL_EXPORT CMessageValidateDenide : public CDCMessage {
547
CMessageValidateDenide() : CDCMessage(DC_MESSAGE_VALIDATEDENIDE) {};
549
virtual ~CMessageValidateDenide() {};
552
CMessageValidateDenide & operator = (const CMessageValidateDenide & p)
554
(CDCMessage&)*this = (CDCMessage&)p;
560
class DLL_EXPORT CMessageHubIsFull : public CDCMessage {
563
CMessageHubIsFull() : CDCMessage(DC_MESSAGE_HUBISFULL) {};
565
virtual ~CMessageHubIsFull() {};
568
CMessageHubIsFull & operator = (const CMessageHubIsFull & p)
570
(CDCMessage&)*this = (CDCMessage&)p;
576
class DLL_EXPORT CMessageMaxedOut : public CDCMessage {
579
CMessageMaxedOut() : CDCMessage(DC_MESSAGE_MAXEDOUT) {};
581
virtual ~CMessageMaxedOut() {};
584
CMessageMaxedOut & operator = (const CMessageMaxedOut & p)
586
(CDCMessage&)*this = (CDCMessage&)p;
592
class DLL_EXPORT CMessageGetListLen : public CDCMessage {
595
CMessageGetListLen() : CDCMessage(DC_MESSAGE_GETLISTLEN) {};
597
virtual ~CMessageGetListLen() {};
600
CMessageGetListLen & operator = (const CMessageGetListLen & p)
602
(CDCMessage&)*this = (CDCMessage&)p;
608
class DLL_EXPORT CMessageLock : public CDCMessage {
611
CMessageLock() : CDCMessage(DC_MESSAGE_LOCK) {
612
m_eClientVersion = eucvNONE;
613
m_bExtProtocol = FALSE;
619
virtual ~CMessageLock() {};
622
CMessageLock & operator = (const CMessageLock & p)
624
(CDCMessage&)*this = (CDCMessage&)p;
628
m_eClientVersion = p.m_eClientVersion;
629
m_sVersionString = p.m_sVersionString;
630
m_nVersionMajor = p.m_nVersionMajor;
631
m_nVersionMinor = p.m_nVersionMinor;
632
m_nVersionPatch = p.m_nVersionPatch;
633
m_bExtProtocol = p.m_bExtProtocol;
643
eUserClientVersion m_eClientVersion;
645
CString m_sVersionString;
656
class DLL_EXPORT CMessageFileLength : public CDCMessage {
659
CMessageFileLength() : CDCMessage(DC_MESSAGE_FILELENGTH) {
663
virtual ~CMessageFileLength() {};
666
CMessageFileLength & operator = (const CMessageFileLength & p)
668
(CDCMessage&)*this = (CDCMessage&)p;
670
m_nFileLength = p.m_nFileLength;
676
ulonglong m_nFileLength;
679
class DLL_EXPORT CMessageDirection : public CDCMessage {
682
CMessageDirection() : CDCMessage(DC_MESSAGE_DIRECTION) {
684
m_eDirection = edNONE;
687
virtual ~CMessageDirection() {};
690
CMessageDirection & operator = (const CMessageDirection & p)
692
(CDCMessage&)*this = (CDCMessage&)p;
694
m_eDirection = p.m_eDirection;
695
m_nLevel = p.m_nLevel;
701
eDirection m_eDirection;
706
class DLL_EXPORT CMessageNickList : public CDCMessage {
709
CMessageNickList() : CDCMessage(DC_MESSAGE_NICKLIST) {};
711
virtual ~CMessageNickList() {};
713
CMessageNickList & operator = (const CMessageNickList & p)
715
(CDCMessage&)*this = (CDCMessage&)p;
723
CList<CString> m_NickList;
726
class DLL_EXPORT CMessageNick : public CDCMessage {
731
virtual ~CMessageNick() {};
733
CMessageNick & operator = (const CMessageNick & p)
735
(CDCMessage&)*this = (CDCMessage&)p;
746
class DLL_EXPORT CMessageMyNick : public CDCMessage {
749
CMessageMyNick() : CDCMessage(DC_MESSAGE_MYNICK) {};
751
virtual ~CMessageMyNick() {};
753
CMessageMyNick & operator = (const CMessageMyNick & p)
755
(CDCMessage&)*this = (CDCMessage&)p;
766
class DLL_EXPORT CMessageHello : public CDCMessage {
769
CMessageHello() : CDCMessage(DC_MESSAGE_HELLO) {};
771
virtual ~CMessageHello() {};
773
CMessageHello & operator = (const CMessageHello & p)
775
(CDCMessage&)*this = (CDCMessage&)p;
786
class DLL_EXPORT CMessageQuit : public CDCMessage {
789
CMessageQuit() : CDCMessage(DC_MESSAGE_QUIT) {};
791
virtual ~CMessageQuit() {};
793
CMessageQuit & operator = (const CMessageQuit & p)
795
(CDCMessage&)*this = (CDCMessage&)p;
806
class DLL_EXPORT CMessageChat : public CDCMessage {
809
CMessageChat() : CDCMessage(DC_MESSAGE_CHAT) {};
811
virtual ~CMessageChat() {};
813
CMessageChat & operator = (const CMessageChat & p)
815
(CDCMessage&)*this = (CDCMessage&)p;
818
m_sMessage = p.m_sMessage;
829
class DLL_EXPORT CMessageMyInfo : public CDCMessage {
832
CMessageMyInfo() : CDCMessage(DC_MESSAGE_MYINFO) {
835
m_eAwayMode = euamNONE;
836
m_eClientVersion = eucvNONE;
839
m_eUserSpeed = eusUNKNOWN;
840
m_eClientMode = ecmNONE;
843
virtual ~CMessageMyInfo() {};
846
CMessageMyInfo & operator = (const CMessageMyInfo & p)
848
(CDCMessage&)*this = (CDCMessage&)p;
851
m_sComment = p.m_sComment;
852
m_sUnknown = p.m_sUnknown;
853
m_eUserSpeed = p.m_eUserSpeed;
854
m_sUserSpeed = p.m_sUserSpeed;
855
m_sEMail = p.m_sEMail;
856
m_nShared = p.m_nShared;
857
m_eAwayMode = p.m_eAwayMode;
858
m_bOperator = p.m_bOperator;
859
m_sVerComment = p.m_sVerComment;
860
m_eClientVersion = p.m_eClientVersion;
861
m_eClientMode = p.m_eClientMode;
862
m_nFreeSlot = p.m_nFreeSlot;
863
m_nMaxSlot = p.m_nMaxSlot;
864
m_sTransferHost = p.m_sTransferHost;
865
m_MessageLock = p.m_MessageLock;
866
m_MessageSupports = p.m_MessageSupports;
878
eUserSpeed m_eUserSpeed;
879
/** the speed string */
880
CString m_sUserSpeed;
886
eUserAwayMode m_eAwayMode;
887
/** operator status */
890
CString m_sVerComment;
891
/** parsed client version */
892
eUserClientVersion m_eClientVersion;
894
eClientMode m_eClientMode;
896
unsigned int m_nFreeSlot;
898
unsigned int m_nMaxSlot;
900
CString m_sTransferHost;
902
CMessageLock m_MessageLock;
904
CMessageSupports m_MessageSupports;
907
class DLL_EXPORT CMessageConnectToMe : public CDCMessage {
910
CMessageConnectToMe() : CDCMessage(DC_MESSAGE_CONNECTTOME) {
914
virtual ~CMessageConnectToMe() {};
916
CMessageConnectToMe & operator = (const CMessageConnectToMe & p)
918
(CDCMessage&)*this = (CDCMessage&)p;
935
class DLL_EXPORT CMessageRevConnectToMe : public CDCMessage {
938
CMessageRevConnectToMe() : CDCMessage(DC_MESSAGE_REVCONNECTTOME) {};
940
virtual ~CMessageRevConnectToMe() {};
942
CMessageRevConnectToMe & operator = (const CMessageRevConnectToMe & p)
944
(CDCMessage&)*this = (CDCMessage&)p;
947
m_sDstNick = p.m_sDstNick;
958
class DLL_EXPORT CMessageSearch : public CDCMessage {
961
CMessageSearch() : CDCMessage(DC_MESSAGE_SEARCH) {
964
m_bSizeLimit = FALSE;
965
m_bSizeAtMost = FALSE;
967
m_eFileType = eftUNKNOWN;
971
virtual ~CMessageSearch() {};
974
CMessageSearch & operator = (const CMessageSearch & p)
976
(CDCMessage&)*this = (CDCMessage&)p;
978
m_bLocal = p.m_bLocal;
979
m_sSource = p.m_sSource;
981
m_bSizeLimit = p.m_bSizeLimit;
982
m_bSizeAtMost = p.m_bSizeAtMost;
984
m_eFileType = p.m_eFileType;
985
m_sString = p.m_sString;
986
m_bExtended = p.m_bExtended;
991
/** local or global search */
993
/** the source, nick or host */
995
/** if source a host, this is the port */
997
/** search options */
999
/** search options */
1001
/** search options */
1003
/** search options */
1004
eFileTypes m_eFileType;
1005
/** search string */
1007
/** extended protocol */
1011
class DLL_EXPORT CMessageForceMove : public CDCMessage {
1014
CMessageForceMove() : CDCMessage(DC_MESSAGE_FORCEMOVE) {
1018
virtual ~CMessageForceMove() {};
1021
CMessageForceMove & operator = (const CMessageForceMove & p)
1023
(CDCMessage&)*this = (CDCMessage&)p;
1025
m_sHost = p.m_sHost;
1026
m_nPort = p.m_nPort;
1037
class DLL_EXPORT CMessageSearchResult : public CDCMessage {
1040
CMessageSearchResult() : CDCMessage(DC_MESSAGE_SEARCHRESULT) {
1046
virtual ~CMessageSearchResult() {};
1049
CMessageSearchResult & operator = (const CMessageSearchResult & p)
1051
(CDCMessage&)*this = (CDCMessage&)p;
1053
m_sNick = p.m_sNick;
1054
m_sFile = p.m_sFile;
1055
m_nSize = p.m_nSize;
1056
m_sHubName = p.m_sHubName;
1057
m_sHubHost = p.m_sHubHost;
1058
m_sHash = p.m_sHash;
1059
m_nFreeSlot = p.m_nFreeSlot;
1060
m_nMaxSlot = p.m_nMaxSlot;
1078
unsigned int m_nFreeSlot;
1080
unsigned int m_nMaxSlot;
1083
class DLL_EXPORT CMessagePrivateChat : public CDCMessage {
1086
CMessagePrivateChat() : CDCMessage(DC_MESSAGE_PRIVATECHAT) {
1087
m_eSecureState = esecsNONE;
1090
virtual ~CMessagePrivateChat() {};
1093
CMessagePrivateChat & operator = (const CMessagePrivateChat & p)
1095
(CDCMessage&)*this = (CDCMessage&)p;
1097
m_sDstNick = p.m_sDstNick;
1098
m_sSrcNick = p.m_sSrcNick;
1099
m_sMultiSrcNick = p.m_sMultiSrcNick;
1100
m_sMessage = p.m_sMessage;
1101
m_eSecureState = p.m_eSecureState;
1111
CString m_sMultiSrcNick;
1115
eSecureState m_eSecureState;
1118
class DLL_EXPORT CMessageHubName : public CDCMessage {
1121
CMessageHubName() : CDCMessage(DC_MESSAGE_HUBNAME) {};
1123
virtual ~CMessageHubName() {};
1126
CMessageHubName & operator = (const CMessageHubName & p)
1128
(CDCMessage&)*this = (CDCMessage&)p;
1130
m_sHubName = p.m_sHubName;
1131
m_sOldHubName = p.m_sOldHubName;
1139
CString m_sOldHubName;
1142
// download manager object classes
1144
class DLL_EXPORT CMessageDMFileObject : public CDCMessage {
1147
CMessageDMFileObject() : CDCMessage(DC_MESSAGE_FILE_OBJECT) {
1149
m_eTransferWaitState = etwsWAIT;
1151
m_eTransferFileState = etfsNONE;
1153
m_nStartPosition = 0;
1154
m_nCurrentPosition = 0;
1157
m_bRemoveFile = FALSE;
1161
virtual ~CMessageDMFileObject() {};
1164
CMessageDMFileObject & operator = (const CMessageDMFileObject & p)
1166
m_sNick = p.m_sNick;
1167
m_sHubName = p.m_sHubName;
1168
m_sHubHost = p.m_sHubHost;
1169
m_tTimeout = p.m_tTimeout;
1170
m_eTransferWaitState = p.m_eTransferWaitState;
1171
m_nConnections = p.m_nConnections;
1172
m_sRemoteFile = p.m_sRemoteFile;
1173
m_sLocalFile = p.m_sLocalFile;
1174
m_eTransferFileState = p.m_eTransferFileState;
1175
m_nSize = p.m_nSize;
1176
m_nStartPosition = p.m_nStartPosition;
1177
m_nCurrentPosition = p.m_nCurrentPosition;
1178
m_nEndPosition = p.m_nEndPosition;
1179
m_bMulti = p.m_bMulti;
1180
m_bRemoveFile = p.m_bRemoveFile;
1181
m_nPriority = p.m_nPriority;
1195
eTransferWaitState m_eTransferWaitState;
1199
CString m_sRemoteFile;
1200
/** the local file */
1201
CString m_sLocalFile;
1203
eTransferFileState m_eTransferFileState;
1206
/** current file position */
1207
ulonglong m_nStartPosition;
1208
/** current file position */
1209
ulonglong m_nCurrentPosition;
1210
/** file end position */
1211
ulonglong m_nEndPosition;
1220
class DLL_EXPORT CMessageDMTransferObject : public CDCMessage {
1223
CMessageDMTransferObject() : CDCMessage(DC_MESSAGE_TRANSFER_OBJECT) {
1232
bRemoveTransfer = FALSE;
1234
m_bEncrypted = FALSE;
1237
virtual ~CMessageDMTransferObject() {};
1240
CMessageDMTransferObject & operator = (const CMessageDMTransferObject & p)
1242
m_nTransferID = p.m_nTransferID;
1243
m_sSrcNick = p.m_sSrcNick;
1244
m_sDstNick = p.m_sDstNick;
1246
m_sHubHost = p.m_sHubHost;
1247
sHubName = p.sHubName;
1248
m_sDstFile = p.m_sDstFile;
1249
m_sSrcFile = p.m_sSrcFile;
1251
lSizeDone = p.lSizeDone;
1253
m_nMultiRate = p.m_nMultiRate;
1254
lStartPosition = p.lStartPosition;
1255
lTransfered = p.lTransfered;
1256
lEndPosition = p.lEndPosition;
1257
bRemoveTransfer = p.bRemoveTransfer;
1258
m_bEncrypted = p.m_bEncrypted;
1264
ulonglong m_nTransferID;
1276
eConnectionState eState;
1284
/** file size done */
1285
ulonglong lSizeDone;
1286
/** rate of transfer */
1288
/** rate of all transfers */
1289
ulonglong m_nMultiRate;
1291
ulonglong lStartPosition;
1293
ulonglong lTransfered;
1295
ulonglong lEndPosition;
1297
bool bRemoveTransfer;
1302
class DLL_EXPORT CMessageDMFileListObject : public CDCMessage {
1305
CMessageDMFileListObject() : CDCMessage(DC_MESSAGE_FILELIST_OBJECT) {};
1307
virtual ~CMessageDMFileListObject() {};
1310
CMessageDMFileListObject & operator = (const CMessageDMFileListObject & p)
1313
sHubName = p.sHubName;
1314
sHubHost = p.sHubHost;
1315
sLocalFile = p.sLocalFile;
1330
class DLL_EXPORT CMessageDMSlotObject : public CDCMessage {
1333
CMessageDMSlotObject() : CDCMessage(DC_MESSAGE_SLOT_OBJECT) {
1338
virtual ~CMessageDMSlotObject() {};
1350
class DLL_EXPORT CMessageLog : public CDCMessage {
1353
CMessageLog() : CDCMessage(DC_MESSAGE_LOG) {};
1355
virtual ~CMessageLog() {};
1361
class DLL_EXPORT CMessageSearchUser : public CMessageNick {
1364
CMessageSearchUser() {
1365
m_eType = DC_MESSAGE_SEARCH_USER;
1368
virtual ~CMessageSearchUser() {};
1371
class DLL_EXPORT CMessageSearchResultUser : public CMessageMyInfo {
1374
CMessageSearchResultUser() {
1375
m_eType = DC_MESSAGE_SEARCHRESULT_USER;
1378
virtual ~CMessageSearchResultUser() {};
1384
class DLL_EXPORT CMessageSearchFile : public CMessageSearch {
1387
CMessageSearchFile() {
1388
m_eType = DC_MESSAGE_SEARCH_FILE;
1392
virtual ~CMessageSearchFile() {};
1394
/** hub network search */
1398
class DLL_EXPORT DCHubObject : public CObject {
1405
DCHubObject( DCHubObject * o ) {
1406
m_bActive = o->m_bActive;
1407
m_sHubName = o->m_sHubName;
1408
m_sHubHost = o->m_sHubHost;
1412
virtual ~DCHubObject() {};
1422
class DLL_EXPORT DCMessageTraffic : public CDCMessage {
1425
DCMessageTraffic() : CDCMessage(DC_MESSAGE_TRAFFIC) {
1434
virtual ~DCMessageTraffic() {};
1436
DCMessageTraffic & operator = (const DCMessageTraffic & s)
1440
m_nDataRx = s.m_nDataRx;
1441
m_nDataTx = s.m_nDataTx;
1442
m_nControlRx = s.m_nControlRx;
1443
m_nControlTx = s.m_nControlTx;
1453
ulonglong m_nDataRx;
1455
ulonglong m_nDataTx;
1457
ulonglong m_nControlRx;
1459
ulonglong m_nControlTx;
1462
class DLL_EXPORT DCMessageGetHubList : public CDCMessage {
1465
DCMessageGetHubList() : CDCMessage(DC_MESSAGE_GETHUBLIST) {
1469
virtual ~DCMessageGetHubList() {};
1475
class DLL_EXPORT DCMessageConnectClient : public CDCMessage {
1478
DCMessageConnectClient() : CDCMessage(DC_MESSAGE_CONNECT_CLIENT) {
1481
virtual ~DCMessageConnectClient() {};