summaryrefslogtreecommitdiff
authorzecke <zecke>2005-03-03 21:01:18 (UTC)
committer zecke <zecke>2005-03-03 21:01:18 (UTC)
commit67ddc501f2a52c7f35ca4044fb0094e759a45d76 (patch) (unidiff)
tree7c863f306e6fb7c1aecfb2f8c1ff4a217bfefa1c
parent585c9fe0efbc0cf4037a79cac3b22ac38c08fec2 (diff)
downloadopie-67ddc501f2a52c7f35ca4044fb0094e759a45d76.zip
opie-67ddc501f2a52c7f35ca4044fb0094e759a45d76.tar.gz
opie-67ddc501f2a52c7f35ca4044fb0094e759a45d76.tar.bz2
Start and Restart the QSound-Server
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/server.cpp22
-rw-r--r--core/launcher/server.h7
2 files changed, 28 insertions, 1 deletions
diff --git a/core/launcher/server.cpp b/core/launcher/server.cpp
index 15cd686..921b790 100644
--- a/core/launcher/server.cpp
+++ b/core/launcher/server.cpp
@@ -32,24 +32,26 @@
32#include "shutdownimpl.h" 32#include "shutdownimpl.h"
33#include "applauncher.h" 33#include "applauncher.h"
34#if 0 34#if 0
35#include "suspendmonitor.h" 35#include "suspendmonitor.h"
36#endif 36#endif
37#include "documentlist.h" 37#include "documentlist.h"
38#include "qrr.h" 38#include "qrr.h"
39 39
40/* OPIE */ 40/* OPIE */
41#include <opie2/odebug.h> 41#include <opie2/odebug.h>
42#include <opie2/odevicebutton.h> 42#include <opie2/odevicebutton.h>
43#include <opie2/odevice.h> 43#include <opie2/odevice.h>
44#include <opie2/oprocess.h>
45
44#include <qtopia/applnk.h> 46#include <qtopia/applnk.h>
45#include <qtopia/private/categories.h> 47#include <qtopia/private/categories.h>
46#include <qtopia/mimetype.h> 48#include <qtopia/mimetype.h>
47#include <qtopia/config.h> 49#include <qtopia/config.h>
48#include <qtopia/resource.h> 50#include <qtopia/resource.h>
49#include <qtopia/version.h> 51#include <qtopia/version.h>
50#include <qtopia/storage.h> 52#include <qtopia/storage.h>
51#include <qtopia/qcopenvelope_qws.h> 53#include <qtopia/qcopenvelope_qws.h>
52#include <qtopia/global.h> 54#include <qtopia/global.h>
53using namespace Opie::Core; 55using namespace Opie::Core;
54 56
55/* QT */ 57/* QT */
@@ -124,25 +126,26 @@ extern const char *directAccessQueueFile();
124#endif 126#endif
125 127
126//--------------------------------------------------------------------------- 128//---------------------------------------------------------------------------
127 129
128 130
129//=========================================================================== 131//===========================================================================
130 132
131Server::Server() : 133Server::Server() :
132 QWidget( 0, 0, WStyle_Tool | WStyle_Customize ), 134 QWidget( 0, 0, WStyle_Tool | WStyle_Customize ),
133 qcopBridge( 0 ), 135 qcopBridge( 0 ),
134 transferServer( 0 ), 136 transferServer( 0 ),
135 packageHandler( 0 ), 137 packageHandler( 0 ),
136 syncDialog( 0 ) 138 syncDialog( 0 ),
139 process( 0 )
137{ 140{
138 Global::setBuiltinCommands(builtins); 141 Global::setBuiltinCommands(builtins);
139 142
140 tid_xfer = 0; 143 tid_xfer = 0;
141 /* ### FIXME ### */ 144 /* ### FIXME ### */
142/* tid_today = startTimer(3600*2*1000);*/ 145/* tid_today = startTimer(3600*2*1000);*/
143 last_today_show = QDate::currentDate(); 146 last_today_show = QDate::currentDate();
144 147
145#warning FIXME support TempScreenSaverMode 148#warning FIXME support TempScreenSaverMode
146#if 0 149#if 0
147 tsmMonitor = new TempScreenSaverMode(); 150 tsmMonitor = new TempScreenSaverMode();
148 connect( tsmMonitor, SIGNAL(forceSuspend()), qApp, SIGNAL(power()) ); 151 connect( tsmMonitor, SIGNAL(forceSuspend()), qApp, SIGNAL(power()) );
@@ -158,24 +161,26 @@ Server::Server() :
158 connect(appLauncher, SIGNAL(connected(const QString&)), this, SLOT(applicationConnected(const QString&)) ); 161 connect(appLauncher, SIGNAL(connected(const QString&)), this, SLOT(applicationConnected(const QString&)) );
159 162
160 storage = new StorageInfo( this ); 163 storage = new StorageInfo( this );
161 connect( storage, SIGNAL(disksChanged()), this, SLOT(storageChanged()) ); 164 connect( storage, SIGNAL(disksChanged()), this, SLOT(storageChanged()) );
162 165
163 166
164#ifdef QPE_HAVE_DIRECT_ACCESS 167#ifdef QPE_HAVE_DIRECT_ACCESS
165 QCopChannel *desktopChannel = new QCopChannel( "QPE/Desktop", this ); 168 QCopChannel *desktopChannel = new QCopChannel( "QPE/Desktop", this );
166 connect( desktopChannel, SIGNAL(received( const QCString &, const QByteArray & )), 169 connect( desktopChannel, SIGNAL(received( const QCString &, const QByteArray & )),
167 this, SLOT(desktopMessage( const QCString &, const QByteArray & )) ); 170 this, SLOT(desktopMessage( const QCString &, const QByteArray & )) );
168#endif 171#endif
169 172
173 soundServerExited();
174
170 // start services 175 // start services
171 startTransferServer(); 176 startTransferServer();
172 (void) new IrServer( this ); 177 (void) new IrServer( this );
173 178
174 packageHandler = new PackageHandler( this ); 179 packageHandler = new PackageHandler( this );
175 connect(qApp, SIGNAL(activate(const Opie::Core::ODeviceButton*,bool)), 180 connect(qApp, SIGNAL(activate(const Opie::Core::ODeviceButton*,bool)),
176 this,SLOT(activate(const Opie::Core::ODeviceButton*,bool))); 181 this,SLOT(activate(const Opie::Core::ODeviceButton*,bool)));
177 182
178 setGeometry( -10, -10, 9, 9 ); 183 setGeometry( -10, -10, 9, 9 );
179 184
180 QCopChannel *channel = new QCopChannel("QPE/System", this); 185 QCopChannel *channel = new QCopChannel("QPE/System", this);
181 connect(channel, SIGNAL(received(const QCString&,const QByteArray&)), 186 connect(channel, SIGNAL(received(const QCString&,const QByteArray&)),
@@ -975,12 +980,27 @@ void Server::finishedQueuedRequests()
975 syncDialog = 0; 980 syncDialog = 0;
976 } 981 }
977#warning FIXME support TempScreenSaverMode 982#warning FIXME support TempScreenSaverMode
978#if 0 983#if 0
979 QPEApplication::setTempScreenSaverMode(QPEApplication::Enable); 984 QPEApplication::setTempScreenSaverMode(QPEApplication::Enable);
980#endif 985#endif
981 } else { 986 } else {
982 qrr->readyToDelete = TRUE; 987 qrr->readyToDelete = TRUE;
983 QTimer::singleShot( 0, this, SLOT(finishedQueuedRequests()) ); 988 QTimer::singleShot( 0, this, SLOT(finishedQueuedRequests()) );
984 } 989 }
985} 990}
986 991
992void Server::startSoundServer() {
993 if ( !process ) {
994 process = new Opie::Core::OProcess( this );
995 connect(process, SIGNAL(processExited(Opie::Core::OProcess*)),
996 SLOT(soundServerExited()));
997 }
998
999 process->clearArguments();
1000 *process << QPEApplication::qpeDir() + "bin/qss";
1001 process->start();
1002}
1003
1004void Server::soundServerExited() {
1005 QTimer::singleShot(5000, this, SLOT(startSoundServer()));
1006}
diff --git a/core/launcher/server.h b/core/launcher/server.h
index d71d68a..5b2f995 100644
--- a/core/launcher/server.h
+++ b/core/launcher/server.h
@@ -32,46 +32,51 @@ class PackageHandler;
32class ServiceRequest; 32class ServiceRequest;
33class TempScreenSaverMonitor; 33class TempScreenSaverMonitor;
34class AppLauncher; 34class AppLauncher;
35class AppLnkSet; 35class AppLnkSet;
36class StorageInfo; 36class StorageInfo;
37class SyncDialog; 37class SyncDialog;
38class DocumentList; 38class DocumentList;
39class ServerInterface; 39class ServerInterface;
40class QueuedRequestRunner; 40class QueuedRequestRunner;
41namespace Opie { 41namespace Opie {
42namespace Core { 42namespace Core {
43 class ODeviceButton; 43 class ODeviceButton;
44 class OProcess;
44} 45}
45} 46}
46 47
47class Server : public QWidget { 48class Server : public QWidget {
48 Q_OBJECT 49 Q_OBJECT
49public: 50public:
50 Server(); 51 Server();
51 ~Server(); 52 ~Server();
52 53
53 static bool mkdir(const QString &path); 54 static bool mkdir(const QString &path);
54 55
55 void show(); 56 void show();
56 57
57 static bool setKeyboardLayout( const QString &kb ); 58 static bool setKeyboardLayout( const QString &kb );
58 59
59public slots: 60public slots:
60 void systemMsg(const QCString &, const QByteArray &); 61 void systemMsg(const QCString &, const QByteArray &);
61 void receiveTaskBar(const QCString &msg, const QByteArray &data); 62 void receiveTaskBar(const QCString &msg, const QByteArray &data);
62 void terminateServers(); 63 void terminateServers();
63 void pokeTimeMonitors(); 64 void pokeTimeMonitors();
64 65
65private slots: 66private slots:
67 //@{
68 void startSoundServer();
69 void soundServerExited();
70 //@}
66 void activate(const Opie::Core::ODeviceButton*,bool); 71 void activate(const Opie::Core::ODeviceButton*,bool);
67 void syncConnectionClosed( const QHostAddress & ); 72 void syncConnectionClosed( const QHostAddress & );
68 void applicationLaunched(int pid, const QString &app); 73 void applicationLaunched(int pid, const QString &app);
69 void applicationTerminated(int pid, const QString &app); 74 void applicationTerminated(int pid, const QString &app);
70 void applicationConnected(const QString &app); 75 void applicationConnected(const QString &app);
71 void storageChanged(); 76 void storageChanged();
72 void cancelSync(); 77 void cancelSync();
73 void desktopMessage( const QCString &, const QByteArray & ); 78 void desktopMessage( const QCString &, const QByteArray & );
74 void runDirectAccess(); 79 void runDirectAccess();
75 void finishedQueuedRequests(); 80 void finishedQueuedRequests();
76 81
77protected: 82protected:
@@ -95,17 +100,19 @@ private:
95 /* ### FIXME two below### */ 100 /* ### FIXME two below### */
96// int tid_today; 101// int tid_today;
97// TempScreenSaverMonitor *tsmMonitor; 102// TempScreenSaverMonitor *tsmMonitor;
98 StorageInfo *storage; 103 StorageInfo *storage;
99 SyncDialog *syncDialog; 104 SyncDialog *syncDialog;
100 AppLauncher *appLauncher; 105 AppLauncher *appLauncher;
101 DocumentList *docList; 106 DocumentList *docList;
102 ServerInterface *serverGui; 107 ServerInterface *serverGui;
103 108
104 int pendingFlushes; 109 int pendingFlushes;
105 bool directAccessRun; 110 bool directAccessRun;
106 QueuedRequestRunner *qrr; 111 QueuedRequestRunner *qrr;
112
113 Opie::Core::OProcess *process;
107}; 114};
108 115
109 116
110#endif // DESKTOP_H 117#endif // DESKTOP_H
111 118