src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian.cpp
changeset 2 06ff229162e9
parent 1 f7ac710697a9
child 3 11d3954df52a
--- a/src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian.cpp	Mon May 03 12:48:33 2010 +0300
+++ b/src/hbservers/hbsplashgenerator/hbsplashgen_server_symbian.cpp	Fri May 14 16:09:54 2010 +0300
@@ -64,12 +64,14 @@
 
     void setSplashScreenDir(const QString &dir) { mSplashScreenDir = dir; }
     void setSplashScreenDirContents(const QStringList &entries) { mSplashScreenDirEntries = entries; }
+    bool startupSuccess() const { return mStartupSuccess; }
 
     bool processGetSplash(const RMessage2 &message);
 
 private:
     bool transferHandle(const RMessage2 &message, const QString &fileName);
 
+    bool mStartupSuccess;
     RFs mFs;
     QString mSplashScreenDir;
     QStringList mSplashScreenDirEntries;
@@ -106,24 +108,31 @@
     mServer->setSplashScreenDirContents(entries);
 }
 
+bool HbSplashGenServer::startupSuccess() const
+{
+    return mServer->startupSuccess();
+}
+
 HbSplashGenServerSymbian::HbSplashGenServerSymbian()
     : CServer2(CActive::EPriorityHigh)
 {
-    if (mFs.Connect() == KErrNone) {
+    TInt err = mFs.Connect();
+    if (err == KErrNone) {
         mFs.ShareProtected();
+        TRAP(err, StartL(hbsplash_server_name));
+        if (err == KErrNone) {
+            qDebug() << PRE << "server started";
+        } else {
+            qWarning() << PRE << "server start failed" << err;
+        }
     } else {
         qWarning() << PRE << "cannot connect to file server";
     }
-    TRAPD(err, StartL(hbsplash_server_name));
-    if (err == KErrNone) {
-        qDebug() << PRE << "server started";
-    } else {
-        qWarning() << PRE << "server start failed" << err;
-    }
+    mStartupSuccess = (err == KErrNone);
     // Now it is the right time to do the rendezvous. By default it would be
     // done too early so the custom appui disables FrameworkCallsRendezvous and
     // it is done here instead.
-    RProcess::Rendezvous(KErrNone);
+    RProcess::Rendezvous(err);
 }
 
 HbSplashGenServerSymbian::~HbSplashGenServerSymbian()