From 15318cad33835e4e2dc620d033e43cd930676cdd Mon Sep 17 00:00:00 2001 From: kergoth Date: Fri, 25 Jan 2002 22:14:26 +0000 Subject: Initial revision --- (limited to 'core/launcher/qcopbridge.h') diff --git a/core/launcher/qcopbridge.h b/core/launcher/qcopbridge.h new file mode 100644 index 0000000..114b3ee --- a/dev/null +++ b/core/launcher/qcopbridge.h @@ -0,0 +1,95 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef __qcopbridge_h__ +#define __qcopbridge_h__ + +#include +#include +#include +#include +#include + +class QFileInfo; +class QCopBridgePI; +class QCopChannel; + +class QCopBridge : public QServerSocket +{ + Q_OBJECT + +public: + QCopBridge( Q_UINT16 port, QObject *parent = 0, const char* name = 0 ); + virtual ~QCopBridge(); + + void newConnection( int socket ); + void closeOpenConnections(); + +public slots: + void connectionClosed( QCopBridgePI *pi ); + void desktopMessage( const QCString &call, const QByteArray & ); + +protected: + void timerEvent( QTimerEvent * ); + +private: + QCopChannel *desktopChannel; + QCopChannel *cardChannel; + QList openConnections; + bool sendSync; +}; + + +class QCopBridgePI : public QSocket +{ + Q_OBJECT + + enum State { Connected, Wait_USER, Wait_PASS, Ready, Forbidden }; + +public: + QCopBridgePI( int socket, QObject *parent = 0, const char* name = 0 ); + virtual ~QCopBridgePI(); + + void sendDesktopMessage( const QString &msg ); + void startSync() { sendSync = TRUE; } + +signals: + void connectionClosed( QCopBridgePI *); + +protected slots: + void read(); + void send( const QString& msg ); + void process( const QString& command ); + void connectionClosed(); + +protected: + bool checkUser( const QString& user ); + bool checkPassword( const QString& pw ); + + void timerEvent( QTimerEvent *e ); + +private: + State state; + Q_UINT16 peerport; + QHostAddress peeraddress; + bool connected; + bool sendSync; +}; + +#endif -- cgit v0.9.0.2