controlpanelplugins/themeplugin/src/cpthemeclientsymbian_p.cpp
changeset 15 cc79acdc26cb
parent 14 23411a3be0db
child 17 4a9568303383
--- a/controlpanelplugins/themeplugin/src/cpthemeclientsymbian_p.cpp	Fri May 14 15:53:07 2010 +0300
+++ b/controlpanelplugins/themeplugin/src/cpthemeclientsymbian_p.cpp	Thu May 27 12:52:25 2010 +0300
@@ -17,18 +17,13 @@
 
 #include "cpthemeclientsymbian_p.h"
 #include "cpthemesymbiancommon_p.h"
+#include <e32property.h>
 
-#include <QFile>
-#include <QDebug>
-#include <QTime>
-
-const TUint KDefaultMessageSlots = 4;
 
 /**
 * constructor
 */
-CpThemeClientPrivate::CpThemeClientPrivate():
-    clientConnected(false)
+CpThemeClientPrivate::CpThemeClientPrivate()
 {
 }
 
@@ -39,11 +34,7 @@
 */
 bool CpThemeClientPrivate::connectToServer()
 {
-   
-    TInt error; 
-    
-    error = CreateSession(KThemeServerName, Version(), KDefaultMessageSlots);
-    return( clientConnected = (KErrNone == error ) );
+    return true;
 }
 
 /**
@@ -51,19 +42,7 @@
 */
 bool CpThemeClientPrivate::isConnected()
 {
-    return connected;
-}
-
-
-
-/**
-Returns the version number
-*/  
-TVersion CpThemeClientPrivate::Version(void) const
-{
-    return(TVersion(KThemeServerMajorVersionNumber,
-                    KThemeServerMinorVersionNumber,
-                    KThemeServerBuildVersionNumber));
+    return true;
 }
 
 /**
@@ -71,53 +50,6 @@
  */
 CpThemeClientPrivate::~CpThemeClientPrivate()
 {
-    RSessionBase::Close();
-}
-
-/**
- * StartServer
- */
-TInt CpThemeClientPrivate::StartServer()
-{
-    TFindServer findThemeServer(KThemeServerName);
-    TFullName name;
-    if ( KErrNone == findThemeServer.Next( name ) ) {
-        // Server already running
-        return KErrNone;
-    }
-    return CreateServerProcess();
-}
-
-/**
- * CreateServerProcess
- */
-TInt CpThemeClientPrivate::CreateServerProcess()
-{
-    TInt result;
-    const TUid KServerUid2={0x100039CE};
-    const TUidType serverUid( KNullUid, KServerUid2, KServerUid3 );
-    RProcess server;
-    _LIT(KThemeServerExe,"hbthemeserver.exe");
-    
-    result = server.Create( KThemeServerExe, KNullDesC, EOwnerProcess );
-    
-    if (KErrNone != result) {
-        return  result; 
-    }
-    else {
-        TRequestStatus status;
-        server.Rendezvous(status);
-        if (status!=KRequestPending) {
-            server.Kill(0); // abort startup
-        }
-        else {
-            server.Resume(); // logon OK - start the server
-        }
-        User::WaitForRequest(status);// wait for start or death
-        server.Close();
-        connected == status.Int() == KErrNone ? true : false;
-        return status.Int(); // return the error
-    }
 }
 
 /**
@@ -125,8 +57,16 @@
  */
 bool CpThemeClientPrivate::changeTheme(const QString& aString )
 {
-    TPtrC themeName(reinterpret_cast<const TUint16 *>(aString.constData()));
-    TIpcArgs args(&themeName);
-    TInt err = SendReceive(EThemeSelection, args);
-    return KErrNone == err;
+    TInt err = KErrGeneral;
+    RProperty themeRequestProp;
+    
+    User::LeaveIfError( themeRequestProp.Attach( KServerUid3, KNewThemeForThemeChanger ) );
+    
+    TBuf<256> newThemenameChangeRequest;
+    _LIT(KThemeRequestFormatter, "%d:%S");
+    TBuf<256> newThemename(aString.utf16());
+    newThemenameChangeRequest.Format( KThemeRequestFormatter, EThemeSelection, &newThemename);
+    err = themeRequestProp.Set(newThemenameChangeRequest);
+    themeRequestProp.Close();
+    return (err == KErrNone);
 }