btobexprofiles/obexsendservices/obexhighway/inc/btsssendlisthandler.h
branchRCL_3
changeset 22 613943a21004
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/btobexprofiles/obexsendservices/obexhighway/inc/btsssendlisthandler.h	Tue Aug 31 15:25:10 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* 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 "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:  Converter class for converting AIW paramerer list to 
+*                bt send parameter list
+*
+*/
+
+
+#ifndef BTSSSENDLISTHANDLER_H
+#define BTSSSENDLISTHANDLER_H
+
+#include <e32base.h>
+#include <qvariant.h>
+#include <qlist.h>
+#include "btsendingservicedebug.h"
+
+class CBTServiceParameterList;
+
+/**
+ *  BTSSend list handler
+ *  Converts AIW list to bt sending object list 
+ * 
+ *  @since S60 v3.2
+ */
+class CBTSSSendListHandler : public CActive
+    {
+        
+public:
+
+    static CBTSSSendListHandler* NewL();
+    static CBTSSSendListHandler* NewLC();    
+
+    /**
+    * Destructor.
+    */
+    virtual ~CBTSSSendListHandler();
+
+    /**
+     * ConvertList
+     *
+     * @since S60 v3.2
+     * @param aOutParamList AIW parameter list
+     * @param aList bt sending parameter list
+     * @return error code
+     */
+     TInt ConvertList(const QList<QVariant> *arguments,CBTServiceParameterList* aList   );
+
+     
+     
+// from base class CActive
+     
+   /**
+    * From CActive.
+    * RunL
+    *
+    * @since S60 v3.2
+    */
+    void RunL();
+     
+    /**
+     * From CActive.
+     * DoCancel
+     *
+     * @since S60 v3.2
+     */
+    inline void DoCancel();
+
+
+private:
+    CBTSSSendListHandler();
+
+    void ConstructL();
+
+    /**
+     * Add object 
+     * 
+     * @since S60 v3.2
+     */
+    void AddObject();
+    
+    /**
+     * Add object 
+     * 
+     * @since S60 v3.2
+     */
+    void DoAddObjectL();
+    
+private: // data
+
+    /**
+     * BT sending parameter list
+     * Not own.
+     */
+    CBTServiceParameterList* iList;
+
+    /**
+     * AIW parameter list
+     * Not own.
+     */
+//    const CAiwGenericParamList* iOutParamList; 
+    
+    const QList<QVariant> *mArguments;
+    
+    /**
+     * List index 
+     */
+    TInt iListIndex;
+    
+    /**
+     * Sync waiter object 
+     */
+    CActiveSchedulerWait    iSyncWaiter;
+    };
+
+
+// ---------------------------------------------------------------------------
+// From class CActive.
+// DoCancel()
+// ---------------------------------------------------------------------------
+//
+inline void CBTSSSendListHandler::DoCancel()
+    {
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoCancel()"));           
+    if ( iSyncWaiter.IsStarted() )
+        {
+        iSyncWaiter.AsyncStop();
+        }
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoCancel() done"));               
+    }
+
+#endif // BTSSSENDLISTHANDLER_H