webengine/device/src/Device.cpp
changeset 15 60c5402cb945
parent 10 a359256acfc6
child 48 79859ed3eea9
--- a/webengine/device/src/Device.cpp	Thu Sep 24 12:53:48 2009 +0300
+++ b/webengine/device/src/Device.cpp	Mon Oct 26 08:28:45 2009 +0200
@@ -49,14 +49,18 @@
 Device::Device( ExecState* exec )
     : JSObject()
     {
-    m_privateData = new DevicePrivate(this);
-    if (!m_privateData || !m_privateData->m_deviceBinding )
-        m_valid = EFalse;
-    else
-        m_valid = ETrue;
+    m_valid = EFalse;
+    TRAP_IGNORE(
+        m_deviceBinding = CDeviceLiwBinding::NewL();
+    )    
+    if (m_deviceBinding)
+        {
+        m_privateData = new DevicePrivate(this);
+        if (m_privateData)
+            m_valid = ETrue;
+        }
     }
 
-
 // ----------------------------------------------------------------------------
 // Device::SetUid
 //
@@ -64,8 +68,8 @@
 //
 void Device::SetUid( const TUint& aValue)
     {
-    if(m_privateData)
-        m_privateData->SetUid( aValue);
+    if(m_deviceBinding)
+        m_deviceBinding->SetUid( aValue);
     }
 
 // ----------------------------------------------------------------------------
@@ -81,6 +85,8 @@
     m_valid = EFalse;
     delete m_privateData;
     m_privateData = NULL;
+    delete m_deviceBinding;
+    m_deviceBinding = NULL;
     }
 
 
@@ -141,7 +147,7 @@
         {
         case getServiceObject:
         case listProviders:
-                return new DeviceFunc( exec, m_privateData->m_deviceBinding, token );
+                return new DeviceFunc( exec, m_deviceBinding, token );
 
         default:
             return throwError(exec, GeneralError);
@@ -222,11 +228,8 @@
 // ---------------------------------------------------------------------------
 DevicePrivate::DevicePrivate( Device* jsobj )
     {
-    m_deviceBinding = NULL;
-    TRAP_IGNORE(
-        m_deviceBinding = CDeviceLiwBinding::NewL();
-        m_jsobj = jsobj;
-        m_exec = NULL;)
+    m_jsobj = jsobj;
+    m_exec = NULL;
     }
 
 // ---------------------------------------------------------------------------
@@ -238,19 +241,6 @@
     // invalid the Device
     if (m_jsobj)
         m_jsobj->m_valid = EFalse;
-        
-    delete m_deviceBinding;
-    m_deviceBinding = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// DevicePrivate SetUid
-//
-// ---------------------------------------------------------------------------
-void DevicePrivate::SetUid( const TUint& aValue)
-    {
-    if(m_deviceBinding)
-        m_deviceBinding->SetUid( aValue);
     }
 
 // ----------------------------------------------------------------------------
@@ -338,7 +328,7 @@
 
 MDeviceBinding* Device::GetDeviceBinding()
 {
-    return m_privateData->m_deviceBinding;
+    return m_deviceBinding;
 }
 
 //END OF FILE