2
* isd_server.h - ISD Server
4
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
6
* This file is part of iTALC - http://italc.sourceforge.net
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public
10
* License as published by the Free Software Foundation; either
11
* version 2 of the License, or (at your option) any later version.
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* General Public License for more details.
18
* You should have received a copy of the GNU General Public
19
* License along with this program (see COPYING); if not, write to the
20
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21
* Boston, MA 02111-1307, USA.
28
#include <QtCore/QList>
29
#include <QtCore/QMutex>
30
#include <QtCore/QPair>
31
#include <QtCore/QSignalMapper>
32
#include <QtCore/QStringList>
33
#include <QtNetwork/QTcpServer>
44
class isdServer : public QTcpServer
48
enum accessDialogResult
56
isdServer( const quint16 _ivs_port, int _argc, char * * _argv );
59
int processClient( socketDispatcher _sd, void * _user );
61
static bool protocolInitialization( socketDevice & _sd,
62
italcAuthTypes _auth_type,
63
bool _demo_server = FALSE );
64
static bool authSecTypeItalc( socketDispatcher _sd, void * _user,
65
italcAuthTypes _auth_type = ItalcAuthDSA );
67
static quint16 isdPort( void );
69
static accessDialogResult showAccessDialog( const QString & _host );
73
void acceptNewConnection( void );
74
void processClient( QObject * _sock );
76
void checkForPendingActions( void );
78
void demoWindowClosed( QObject * );
81
void startDemo( const QString & _master_host, bool _fullscreen );
82
void stopDemo( void );
84
void lockDisplay( void );
85
void unlockDisplay( void );
87
void displayTextMessage( const QString & _msg );
91
void allowDemoClient( const QString & _host );
92
void denyDemoClient( const QString & _host );
94
static void errorMsgAuth( const QString & _ip );
97
static QStringList s_allowedDemoClients;
100
QList<QPair<ISD::commands, QString> > m_pendingActions;
102
QSignalMapper m_readyReadMapper;
105
demoClient * m_demoClient;
106
lockWidget * m_lockWidget;
112
int processItalcClient( socketDispatcher _sd, void * user );