--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/device/inc/DeviceLiwBinding.h Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,197 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Device Liw Binding
+*
+*/
+
+
+#ifndef __DEVICELIWBINDING_H
+#define __DEVICELIWBINDING_H
+
+#include <e32std.h>
+#include <LiwCommon.h>
+#include "DeviceLiwMap.h"
+#include "DeviceBinding.h"
+#include "DeviceLiwIterable.h"
+
+class CLiwServiceHandler;
+class CRTSecMgrScriptSession;
+class CRTSecManager;
+namespace KJS
+ {
+ class List;
+ class UString;
+
+ class CDeviceLiwBinding : public CBase, public MDeviceBinding
+ {
+ friend class DeviceLiwMap;
+ friend class DeviceLiwIterableFunc;
+ friend class DeviceLiwIterable;
+
+ public: // constructor and destructor
+
+ static CDeviceLiwBinding* NewL();
+
+ /**
+ * Destructor
+ * @return none
+ * @since 5.0
+ **/
+ virtual ~CDeviceLiwBinding();
+
+ public: // from MDeviceBinding
+
+ /**
+ * Load the service provider
+ * @return TInt error code
+ * @since 5.0
+ **/
+ TInt LoadServiceProvider( ExecState* exec, const List& args );
+
+ /**
+ * Factory method to create the device peer object
+ * @return MDevicePeer*
+ * @since 5.0
+ **/
+ MDevicePeer* ServiceObjectPeer( ExecState* exec,
+ const List& args );
+
+ /**
+ * Invoke SAPI call
+ * @return JSValue - output params of the SAPI call
+ * @since 5.0
+ **/
+ JSValue* InvokeOp( ExecState* exec, const Identifier& propertyName,
+ const List& args, MDevicePeer* peer );
+
+ /**
+ * Query and List providers
+ * @return JSValue* - output params of the LIW call to list providers
+ * @since 5.0
+ **/
+ JSValue* ListProviders( ExecState* exec, const List& args );
+
+ public:
+
+ /**
+ * Create SAPI interface
+ * @return JSValue - DeviceLiwInterface object
+ * @since 5.0
+ **/
+ JSValue* CreateInterface( ExecState* exec,
+ HBufC8 * serviceName,
+ const Identifier& interfaceName );
+
+ /**
+ * Convert LiwGenericParamList to javascript list
+ * @return JSValue - javascript list
+ * @since 5.0
+ **/
+ JSValue* LiwGenericParamList2JsArray( ExecState* exec,
+ CLiwGenericParamList* liwList );
+
+ /**
+ * Convert Unload service provider
+ * @return JSValue - javascript list
+ * @since 5.0
+ **/
+ void UnloadServiceProvider(const TDesC8& aServiceName,const TDesC8& aInterfaceName);
+
+ /**
+ * SetUid
+ * @return none
+ * @since 5.0
+ **/
+ void SetUid( const TUint& aValue);
+
+ private:
+
+ void ConstructL();
+
+ private:
+
+ /**
+ * Invoke SAPI call
+ * @return JSValue* - output params of the SAPI call
+ * @since 5.0
+ **/
+ JSValue* InvokeOpInternal( ExecState* exec, const Identifier& prop,
+ const List& args, MDevicePeer* peer );
+
+ /**
+ * Convert LiwVariant to javascript JSValue
+ * @return JSValue - javascript JSValue
+ * @since 5.0
+ **/
+ JSValue* LiwVariant2JsVal( ExecState* exec,
+ const TLiwVariant& variant );
+
+ /**
+ * Check if the input is a javascript list
+ * @return TBool
+ * @since 5.0
+ **/
+ TBool IsAList( ExecState* exec, JSValue* value );
+
+ /**
+ * Convert javascript list to LiwGenericParamList
+ * @return none
+ * @since 5.0
+ **/
+ void JsList2LiwGenericParamListL( ExecState* exec,
+ JSValue* value,
+ CLiwGenericParamList& liwList );
+
+ /**
+ * Convert javscript JSValue to LiwVariant
+ * @return TBool
+ * @since 5.0
+ **/
+ TBool JsVal2LiwVariant( ExecState* exec, JSValue* value,
+ TLiwVariant& variant );
+
+ private:
+
+ CLiwServiceHandler* m_serviceHandler; // Owned
+ RCriteriaArray* m_critArr; // Owned
+ /// Main session to secManager
+ CRTSecManager* m_secMgr; // Owned
+ CRTSecMgrScriptSession* m_scriptSession; // Owned
+ TUid m_Uid;
+ };
+
+ /**
+ * Convert 16 bit to 8 bit
+ * @return HBufC8*
+ * @since 5.0
+ **/
+ HBufC8* GetAsciiBufferL( const UString& buf );
+
+ }
+
+#endif //__DEVICELIWBINDING_H
+
+
+
+
+
+
+
+
+
+
+
+
+
+