1
#ifndef _KVI_DCC_MANAGER_H_INCLUDED_
2
#define _KVI_DCC_MANAGER_H_INCLUDED_
5
// File : kvi_dcc_manager.h (/usr/build/NEW_kvirc/kvirc/src/kvirc/kvi_dcc_manager.h)
6
// Last major modification : Sat May 15 1999 16:06:07 by Szymon Stefanek
8
// This file is part of the KVirc irc client distribution
9
// Copyright (C) 1999-2000 Szymon Stefanek (stefanek@tin.it)
11
// This program is FREE software. You can redistribute it and/or
12
// modify it under the terms of the GNU General Public License
13
// as published by the Free Software Foundation; either version 2
14
// of the License, or (at your opinion) any later version.
16
// This program is distributed in the HOPE that it will be USEFUL,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19
// See the GNU General Public License for more details.
21
// You should have received a copy of the GNU General Public License
22
// along with this program. If not, write to the Free Software Foundation,
23
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30
#include "kvi_string.h"
31
#include "kvi_ircuser.h"
33
#include <qmessagebox.h>
34
#include <qfiledialog.h>
36
typedef struct KviDccSendRequestStruct
43
KviStr originalFileName;
44
unsigned long fileLength;
45
unsigned long uAddress;
46
unsigned long resumeValue;
55
class KviDccChatMessageBox : public QMessageBox
59
KviDccChatMessageBox(KviFrame * parent,const char *nick,const char *username,const char *host,unsigned long int uAddress,unsigned short uPort,bool bVoice = false);
60
~KviDccChatMessageBox();
65
unsigned long m_uAddress;
66
unsigned short m_uPort;
68
virtual void done(int result);
70
void dccRequestAccepted(const char *n,const char *u,const char *h,unsigned long a,unsigned short p);
73
class KviDccSendMessageBox : public QMessageBox
77
KviDccSendMessageBox(KviFrame * parent,KviDccSendRequestStruct * dccSend);
78
~KviDccSendMessageBox();
80
KviDccSendRequestStruct * m_dccSend;
82
virtual void done(int result);
84
void dccRequestAccepted(KviDccSendRequestStruct *dccSend);
87
class KviDccSendResumeMessageBox : public QMessageBox
91
KviDccSendResumeMessageBox(KviFrame * parent,KviDccSendRequestStruct * dccSend);
92
~KviDccSendResumeMessageBox();
94
KviDccSendRequestStruct * m_dccSend;
96
virtual void done(int result);
98
void dccSendResumeSelectionDone(KviDccSendRequestStruct *dccSend);
101
class KviDccSendRenameMessageBox : public QMessageBox
105
KviDccSendRenameMessageBox(KviFrame * parent,KviDccSendRequestStruct * dccSend);
106
~KviDccSendRenameMessageBox();
108
KviDccSendRequestStruct * m_dccSend;
110
virtual void done(int result);
112
void dccSendRenameSelectionDone(KviDccSendRequestStruct *dccSend);
115
class KviDccSendFileDialog : public QFileDialog
119
KviDccSendFileDialog(KviFrame * parent,KviDccSendRequestStruct *dccSend,bool bOutgoingDcc);
120
~KviDccSendFileDialog();
122
KviDccSendRequestStruct * m_dccSend;
124
virtual void done(int result);
126
void dccSaveNameSelected(KviDccSendRequestStruct *dccSend);
129
typedef struct _KviDccRequest
137
KviStr szOriginalRequest;
138
unsigned short uPort;
139
unsigned long uAddress;
142
class KviDccManager : public QObject
146
KviDccManager(KviFrame * frame);
151
void handleDccRequest(KviIrcUser &source,KviDccRequest * dcc);
153
void handleDccChat(KviIrcUser &source,unsigned long uAddress,unsigned short uPort);
154
void handleDccVoice(KviIrcUser &source,unsigned long uAddress,unsigned short uPort);
155
void handleDccSend(KviIrcUser &source,KviStr &filename,unsigned long fileLen,unsigned long uAddress,unsigned short uPort);
156
void handleDccAccept(KviIrcUser &source,KviStr &filename,unsigned short uPort,unsigned long uResumePos);
157
void handleDccResume(KviIrcUser &source,KviStr &filename,unsigned short uPort,unsigned long uResumePos);
159
KviDccChat * requestDccChat(const char *nick,const char *userandhost = 0);
160
void requestDccVoice(const char *nick);
161
void requestDccSend(const char *nick,const char *filename);
163
unsigned short int getDccSendListenPort();
165
void acceptDccChat(const char *nick,const char *username,const char *host,unsigned long uAddress,unsigned short uPort);
166
void acceptDccVoice(const char *nick,const char *username,const char *host,unsigned long uAddress,unsigned short uPort);
167
void acceptDccSend(KviDccSendRequestStruct *dccSend);
168
void dccSendFileNameSelected(KviDccSendRequestStruct *dccSend);
169
void dccSendResumeSelectionDone(KviDccSendRequestStruct *dccSend);
170
void dccSendFileToSendSelected(KviDccSendRequestStruct *dccSend);
173
#endif //!_KVI_DCC_MANAGER_H_INCLUDED_