diff -r 10e98eab6f85 -r a359256acfc6 webengine/device/inc/Device.h --- a/webengine/device/inc/Device.h Fri Jul 03 15:54:40 2009 +0100 +++ b/webengine/device/inc/Device.h Thu Aug 27 07:44:59 2009 +0300 @@ -35,10 +35,42 @@ class MDeviceBinding; class ServiceObject; - class DevicePrivate; + class Device; + + class DevicePrivateBase + { + public: + DevicePrivateBase(); + virtual ~DevicePrivateBase(); + void AddChild( DevicePrivateBase* aValue ); + void RemoveChild( DevicePrivateBase* aValue ); + void SetParent( DevicePrivateBase* aValue ); + private: + TBool m_isDeleting; + DevicePrivateBase* m_parent; + RPointerArray* m_children; + }; + + class DevicePrivate : public DevicePrivateBase + { + friend class Device; + friend class DeviceFunc; + public: + DevicePrivate(Device* jsobj); + ~DevicePrivate(); + void SetUid( const TUint& aValue); + + private: + MDeviceBinding* m_deviceBinding; // Owned + Identifier m_propName; + ExecState* m_exec; // not owned + Device* m_jsobj; // not owned + }; + class Device: public JSObject { + friend class DevicePrivate; friend class DeviceFunc; public: // constructor and destructor @@ -92,8 +124,15 @@ * @return boolean * @since 5.0 */ - const bool valid() const { return m_valid; } + const TBool valid() const { return m_valid; } + /** + * getServiceData + * @return DevicePrivateBase* + * @since 7.x + */ + DevicePrivateBase* getDeviceData() { return m_privateData; } + static const ClassInfo info; /** @@ -118,28 +157,12 @@ * @since 5.0 **/ void SetUid( const TUint& aValue); + + MDeviceBinding* GetDeviceBinding(); private: DevicePrivate* m_privateData; // private object to hold data - bool m_valid; // object is valid or not - }; - - class DevicePrivate - { - friend class Device; - friend class DeviceFunc; - public: - DevicePrivate(); - ~DevicePrivate() { Close(); } - void Close(); - void SetUid( const TUint& aValue); - - private: - MDeviceBinding* m_deviceBinding; // Owned - Identifier m_propName; - RPointerArray* m_serviceObjArray; // owned - ExecState* m_exec; // not owned - + TBool m_valid; // object is valid or not }; class DeviceFunc : public JSObject