00001 /********************************************************************** 00002 ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of the Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 #ifndef DESKTOP_H 00021 #define DESKTOP_H 00022 00023 #include <qwidget.h> 00024 #include <qdatetime.h> 00025 00026 //#include "qcopbridge.h" 00027 00028 class QCopBridge; 00029 class QHostAddress; 00030 class TransferServer; 00031 class PackageHandler; 00032 class ServiceRequest; 00033 class TempScreenSaverMonitor; 00034 class AppLauncher; 00035 class AppLnkSet; 00036 class StorageInfo; 00037 class SyncDialog; 00038 class DocumentList; 00039 class ServerInterface; 00040 class QueuedRequestRunner; 00041 namespace Opie { 00042 namespace Core { 00043 class ODeviceButton; 00044 class OProcess; 00045 } 00046 } 00047 00048 class Server : public QWidget { 00049 Q_OBJECT 00050 public: 00051 Server(); 00052 ~Server(); 00053 00054 static bool mkdir(const QString &path); 00055 00056 void show(); 00057 00058 static bool setKeyboardLayout( const QString &kb ); 00059 00060 public slots: 00061 void systemMsg(const QCString &, const QByteArray &); 00062 void receiveTaskBar(const QCString &msg, const QByteArray &data); 00063 void terminateServers(); 00064 void pokeTimeMonitors(); 00065 00066 private slots: 00068 void startSoundServer(); 00069 void soundServerExited(); 00071 void activate(const Opie::Core::ODeviceButton*,bool); 00072 void syncConnectionClosed( const QHostAddress & ); 00073 void applicationLaunched(int pid, const QString &app); 00074 void applicationTerminated(int pid, const QString &app); 00075 void applicationConnected(const QString &app); 00076 void storageChanged(); 00077 void cancelSync(); 00078 void desktopMessage( const QCString &, const QByteArray & ); 00079 void runDirectAccess(); 00080 void finishedQueuedRequests(); 00081 00082 protected: 00083 void styleChange( QStyle & ); 00084 void timerEvent( QTimerEvent *e ); 00085 00086 private: 00087 void layout(); 00088 void startTransferServer(); 00089 void preloadApps(); 00090 void prepareDirectAccess(); 00091 void postDirectAccess(); 00092 QString cardInfoString(); 00093 QString installLocationsString(); 00094 00095 QCopBridge *qcopBridge; 00096 TransferServer *transferServer; 00097 PackageHandler *packageHandler; 00098 QDate last_today_show; 00099 int tid_xfer; 00100 /* ### FIXME two below### */ 00101 // int tid_today; 00102 // TempScreenSaverMonitor *tsmMonitor; 00103 StorageInfo *storage; 00104 SyncDialog *syncDialog; 00105 AppLauncher *appLauncher; 00106 DocumentList *docList; 00107 ServerInterface *serverGui; 00108 00109 int pendingFlushes; 00110 bool directAccessRun; 00111 QueuedRequestRunner *qrr; 00112 00113 Opie::Core::OProcess *process; 00114 }; 00115 00116 00117 #endif // DESKTOP_H 00118
1.4.2