Revision: 201017
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 14 May 2010 16:44:53 +0300
changeset 18 6743bfee309e
parent 16 c3bac82c6ce0
child 21 23264c07fd05
child 22 582dd7b01c60
Revision: 201017 Kit: 201019
layers.sysdef.xml
localconnectivityservice/dun/atext/bwins/dunatextu.def
localconnectivityservice/dun/atext/eabi/dunatextu.def
localconnectivityservice/dun/atext/group/dunatext.mmp
localconnectivityservice/dun/atext/inc/DunAtCmdEchoer.h
localconnectivityservice/dun/atext/inc/DunAtCmdHandler.h
localconnectivityservice/dun/atext/inc/DunAtCmdPusher.h
localconnectivityservice/dun/atext/src/DunAtCmdEchoer.cpp
localconnectivityservice/dun/atext/src/DunAtCmdHandler.cpp
localconnectivityservice/dun/atext/src/DunAtCmdPusher.cpp
localconnectivityservice/dun/utils/inc/DunTransporter.h
localconnectivityservice/dun/utils/inc/DunUpstream.h
localconnectivityservice/dun/utils/src/DunUpstream.cpp
localconnectivityservice/group/bld.inf
localconnectivityservice/lcstylustap/data/10204DAE.rss
localconnectivityservice/lcstylustap/data/lcstylustaprsc.rss
localconnectivityservice/lcstylustap/group/bld.inf
localconnectivityservice/lcstylustap/group/lcstylustap.mmp
localconnectivityservice/lcstylustap/inc/debug.h
localconnectivityservice/lcstylustap/inc/debugconfig.h
localconnectivityservice/lcstylustap/inc/forcedismounttimer.h
localconnectivityservice/lcstylustap/inc/lcstylustap.h
localconnectivityservice/lcstylustap/inc/lcstylustapdismount.h
localconnectivityservice/lcstylustap/rom/lcstylustap.iby
localconnectivityservice/lcstylustap/rom/lcstylustapResource.iby
localconnectivityservice/lcstylustap/src/forcedismounttimer.cpp
localconnectivityservice/lcstylustap/src/lcstylustap.cpp
localconnectivityservice/lcstylustap/src/lcstylustapdismount.cpp
localconnectivityservice/lcstylustap/src/lcstylustapproxy.cpp
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/Bmarm/LcStylusTapTestU.DEF
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/Bwins/LcStylusTapTestU.DEF
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/EABI/LcStylusTapTestU.def
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/conf/ui_LcStylusTapTest.cfg
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/Bld.inf
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest.mmp
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest.pkg
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest_exe.mmp
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest_nrm.mmp
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest_phone.pkg
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/make_and_sign_sis.bat
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/make_and_sign_sis_phone.bat
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/rebuild_for_ats3.bat
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/rebuild_for_phone.bat
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/inc/LcStylusTapTest.h
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/init/LcStylusTapTest.ini
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/init/LcStylusTapTest_phone.ini
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/src/LcStylusTapTest.cpp
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/src/LcStylusTapTestBlocks.cpp
localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/src/LcStylusTapTest_exe.cpp
localconnectivityservice/obexreceiveservices/bip/src/BIPController.cpp
localconnectivityservice/obexreceiveservices/opp/src/oppcontroller.cpp
localconnectivityservice/obexsendservices/group/bld.inf
localconnectivityservice/obexsendservices/group/obexservicebtsend.mmp
localconnectivityservice/obexsendservices/group/obexserviceirsend.mmp
localconnectivityservice/obexsendservices/group/sendutils.mmp
localconnectivityservice/obexsendservices/obexhighway/inc/btsendingservicedebug.h
localconnectivityservice/obexsendservices/obexhighway/inc/btsendserviceinterface.h
localconnectivityservice/obexsendservices/obexhighway/inc/btsendserviceprovider.h
localconnectivityservice/obexsendservices/obexhighway/inc/btsssendlisthandler.h
localconnectivityservice/obexsendservices/obexhighway/obexhighway.pro
localconnectivityservice/obexsendservices/obexhighway/rom/obexhighway.iby
localconnectivityservice/obexsendservices/obexhighway/src/btsendserviceinterface.cpp
localconnectivityservice/obexsendservices/obexhighway/src/btsendserviceprovider.cpp
localconnectivityservice/obexsendservices/obexhighway/src/btsssendlisthandler.cpp
localconnectivityservice/obexsendservices/obexhighway/src/main.cpp
localconnectivityservice/obexsendservices/obexhighway/xml/obexhighway_conf.xml
localconnectivityservice/obexsendservices/obexservicebtsend/data/101F86A2.rss
localconnectivityservice/obexsendservices/obexservicebtsend/data/BtSSMenu.rss
localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSSProvider.h
localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSSSendListHandler.h
localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSendingService.hrh
localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSendingServiceDebug.h
localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSendingServiceUIDS.hrh
localconnectivityservice/obexsendservices/obexservicebtsend/src/BTSSProvider.cpp
localconnectivityservice/obexsendservices/obexservicebtsend/src/BTSendingService.cpp
localconnectivityservice/obexsendservices/obexservicebtsend/src/btsssendlisthandler.cpp
localconnectivityservice/obexsendservices/obexserviceirsend/data/001F86A2.rss
localconnectivityservice/obexsendservices/obexserviceirsend/data/irssmenu.rss
localconnectivityservice/obexsendservices/obexserviceirsend/inc/IRClient.h
localconnectivityservice/obexsendservices/obexserviceirsend/inc/IRSendingService.hrh
localconnectivityservice/obexsendservices/obexserviceirsend/inc/IrSSProvider.h
localconnectivityservice/obexsendservices/obexserviceirsend/inc/IrSendingServiceDebug.h
localconnectivityservice/obexsendservices/obexserviceirsend/inc/IrSendingServiceUIDS.hrh
localconnectivityservice/obexsendservices/obexserviceirsend/src/IRClient.cpp
localconnectivityservice/obexsendservices/obexserviceirsend/src/IRSSProvider.cpp
localconnectivityservice/obexsendservices/obexserviceirsend/src/IRSendingService.cpp
localconnectivityservice/obexsendservices/obexservicesendutils/inc/BTServiceStarter.h
localconnectivityservice/obexsendservices/obexservicesendutils/src/BTServiceStarter.cpp
localconnectivityservice/obexsendservices/rom/obexservicebtsend.iby
localconnectivityservice/obexsendservices/rom/obexserviceirsend.iby
sysdef_1_4_0.dtd
sysdef_1_5_1.dtd
--- a/layers.sysdef.xml	Mon May 03 13:21:36 2010 +0300
+++ b/layers.sysdef.xml	Fri May 14 16:44:53 2010 +0300
@@ -1,14 +1,17 @@
 <?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
   <!ENTITY layer_real_source_path "sf/mw/shortlinkconn" >
 ]>
 
-<SystemDefinition name="shortlinkconn" schema="1.4.0">
+<SystemDefinition name="shortlinkconn" schema="1.5.1">
   <systemModel>
     <layer name="mw_layer">
       <module name="shortlinkconn">
         <unit unitID="lcdo.shortlinkconn" mrp="" bldFile="&layer_real_source_path;/group" name="shortlinkconn" />
       </module>
+      <module name="obexthighway">
+        <unit unitID="lcdo.shortlinkconn.obexhighway" mrp="" bldFile="&layer_real_source_path;/localconnectivityservice/obexsendservices/obexhighway" name="shortlinkconn_obexhighway" proFile="obexhighway.pro" qmakeArgs="" />
+      </module>
     </layer>
   </systemModel>
 </SystemDefinition>
--- a/localconnectivityservice/dun/atext/bwins/dunatextu.def	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/atext/bwins/dunatextu.def	Fri May 14 16:44:53 2010 +0300
@@ -8,4 +8,5 @@
 	?ParseCommand@CDunAtCmdHandler@@QAEHAAVTDesC8@@AAH@Z @ 7 NONAME ; int CDunAtCmdHandler::ParseCommand(class TDesC8 &, int &)
 	?StartUrc@CDunAtCmdHandler@@QAEHXZ @ 8 NONAME ; int CDunAtCmdHandler::StartUrc(void)
 	?ManageAbortRequest@CDunAtCmdHandler@@QAEHXZ @ 9 NONAME ; int CDunAtCmdHandler::ManageAbortRequest(void)
+	?SendEchoCharacter@CDunAtCmdHandler@@QAEHPBVTDesC8@@PAVMDunAtCmdEchoer@@@Z @ 10 NONAME ; int CDunAtCmdHandler::SendEchoCharacter(class TDesC8 const *, class MDunAtCmdEchoer *)
 
--- a/localconnectivityservice/dun/atext/eabi/dunatextu.def	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/atext/eabi/dunatextu.def	Fri May 14 16:44:53 2010 +0300
@@ -8,4 +8,5 @@
 	_ZN16CDunAtCmdHandler8StartUrcEv @ 7 NONAME
 	_ZN16CDunAtCmdHandler9ResetDataEv @ 8 NONAME
 	_ZN16CDunAtCmdHandler18ManageAbortRequestEv @ 9 NONAME
+	_ZN16CDunAtCmdHandler17SendEchoCharacterEPK6TDesC8P15MDunAtCmdEchoer @ 10 NONAME
 
--- a/localconnectivityservice/dun/atext/group/dunatext.mmp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/atext/group/dunatext.mmp	Fri May 14 16:44:53 2010 +0300
@@ -27,6 +27,7 @@
 VENDORID                VID_DEFAULT
 
 SOURCEPATH              ../src
+SOURCE                  DunAtCmdEchoer.cpp
 SOURCE                  DunAtCmdHandler.cpp
 SOURCE                  DunAtCmdPusher.cpp
 SOURCE                  DunAtUrcHandler.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/dun/atext/inc/DunAtCmdEchoer.h	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2010 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:  Echoer for AT commands
+*
+*/
+
+#ifndef C_CDUNATCMDECHOER_H
+#define C_CDUNATCMDECHOER_H
+
+#include "DunDataPusher.h"
+
+class MDunStreamManipulator;
+
+/**
+ *  Notification interface class for text mode
+ *
+ *  @lib dunatext.lib
+ *  @since TB9.2
+ */
+NONSHARABLE_CLASS( MDunAtCmdEchoer )
+    {
+
+public:
+
+    /**
+     * Notifies about completed echo in text mode
+     *
+     * @since TB9.2
+     * @return None
+     */
+    virtual void NotifyEchoComplete() = 0;
+
+    };
+
+/**
+ *  Class for AT command echoer
+ *
+ *  @lib dunatext.lib
+ *  @since TB9.2
+ */
+NONSHARABLE_CLASS( CDunAtCmdEchoer ) : public CBase,
+                                       public MDunCompletionReporter
+    {
+
+public:
+
+    /**
+     * Two-phased constructor.
+     * @param aStreamCallback Callback to stream
+     * @return Instance of self
+     */
+    static CDunAtCmdEchoer* NewL( MDunStreamManipulator* aStreamCallback );
+
+    /**
+    * Destructor.
+    */
+    virtual ~CDunAtCmdEchoer();
+
+    /**
+     * Resets data to initial values
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void ResetData();
+
+    /**
+     * Sends a character to be echoed
+     *
+     * @since TB9.2
+     * @param aInput Input to echo
+     * @param aCallback Callback to echo request completions
+     * @return Symbian error code on error, KErrNone otherwise
+     */
+    TInt SendEchoCharacter( const TDesC8* aInput, MDunAtCmdEchoer* aCallback );
+
+private:
+
+    CDunAtCmdEchoer( MDunStreamManipulator* aStreamCallback );
+
+    void ConstructL();
+
+    /**
+     * Initializes this class
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void Initialize();
+
+// from base class MDunCompletionReporter
+
+    /**
+     * From MDunCompletionReporter.
+     * Gets called when data push is complete
+     *
+     * @since S60 5.0
+     * @param aAllPushed ETrue if all in the queue were pushed, EFalse otherwise
+     * @return None
+     */
+    void NotifyDataPushComplete( TBool aAllPushed );
+
+private:  // data
+
+    /**
+     * Notification interface class for echo request completions
+     * Not own.
+     */
+    MDunAtCmdEchoer* iCallback;
+
+    /**
+     * Callback to call when data to push
+     * Not own.
+     */
+    MDunStreamManipulator* iStreamCallback;
+
+    /**
+     * Current state of echoing: active or inactive
+     */
+    TDunState iAtEchoState;
+
+    };
+
+#endif  // C_CDUNATCMDECHOER_H
--- a/localconnectivityservice/dun/atext/inc/DunAtCmdHandler.h	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/atext/inc/DunAtCmdHandler.h	Fri May 14 16:44:53 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 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"
@@ -23,6 +23,7 @@
 #include <atextcommon.h>
 #include "DunDataPusher.h"
 #include "DunAtCmdPusher.h"
+#include "DunAtCmdEchoer.h"
 #include "DunAtEcomListen.h"
 #include "DunAtModeListen.h"
 #include "DunAtNvramListen.h"
@@ -32,6 +33,7 @@
 const TInt KDunOkBufLength     = 1+1+2+1+1;  // <CR>+<LF>+"OK"+<CR>+<LF>
 const TInt KDunErrorBufLength  = 1+1+5+1+1;  // <CR>+<LF>+"ERROR"+<CR>+<LF>
 const TInt KDunInputBufLength  = (512 + 1);  // 512 chars for command + <CR>
+const TInt KDunEscBufLength    = 1;          // Escape (0x1B) character
 
 class CDunAtUrcHandler;
 class MDunConnMon;
@@ -101,6 +103,30 @@
     };
 
 /**
+ *  Class used for AT command editor mode related functionality
+ *
+ *  @lib dunatext.lib
+ *  @since TB9.2
+ */
+NONSHARABLE_CLASS( TDunEditorModeInfo )
+    {
+
+public:
+
+    /**
+     * Flag to indicate if content found (not used if iContentFindStarted is EFalse)
+     */
+    TBool iContentFound;
+
+    /**
+     * AT command decoding related information for peeked data
+     * (not to be used if HandleNextDecodedCommand() returns EFalse)
+     */
+    TDunDecodeInfo iPeekInfo;
+
+    };
+
+/**
  *  Notification interface class for command mode start/end
  *
  *  @lib dunutils.lib
@@ -157,6 +183,15 @@
      */
     virtual void NotifyAtCmdHandlingEnd( TInt aStartIndex ) = 0;
 
+    /**
+     * Notifies about editor mode reply
+     *
+     * @since TB9.2
+     * @param aStart ETrue if start of editor mode, EFalse otherwise
+     * @return None
+     */
+    virtual void NotifyEditorModeReply( TBool aStart ) = 0;
+
     };
 
 /**
@@ -237,6 +272,17 @@
     IMPORT_C void SetEndOfCmdLine( TBool aClearInput );
 
     /**
+     * Sends a character to be echoed
+     *
+     * @since TB9.2
+     * @param aInput Input to echo
+     * @param aCallback Callback to echo request completions
+     * @return Symbian error code on error, KErrNone otherwise
+     */
+    IMPORT_C TInt SendEchoCharacter( const TDesC8* aInput,
+                                     MDunAtCmdEchoer* aCallback );
+
+    /**
      * Stops sending of AT command from decode buffer
      *
      * @since S60 3.2
@@ -408,6 +454,14 @@
     TBool HandleNextDecodedCommand();
 
     /**
+     * Finds the start of the next command
+     *
+     * @since TB9.2
+     * @return Index to the next command or Symbian error code on error
+     */
+    TInt FindStartOfNextCommand();
+
+    /**
      * Manages end of AT command handling
      *
      * @since S60 5.0
@@ -622,6 +676,24 @@
      */
     void ManageCharacterChange( TUint aMode );
 
+    /**
+     * Manages editor mode reply
+     *
+     * @since TB9.2
+     * @param aStart ETrue if start of editor mode, EFalse otherwise
+     * @return Symbian error code on error, KErrNone otherwise
+     */
+    TInt ManageEditorModeReply( TBool aStart );
+
+    /**
+     * Finds the next content from the input buffer
+     *
+     * @since TB9.2
+     * @param aStart ETrue if start of editor mode, EFalse otherwise
+     * @return ETrue if next content found, EFalse otherwise
+     */
+    TBool FindNextContent( TBool aStart );
+
 // from base class MDunAtCmdPusher
 
     /**
@@ -631,6 +703,7 @@
      * downstream.
      *
      * @since S60 5.0
+     * @param aError Error code of command processing completion
      * @return None
      */
     TInt NotifyEndOfProcessing( TInt aError );
@@ -652,6 +725,24 @@
      */
     TBool NotifyNextCommandPeekRequest();
 
+    /**
+     * Notifies about editor mode reply
+     *
+     * @since TB9.2
+     * @return Symbian error code on error, KErrNone otherwise
+     */
+    TInt NotifyEditorModeReply();
+
+// from base class MDunAtCmdEchoer
+
+    /**
+     * Notifies about completed echo in text mode
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void NotifyEchoComplete();
+
 // from base class MDunAtEcomListen
 
     /**
@@ -766,6 +857,11 @@
     TBuf8<KDunInputBufLength> iLastBuffer;
 
     /**
+     * Buffer for <ESC> command
+     */
+    TBuf8<KDunEscBufLength> iEscapeBuffer;
+
+    /**
      * AT command decoding related information
      */
     TDunDecodeInfo iDecodeInfo;
@@ -776,12 +872,23 @@
     TDunParseInfo iParseInfo;
 
     /**
+     * Information for editor mode
+     */
+    TDunEditorModeInfo iEditorModeInfo;
+
+    /**
      * AT command reply pusher
      * Own.
      */
     CDunAtCmdPusher* iCmdPusher;
 
     /**
+     * AT command reply echoer
+     * Own.
+     */
+    CDunAtCmdEchoer* iCmdEchoer;
+
+    /**
      * URC message handlers
      * Own.
      */
--- a/localconnectivityservice/dun/atext/inc/DunAtCmdPusher.h	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/atext/inc/DunAtCmdPusher.h	Fri May 14 16:44:53 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -63,6 +63,14 @@
      */
     virtual TBool NotifyNextCommandPeekRequest() = 0;
 
+    /**
+     * Notifies about editor mode reply
+     *
+     * @since TB9.2
+     * @return Symbian error code on error, KErrNone otherwise
+     */
+    virtual TInt NotifyEditorModeReply() = 0;
+
     };
 
 /**
@@ -120,10 +128,11 @@
      * Starts AT command handling
      *
      * @since S60 5.0
-     * @param aCommand AT command to handle
+     * @param aCommand AT command or editor mode input to handle
+     * @param aNormalMode ETrue if request issue for normal mode
      * @return Symbian error code on error, KErrNone otherwise
      */
-    TInt IssueRequest( TDesC8& aCommand );
+    TInt IssueRequest( TDesC8& aCommand, TBool aNormalMode=ETrue );
 
     /**
      * Stops AT command handling
@@ -151,6 +160,14 @@
      */
     void SetEndOfCmdLine();
 
+    /**
+     * Gets the editor mode status
+     *
+     * @since TB9.2
+     * @return ETrue if in editor mode, EFalse otherwise
+     */
+    TBool EditorMode();
+
 private:
 
     CDunAtCmdPusher( RATExt* aAtCmdExt,
@@ -197,6 +214,38 @@
     void SendReplyData( TBool aRecvBuffer=ETrue );
 
     /**
+     * Manages change in reply type to EReplyTypeOther
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void ManageReplyTypeChangeToOther();
+
+    /**
+     * Manages change in reply type to EReplyTypeOk
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void ManageReplyTypeChangeToOk();
+
+    /**
+     * Manages change in reply type to EReplyTypeError
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void ManageReplyTypeChangeToError();
+
+    /**
+     * Manages change in reply type to EReplyTypeEditor
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void ManageReplyTypeChangeToEditor();
+
+    /**
      * Manages change in reply type
      *
      * @since S60 5.0
@@ -313,6 +362,11 @@
      */
     TBool iStop;
 
+    /**
+     * Flag indicating if in editor mode
+     */
+    TBool iEditorMode;
+
     };
 
 #endif  // C_CDUNATCMDPUSHER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/dun/atext/src/DunAtCmdEchoer.cpp	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2010 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:  Echoer for AT commands
+*
+*/
+
+#include "DunAtCmdEchoer.h"
+#include "DunDownstream.h"
+#include "DunDebug.h"
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CDunAtCmdEchoer* CDunAtCmdEchoer::NewL(
+    MDunStreamManipulator* aStreamCallback )
+    {
+    CDunAtCmdEchoer* self = new (ELeave) CDunAtCmdEchoer( aStreamCallback );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CDunAtCmdEchoer::~CDunAtCmdEchoer()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::~CDunAtCmdEchoer()") ));
+    ResetData();
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::~CDunAtCmdEchoer() complete") ));
+    }
+
+// ---------------------------------------------------------------------------
+// Resets data to initial values
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdEchoer::ResetData()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::ResetData()") ));
+    // Internal
+    Initialize();
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::ResetData() complete") ));
+    }
+
+// ---------------------------------------------------------------------------
+// Sends a character to be echoed
+// ---------------------------------------------------------------------------
+//
+TInt CDunAtCmdEchoer::SendEchoCharacter(
+    const TDesC8* aInput,
+    MDunAtCmdEchoer* aCallback )
+    {
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::SendEchoCharacter()") ));
+    if ( iAtEchoState!=EDunStateIdle || iCallback )
+        {
+        FTRACE(FPrint( _L("CDunAtCmdEchoer::SendEchoCharacter() (not ready) complete") ));
+        return KErrNotReady;
+        }
+    iStreamCallback->NotifyDataPushRequest( aInput, this );
+    iCallback = aCallback;
+    iAtEchoState = EDunStateAtCmdEchoing;
+    FTRACE(FPrint( _L("CDunDownstream::SendEchoCharacter() complete" ) ));
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CDunAtCmdEchoer::CDunAtCmdEchoer
+// ---------------------------------------------------------------------------
+//
+CDunAtCmdEchoer::CDunAtCmdEchoer( MDunStreamManipulator* aStreamCallback ) :
+    iStreamCallback( aStreamCallback )
+    {
+    Initialize();
+    }
+
+// ---------------------------------------------------------------------------
+// CDunAtCmdEchoer::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdEchoer::ConstructL()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::ConstructL()") ));
+    if ( !iStreamCallback )
+        {
+        FTRACE(FPrint( _L("CDunAtCmdEchoer::ConstructL() complete") ));
+        User::Leave( KErrGeneral );
+        }
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::ConstructL() complete") ));
+    }
+
+// ---------------------------------------------------------------------------
+// Initializes this class
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdEchoer::Initialize()
+    {
+    // Don't initialize iStreamCallback here (it is set through NewL)
+    iCallback = NULL;
+    iAtEchoState = EDunStateIdle;
+    }
+
+// ---------------------------------------------------------------------------
+// From MDunCompletionReporter.
+// Gets called when data push is complete
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdEchoer::NotifyDataPushComplete( TBool /*aAllPushed*/ )
+    {
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::NotifyDataPushComplete()") ));
+    MDunAtCmdEchoer* callback = iCallback;
+    iCallback = NULL;
+    iAtEchoState = EDunStateIdle;
+    callback->NotifyEchoComplete();
+    FTRACE(FPrint( _L("CDunAtCmdEchoer::NotifyDataPushComplete() complete") ));
+    }
--- a/localconnectivityservice/dun/atext/src/DunAtCmdHandler.cpp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/atext/src/DunAtCmdHandler.cpp	Fri May 14 16:44:53 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 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"
@@ -35,7 +35,8 @@
 #include "DunDownstream.h"
 #include "DunDebug.h"
 
-const TInt8 KDunCancel = 24;
+const TInt8 KDunCancel = 24;  // Used for line editing, cancel character
+const TInt8 KDunEscape = 27;  // Used for editor ending, escape character
 
 // ---------------------------------------------------------------------------
 // Two-phased constructor.
@@ -79,6 +80,8 @@
     Stop();
     // NewL()
     DeletePluginHandlers();
+    delete iCmdEchoer;
+    iCmdEchoer = NULL;
     delete iNvramListen;
     iNvramListen = NULL;
     delete iModeListen;
@@ -145,7 +148,16 @@
     FTRACE(FPrint( _L("CDunAtCmdHandler::ParseCommand()") ));
     FTRACE(FPrint( _L("CDunAtCmdHandler::ParseCommand() received:") ));
     FTRACE(FPrintRaw(aCommand) );
-    iCommand = &aCommand;
+    TBool editorMode = iCmdPusher->EditorMode();
+    if ( editorMode )
+        {
+        // Note: return here with "no partial input" and some error to fool
+        // CDunUpstream into not reissuing the read request.
+        iCmdPusher->IssueRequest( aCommand, EFalse );
+        aPartialInput = EFalse;
+        return KErrGeneral;
+        }
+    iCommand = &aCommand;  // iCommand only for normal mode
     // Manage partial AT command
     TBool needsCarriage = ETrue;
     TBool okToExit = ManagePartialCommand( aCommand, needsCarriage );
@@ -180,7 +192,7 @@
     iDecodeInfo.iFirstDecode = ETrue;
     iDecodeInfo.iDecodeIndex = 0;
     HandleNextDecodedCommand();
-    FTRACE(FPrint( _L("CDunAtCmdHandler::ParseCommand() (not supported) complete") ));
+    FTRACE(FPrint( _L("CDunAtCmdHandler::ParseCommand() complete") ));
     aPartialInput = EFalse;
     return KErrNone;
     }
@@ -210,6 +222,19 @@
     }
 
 // ---------------------------------------------------------------------------
+// Sends a character to be echoed
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TInt CDunAtCmdHandler::SendEchoCharacter( const TDesC8* aInput,
+                                                   MDunAtCmdEchoer* aCallback )
+    {
+    FTRACE(FPrint( _L("CDunAtCmdHandler::SendEchoCharacter()") ));
+    TInt retVal = iCmdEchoer->SendEchoCharacter( aInput, aCallback );
+    FTRACE(FPrint( _L("CDunAtCmdHandler::SendEchoCharacter() complete") ));
+    return retVal;
+    }
+
+// ---------------------------------------------------------------------------
 // Stops sending of AT command from parse buffer
 // ---------------------------------------------------------------------------
 //
@@ -223,7 +248,12 @@
         return KErrNotReady;
         }
     iCmdPusher->Stop();
-    iHandleState = EDunStateIdle;
+    // The line below is used in the case when this function is called by
+    // CDunUpstream as a result of "data mode ON" change notification.
+    // In this case it is possible that HandleNextDecodedCommand() returns
+    // without resetting the iInputBuffer because of the way it checks the
+    // iHandleState.
+    ManageEndOfCmdHandling( EFalse, ETrue, ETrue );
     FTRACE(FPrint( _L("CDunAtCmdHandler::Stop() complete") ));
     return KErrNone;
     }
@@ -313,28 +343,21 @@
     CreateSpecialCommandsL();
     // Create the plugin handlers
     CreatePluginHandlersL();
+    // Create the echo handler
+    iCmdEchoer = CDunAtCmdEchoer::NewL( iDownstream );
     // Create the listeners
-    CDunAtEcomListen* ecomListen = CDunAtEcomListen::NewLC( &iAtCmdExt, this );
-    CDunAtModeListen* modeListen = CDunAtModeListen::NewLC( &iAtCmdExtCommon,
-                                                           this );
-    CDunAtNvramListen* nvramListen = CDunAtNvramListen::NewLC( &iAtCmdExt,
-                                                               &iAtCmdExtCommon );
+    iEcomListen = CDunAtEcomListen::NewL( &iAtCmdExt, this );
+    iModeListen = CDunAtModeListen::NewL( &iAtCmdExtCommon, this );
+    iNvramListen = CDunAtNvramListen::NewL( &iAtCmdExt, &iAtCmdExtCommon );
+    iAtSpecialCmdHandler = CDunAtSpecialCmdHandler::NewL();
     // Set the default modes (+report) and characters
     GetAndSetDefaultSettingsL();
     // Start listening
-    ecomListen->IssueRequest();
-    modeListen->IssueRequest();
-    nvramListen->IssueRequest();
-    CleanupStack::Pop( nvramListen );
-    CleanupStack::Pop( modeListen );
-    CleanupStack::Pop( ecomListen );
+    iEcomListen->IssueRequest();
+    iModeListen->IssueRequest();
+    iNvramListen->IssueRequest();
     CleanupStack::Pop( &iAtCmdExtCommon );
     CleanupStack::Pop( &iAtCmdExt );
-    iEcomListen = ecomListen;
-    iModeListen = modeListen;
-    iNvramListen = nvramListen;
-    
-    iAtSpecialCmdHandler = CDunAtSpecialCmdHandler::NewL();
     FTRACE(FPrint( _L("CDunAtCmdHandler::ConstructL() complete") ));
     }
 
@@ -356,6 +379,7 @@
     iDecodeInfo.iDecodeIndex = KErrNotFound;
     iDecodeInfo.iPrevChar = 0;
     iDecodeInfo.iPrevExists = EFalse;
+    iEditorModeInfo.iContentFound = EFalse;
     iCmdPusher = NULL;
     iEcomListen = NULL;
     iModeListen = NULL;
@@ -791,6 +815,34 @@
     }
 
 // ---------------------------------------------------------------------------
+// Finds the start of the next command
+// ---------------------------------------------------------------------------
+//
+TInt CDunAtCmdHandler::FindStartOfNextCommand()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdHandler::FindStartOfNextCommand()") ));
+    // Note: here we need to avoid internal recursion when parsing the
+    // multiple IsEndOfCommand() and IsDelimiterCharacter() markers inside the
+    // same upstream block.
+    // Skip all the extra markers except the one we already know to exist.
+    TInt i;
+    TInt startVal = iEndIndex + 1;
+    TInt foundIndex = KErrNotFound;
+    TInt count = iCommand->Length();
+    for ( i=startVal; i<count; i++ )
+        {
+        TChar character = (*iCommand)[i];
+        if ( !(IsEndOfCommand(character)||IsDelimiterCharacter(character)) )
+            {
+            foundIndex = i;
+            break;
+            }
+        }
+    FTRACE(FPrint( _L("CDunAtCmdHandler::FindStartOfNextCommand() complete") ));
+    return foundIndex;
+    }
+
+// ---------------------------------------------------------------------------
 // Manages end of AT command handling
 // ---------------------------------------------------------------------------
 //
@@ -814,23 +866,7 @@
         FTRACE(FPrint( _L("CDunAtCmdHandler::ManageEndOfCmdHandling() (no external) complete") ));
         return;
         }
-    // Note: here we need to avoid internal recursion when parsing the
-    // multiple IsEndOfCommand() and IsDelimiterCharacter() markers inside the
-    // same upstream block.
-    // Skip all the extra markers except the one we already know to exist.
-    TInt i;
-    TInt startVal = iEndIndex + 1;
-    TInt foundIndex = KErrNotFound;
-    TInt count = iCommand->Length();
-    for ( i=startVal; i<count; i++ )
-        {
-        TChar character = (*iCommand)[i];
-        if ( !(IsEndOfCommand(character)||IsDelimiterCharacter(character)) )
-            {
-            foundIndex = i;
-            break;
-            }
-        }
+    TInt foundIndex = FindStartOfNextCommand();
     iUpstream->NotifyAtCmdHandlingEnd( foundIndex );
     FTRACE(FPrint( _L("CDunAtCmdHandler::ManageEndOfCmdHandling() complete") ));
     }
@@ -923,6 +959,7 @@
     FTRACE(FPrint( _L("CDunAtCmdHandler::RestoreOldDecodeInfo()") ));
     if ( aPeek )
         {
+        iEditorModeInfo.iPeekInfo = iDecodeInfo;
         iDecodeInfo = aOldInfo;
         }
     FTRACE(FPrint( _L("CDunAtCmdHandler::RestoreOldDecodeInfo() complete") ));
@@ -1529,6 +1566,65 @@
     }
 
 // ---------------------------------------------------------------------------
+// Manages editor mode reply
+// ---------------------------------------------------------------------------
+//
+TInt CDunAtCmdHandler::ManageEditorModeReply( TBool aStart )
+    {
+    FTRACE(FPrint( _L("CDunAtCmdHandler::ManageEditorModeReply()" ) ));
+    // Two modes possible here:
+    // 1) Sending data directly from DTE to DCE, i.e. no subsequent data in
+    //    the input buffer -> Reissue read request from DTE.
+    // 2) Sending data from input buffer to DCE -> Do not reissue read request
+    //    from DTE: send the data in a loop
+    // In summary: send data byte-by-byte in editor mode until end of input.
+    // When end of input notify CDunUpstream to reissue the read request.
+    TBool nextContentFound = FindNextContent( aStart );
+    if ( !nextContentFound )
+        {
+        iUpstream->NotifyEditorModeReply( aStart );
+        FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyEditorModeReply() complete") ));
+        return KErrNone;
+        }
+    // In block mode end the block mode by sending <ESC> and hope it works.
+    iEscapeBuffer.Zero();
+    iEscapeBuffer.Append( KDunEscape );
+    iCmdPusher->IssueRequest( iEscapeBuffer, EFalse );
+    FTRACE(FPrint( _L("CDunAtCmdHandler::ManageEditorModeReply() complete" ) ));
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// Finds the next content from the input data
+// ---------------------------------------------------------------------------
+//
+TBool CDunAtCmdHandler::FindNextContent( TBool aStart )
+    {
+    FTRACE(FPrint( _L("CDunAtCmdHandler::FindNextContent()" ) ));
+    if ( !aStart )
+        {
+        FTRACE(FPrint( _L("CDunAtCmdHandler::FindNextContent() (skip) complete" ) ));
+        return iEditorModeInfo.iContentFound;
+        }
+    iEditorModeInfo.iContentFound = EFalse;
+    TInt foundCmdIndex = KErrNotFound;
+    TBool nextContentFound = ExtractNextDecodedCommand( ETrue );  // peek
+    if ( !nextContentFound )
+        {
+        // Check the next subblock
+        foundCmdIndex = FindStartOfNextCommand();
+        }
+    if ( !nextContentFound && foundCmdIndex<0 )
+        {
+        FTRACE(FPrint( _L("CDunAtCmdHandler::FindNextContent() (not found) complete") ));
+        return EFalse;
+        }
+    iEditorModeInfo.iContentFound = ETrue;
+    FTRACE(FPrint( _L("CDunAtCmdHandler::FindNextContent() complete" ) ));
+    return ETrue;
+    }
+
+// ---------------------------------------------------------------------------
 // From class MDunAtCmdPusher.
 // Notifies about end of AT command processing. This is after all reply data
 // for an AT command is multiplexed to the downstream.
@@ -1537,6 +1633,13 @@
 TInt CDunAtCmdHandler::NotifyEndOfProcessing( TInt /*aError*/ )
     {
     FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyEndOfProcessing()" ) ));
+    TBool editorMode = iCmdPusher->EditorMode();
+    if ( editorMode )
+        {
+        ManageEditorModeReply( ETrue );
+        FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyEndOfProcessing() (editor) complete" ) ));
+        return KErrNone;
+        }
     HandleNextDecodedCommand();
     FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyEndOfProcessing() complete" ) ));
     return KErrNone;
@@ -1571,6 +1674,19 @@
     }
 
 // ---------------------------------------------------------------------------
+// From class MDunAtCmdPusher.
+// Notifies about editor mode reply
+// ---------------------------------------------------------------------------
+//
+TInt CDunAtCmdHandler::NotifyEditorModeReply()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyEditorModeReply()") ));
+    TInt retVal = ManageEditorModeReply( EFalse );
+    FTRACE(FPrint( _L("CDunAtCmdHandler::NotifyEditorModeReply() complete") ));
+    return retVal;
+    }
+
+// ---------------------------------------------------------------------------
 // From class MDunAtEcomListen.
 // Notifies about new plugin installation
 // ---------------------------------------------------------------------------
--- a/localconnectivityservice/dun/atext/src/DunAtCmdPusher.cpp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/atext/src/DunAtCmdPusher.cpp	Fri May 14 16:44:53 2010 +0300
@@ -103,12 +103,12 @@
 // Starts AT command handling
 // ---------------------------------------------------------------------------
 //
-TInt CDunAtCmdPusher::IssueRequest( TDesC8& aCommand )
+TInt CDunAtCmdPusher::IssueRequest( TDesC8& aCommand, TBool aNormalMode )
     {
     FTRACE(FPrint( _L("CDunAtCmdPusher::IssueRequest()") ));
     FTRACE(FPrint( _L("CDunAtCmdPusher::IssueRequest() send ATEXT:") ));
     FTRACE(FPrintRaw(aCommand) );
-    if ( iAtPushState != EDunStateIdle )
+    if ( iAtPushState!=EDunStateIdle && aNormalMode )
         {
         FTRACE(FPrint( _L("CDunAtCmdPusher::IssueRequest() (not ready) complete") ));
         return KErrNotReady;
@@ -186,10 +186,22 @@
     iLastOkPush = EFalse;
     iCmdAbort = EFalse;
     iStop = EFalse;
+    iEditorMode = EFalse;
     FTRACE(FPrint( _L("CDunAtCmdPusher::SetEndOfCmdLine() complete") ));
     }
 
 // ---------------------------------------------------------------------------
+// Gets the editor mode status
+// ---------------------------------------------------------------------------
+//
+TBool CDunAtCmdPusher::EditorMode()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdPusher::EditorMode()") ));
+    FTRACE(FPrint( _L("CDunAtCmdPusher::EditorMode() complete") ));
+    return iEditorMode;
+    }
+
+// ---------------------------------------------------------------------------
 // CDunAtCmdPusher::CDunAtCmdPusher
 // ---------------------------------------------------------------------------
 //
@@ -303,6 +315,79 @@
     }
 
 // ---------------------------------------------------------------------------
+// Manages change in reply type to EReplyTypeOther
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdPusher::ManageReplyTypeChangeToOther()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToOther()") ));
+    iNoErrorReceived = ETrue;
+    SendReplyData();
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToOther() complete") ));
+    }
+
+// ---------------------------------------------------------------------------
+// Manages change in reply type to EReplyTypeOk
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdPusher::ManageReplyTypeChangeToOk()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToOk()") ));
+    // Skip the "OK" replies if not last. Only push the "OK" reply at the end.
+    // iStop changes it so that the we have to send the "OK" immediately and
+    // only stop with NotifyDataPushComplete()
+    TBool found = iCallback->NotifyNextCommandPeekRequest();
+    if ( !found || iStop )
+        {
+        SendReplyData();
+        }
+    else
+        {
+        iNoErrorReceived = ETrue;
+        SetToIdleAndNotifyEnd( KErrNone );
+        }
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToOk() complete") ));
+    }
+
+// ---------------------------------------------------------------------------
+// Manages change in reply type to EReplyTypeError
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdPusher::ManageReplyTypeChangeToError()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToError()") ));
+    if ( iNoErrorReceived )
+       {
+       iAtCmdExt->ReportExternalHandleCommandError();
+       }
+    SendReplyData();
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToError() complete") ));
+    }
+
+// ---------------------------------------------------------------------------
+// Manages change in reply type to EReplyTypeEditor
+// ---------------------------------------------------------------------------
+//
+void CDunAtCmdPusher::ManageReplyTypeChangeToEditor()
+    {
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToEditor()") ));
+    if ( !iEditorMode )
+        {
+        // First change to editor mode: manage it as EReplyTypeOther (prompt)
+        iEditorMode = ETrue;
+        ManageReplyTypeChangeToOther();
+        FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToEditor() (editor) complete") ));
+        return;
+        }
+    // The same reply to editor mode as before: no reply, only notification for
+    // echo/forwarding purposes
+    iCallback->NotifyEditorModeReply();
+    // Do nothing after notifying. The next ForwardEditorModeInput() triggers
+    // the next call of this function.
+    FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChangeToEditor() complete") ));
+    }
+
+// ---------------------------------------------------------------------------
 // Manages change in reply type
 // ---------------------------------------------------------------------------
 //
@@ -314,41 +399,32 @@
         case EReplyTypeOther:
             {
             FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChange() EReplyTypeOther") ));
-            iNoErrorReceived = ETrue;
-            SendReplyData();
+            iEditorMode = EFalse;
+            ManageReplyTypeChangeToOther();
             }
             break;
         case EReplyTypeOk:
             {
             FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChange() EReplyTypeOk") ));
-            // Skip the "OK" replies if not last. Only push the "OK" reply at the end.
-            // iStop changes it so that the we have to send the "OK" immediately and
-            // only stop with NotifyDataPushComplete()
-            TBool found = iCallback->NotifyNextCommandPeekRequest();
-            if ( !found || iStop )
-                {
-                SendReplyData();
-                }
-            else
-                {
-                iNoErrorReceived = ETrue;
-                SetToIdleAndNotifyEnd( KErrNone );
-                }
+            iEditorMode = EFalse;
+            ManageReplyTypeChangeToOk();
             }
             break;
         case EReplyTypeError:
             {
             FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChange() EReplyTypeError") ));
-            if ( iNoErrorReceived )
-                {
-                iAtCmdExt->ReportExternalHandleCommandError();
-                }
-            SendReplyData();
+            iEditorMode = EFalse;
+            ManageReplyTypeChangeToError();
             }
             break;
+        case EReplyTypeEditor:
+            FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChange() EReplyTypeEditor") ));
+            ManageReplyTypeChangeToEditor();
+            break;
         default:
             {
             FTRACE(FPrint( _L("CDunAtCmdPusher::ManageReplyTypeChange() EReplyTypeUndefined") ));
+            iEditorMode = EFalse;
             SetToIdleAndNotifyEnd( KErrNone );
             }
             break;
--- a/localconnectivityservice/dun/utils/inc/DunTransporter.h	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/utils/inc/DunTransporter.h	Fri May 14 16:44:53 2010 +0300
@@ -83,6 +83,7 @@
     EDunStateCallListen,       // Transporter state for call state listening
     EDunStateAtCmdHandling,    // ATEXT state for AT command handling
     EDunStateAtCmdPushing,     // ATEXT state for AT command reply pushing
+    EDunStateAtCmdEchoing,     // ATEXT state for AT command character echoing (text mode)
     EDunStateAtUrcHandling,    // ATEXT state for URC handling
     EDunStateModeListening,    // ATEXT state for mode change listening
     EDunStateEcomListening,    // ATEXT state for ECOM change listening
--- a/localconnectivityservice/dun/utils/inc/DunUpstream.h	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/utils/inc/DunUpstream.h	Fri May 14 16:44:53 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 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"
@@ -22,6 +22,7 @@
 #include "DunTransUtils.h"
 #include "DunStream.h"
 #include "DunAtCmdHandler.h"
+#include "DunAtCmdEchoer.h"
 #include "DunDataPusher.h"
 
 class MDunCmdModeMonitor;
@@ -132,7 +133,8 @@
 NONSHARABLE_CLASS( CDunUpstream ) : public CDunStream,
                                     public MDunAtCmdHandler,
                                     public MDunCmdModeMonitor,
-                                    public MDunAtCmdStatusReporter
+                                    public MDunAtCmdStatusReporter,
+                                    public MDunAtCmdEchoer
     {
 
 public:
@@ -284,6 +286,15 @@
      */
     void NotifyAtCmdHandlingEnd( TInt aStartIndex );
 
+    /**
+     * Notifies about editor mode reply
+     *
+     * @since TB9.2
+     * @param aStart ETrue if start of editor mode, EFalse otherwise
+     * @return Symbian error code on error, KErrNone otherwise
+     */
+    void NotifyEditorModeReply( TBool aStart );
+
 // from base class MDunAtCmdHandler
 
     /**
@@ -322,6 +333,16 @@
      */
     void NotifyCommandModeEnd();
 
+// from base class MDunAtCmdEchoer
+
+    /**
+     * Notifies about completed echo in text mode
+     *
+     * @since TB9.2
+     * @return None
+     */
+    void NotifyEchoComplete();
+
 private:  // data
 
     /**
--- a/localconnectivityservice/dun/utils/src/DunUpstream.cpp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/dun/utils/src/DunUpstream.cpp	Fri May 14 16:44:53 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 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"
@@ -499,6 +499,31 @@
     }
 
 // ---------------------------------------------------------------------------
+// From class MDunAtCmdStatusReporter
+// Notifies about editor mode reply
+// ---------------------------------------------------------------------------
+//
+void CDunUpstream::NotifyEditorModeReply( TBool aStart )
+    {
+    FTRACE(FPrint( _L("CDunUpstream::NotifyEditorModeReply()" )));
+    if ( iParseData.iDataMode )
+        {
+        FTRACE(FPrint( _L("CDunUpstream::NotifyEditorModeReply() (not ready) complete" )));
+        return;
+        }
+    // If start of editor mode then just reissue the read request
+    // If continuation then echo and reissue the read request
+    if ( aStart )
+        {
+        IssueRequest();
+        FTRACE(FPrint( _L("CDunUpstream::NotifyEditorModeReply() (start) complete" )));
+        return;
+        }
+    iParseData.iAtCmdHandler->SendEchoCharacter( iBufferPtr, this );
+    FTRACE(FPrint( _L("CDunUpstream::NotifyEditorModeReply() complete" )));
+    }
+
+// ---------------------------------------------------------------------------
 // From class MDunAtCmdHandler
 // Starts URC message handling
 // ---------------------------------------------------------------------------
@@ -581,3 +606,15 @@
     IssueRequest();
     FTRACE(FPrint( _L("CDunUpstream::NotifyCommandModeEnd() complete" )));
     }
+
+// ---------------------------------------------------------------------------
+// From class MDunAtCmdEchoer.
+// Notifies about command mode end
+// ---------------------------------------------------------------------------
+//
+void CDunUpstream::NotifyEchoComplete()
+    {
+    FTRACE(FPrint( _L("CDunUpstream::NotifyEchoComplete()" )));
+    IssueRequest();
+    FTRACE(FPrint( _L("CDunUpstream::NotifyEchoComplete() complete" )));
+    }
--- a/localconnectivityservice/group/bld.inf	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/group/bld.inf	Fri May 14 16:44:53 2010 +0300
@@ -24,7 +24,6 @@
 #include "../obexsendservices/group/bld.inf"
 #include "../obexreceiveservices/group/bld.inf"
 #include "../dun/group/bld.inf"
-#include "../lcstylustap/group/bld.inf"
 #include "../generichid/group/bld.inf"
 #include "../headset/group/bld.inf"
 
--- a/localconnectivityservice/lcstylustap/data/10204DAE.rss	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Resource definitions for touch functional plug in
-*
-*/
-
-
-
-
-#include "registryinfov2.rh"
-#include "AknIndicatorPluginImplUIDs.hrh"
-
-
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2;
-	dll_uid     = 0x10204DAE; // Plugin dll UID
-	interfaces  = 
-		{
-		INTERFACE_INFO
-			{
-			interface_uid   = KAknIndicatorPluginInterfaceUid;
-										
-			implementations = 
-				{				
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = KImplUIDBTIndicatorsPlugin;
-					version_no          = 1;
-					display_name        = "LC Stylus Tap Plug in for BT"; // Plugin debug name
-					default_data        = "lcstylustapbt"; // Parent UID
-					opaque_data         = ""; 
-                    // This implementation CANNOT be overridden by a RAM-based plug-in
-                    rom_only = 1;
-					},
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = KImplUIDUSBIndicatorsPlugin;
-					version_no          = 1;
-					display_name        = "LC Stylus Tap Plug in for USB"; // Plugin debug name
-					default_data        = "lcstylustapusb"; // Parent UID
-					opaque_data         = ""; 
-                    // This implementation CANNOT be overridden by a RAM-based plug-in
-                    rom_only = 1;
-					},
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = KImplUIDIRIndicatorsPlugin;
-					version_no          = 1;
-					display_name        = "LC Stylus Tap Plug in for IRDA"; // Plugin debug name
-					default_data        = "lcstylustapirda"; // Parent UID
-					opaque_data         = ""; 
-                    // This implementation CANNOT be overridden by a RAM-based plug-in
-                    rom_only = 1;
-					},
-				IMPLEMENTATION_INFO
-				    {
-					implementation_uid  = 0x20026FC4;
-					version_no          = 1;
-					display_name        = "LC Stylus Tap Plug in for USBMEM"; // Plugin debug name
-					default_data        = "lcstylustapusbmem"; // Parent UID
-					opaque_data         = ""; 
-					// This implementation CANNOT be overridden by a RAM-based plug-in
-					rom_only = 1;
-					}	
-				};
-			}
-		};
-	}
--- a/localconnectivityservice/lcstylustap/data/lcstylustaprsc.rss	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Resource definitions for project lcstylustap
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    LCSX // 4 letter ID
-
-//  INCLUDES
-
-#include    <eikon.rh>
-#include    <btui.loc>
-#include    <usbclasschangeui.loc>
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE
-    {
-    }
-RESOURCE TBUF       r_lcstylustap_bt_name  { buf = qtn_bt_title_bluetooth; }
-RESOURCE TBUF       r_lcstylustap_usb_name  { buf = qtn_usb_stylus_tap; }
-RESOURCE TBUF       r_lcstylustap_usb_mem_eject  { buf = qtn_usb_mem_eject; }
-
--- a/localconnectivityservice/lcstylustap/group/bld.inf	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  Build information file for Stylus Tap.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/lcstylustap.iby        CORE_MW_LAYER_IBY_EXPORT_PATH(lcstylustap.iby)
-../rom/lcstylustapResource.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(lcstylustapResource.iby)
-
-PRJ_MMPFILES
-lcstylustap.mmp
-
-
--- a/localconnectivityservice/lcstylustap/group/lcstylustap.mmp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2007-2009 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:  This is  plug in to UI Framework Core
-*
-*/
-
-
-
-#include  <data_caging_paths.hrh>    // For RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-//EPOCALLOWDLLDATA
-
-CAPABILITY          CAP_ECOM_PLUGIN
-
-TARGET              lcstylustap.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x10204DAE  
-VENDORID            VID_DEFAULT
-
-
-SOURCEPATH  ../src
-SOURCE      lcstylustapproxy.cpp
-SOURCE      lcstylustap.cpp
-SOURCE      lcstylustapdismount.cpp
-SOURCE      forcedismounttimer.cpp
-
-
-//User include paths
-USERINCLUDE     ../inc
-
-
-//System include paths
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-SOURCEPATH      ../data
-
-START RESOURCE  10204DAE.rss  
-TARGET          lcstylustap.rsc
-END
-
-
-START RESOURCE  lcstylustaprsc.rss
-HEADER
-TARGET          lcstylustaprsc.rsc
-TARGETPATH      RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-
-LIBRARY			ecom.lib
-LIBRARY			euser.lib
-LIBRARY			bafl.lib 
-LIBRARY			avkon.lib
-LIBRARY			cone.lib 
-LIBRARY			commonengine.lib
-LIBRARY			efsrv.lib
-
-LIBRARY			flogger.lib
-
-
--- a/localconnectivityservice/lcstylustap/inc/debug.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Logging definition
-*
-*/
-
-
-#ifndef PRJ_LOGGING_H
-#define PRJ_LOGGING_H
-
-#include <e32base.h>
-#include "debugconfig.h"
-
-#ifdef PRJ_ENABLE_TRACE
-
-#ifdef PRJ_FILE_TRACE
-#include <flogger.h>
-#else
-#include <e32debug.h>
-#endif
-
-NONSHARABLE_CLASS(TOverflowTruncate16) : public TDes16Overflow
-    {
-public:
-    void Overflow(TDes16& /*aDes*/) {}
-    };
-
-NONSHARABLE_CLASS(TOverflowTruncate8) : public TDes8Overflow
-    {
-public:
-    void Overflow(TDes8& /*aDes*/) {}
-    };
-
-inline void Trace(TRefByValue<const TDesC16> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list,aFmt);
-#ifdef PRJ_FILE_TRACE
-    RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list);
-#else
-    TBuf16<KMaxLogLineLength> theFinalString;
-    theFinalString.Append(KTracePrefix16);
-    TOverflowTruncate16 overflow;
-    theFinalString.AppendFormatList(aFmt,list,&overflow);
-    RDebug::Print(theFinalString);
-#endif
-    }
-
-inline void Trace(TRefByValue<const TDesC8> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list, aFmt);
-#ifdef PRJ_FILE_TRACE
-    RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list);
-#else
-    TOverflowTruncate8 overflow;
-    TBuf8<KMaxLogLineLength> buf8;
-    buf8.Append(KTracePrefix8);
-    buf8.AppendFormatList(aFmt, list, &overflow);
-    TBuf16<KMaxLogLineLength> buf16(buf8.Length());
-    buf16.Copy(buf8);
-    TRefByValue<const TDesC> tmpFmt(_L("%S"));
-    RDebug::Print(tmpFmt, &buf16);
-#endif
-    }
-
-inline void TracePanic(
-    char* aFile, 
-    TInt aLine,
-    TInt aPanicCode,
-    const TDesC& aPanicCategory)
-    {
-    TPtrC8 fullFileName((const TUint8*)aFile);
-    TPtrC8 fileName(fullFileName.Ptr()+fullFileName.LocateReverse('\\')+1);
-    TBuf8<KMaxLogLineLength> buf;
-    buf.Append(KPanicPrefix8);
-    buf.AppendFormat(_L8("%d at line %d in file %S"), aPanicCode, aLine, &fileName);
-    Trace(buf);
-    User::Panic(aPanicCategory, aPanicCode); 
-    }
-
-inline void TraceLeave(char* aFile, TInt aLine, TInt aReason)
-    {
-    TPtrC8 fullFileName((const TUint8*)aFile);
-    TPtrC8 fileName(fullFileName.Ptr()+fullFileName.LocateReverse('\\')+1);
-    TBuf8<KMaxLogLineLength> buf;
-    buf.Append(KLeavePrefix8);
-    buf.AppendFormat(_L8("%d at line %d in file %S"), aReason, aLine, &fileName);
-    Trace(buf);
-    User::LeaveIfError(aReason);
-    }
-
-#define TRACE_INFO(p) {if(KTraceMask & KPRINTINFO) Trace p;}
-
-#define TRACE_ERROR(p) {if(KTraceMask & KPRINTERROR) Trace p;}
-
-#define TRACE_STATE(p) {if(KTraceMask & KPRINTSTATE) Trace p;}
-
-#define TRACE_WARNING(p) {if(KTraceMask & KPRINTWARNING) Trace p;}
-
-#define TRACE_INFO_SEG(p) {if(KTraceMask & KPRINTINFO) p;}
-
-#define TRACE_ASSERT(GUARD, CODE) {if (!(GUARD)) TracePanic(__FILE__, __LINE__, CODE, KPanicCategory);}
-
-#define PANIC(CODE) TracePanic(__FILE__, __LINE__, CODE, KPanicCategory)
-
-#define LEAVE_IF_ERROR(REASON) {if (REASON) TraceLeave(__FILE__, __LINE__, REASON);}
-
-#define LEAVE(REASON) {TraceLeave(__FILE__, __LINE__, REASON);}
-
-#define TRACE_FUNC_ENTRY {if(KTraceMask & KPRINTINFO) { TPtrC8 ptr8((TUint8*)__PRETTY_FUNCTION__); Trace(KFuncEntryFormat8, &ptr8);}}
-
-#define TRACE_FUNC_ENTRY_THIS {if(KTraceMask & KPRINTINFO) { TPtrC8 ptr8((TUint8*)__PRETTY_FUNCTION__); Trace(KFuncEntryThisFormat8, &ptr8, this);}}
-
-#define TRACE_FUNC_EXIT {if(KTraceMask & KPRINTINFO) { TPtrC8 ptr8((TUint8*)__PRETTY_FUNCTION__); Trace(KFuncExitFormat8, &ptr8);}}
-
-#define TRACE_FUNC {if(KTraceMask & KPRINTINFO) { TPtrC8 ptr8((TUint8*)__PRETTY_FUNCTION__); Trace(KFuncFormat8, &ptr8);}}
-
-#define TRACE_FUNC_THIS {if(KTraceMask & KPRINTINFO) { TPtrC8 ptr8((TUint8*)__PRETTY_FUNCTION__); Trace(KFuncThisFormat8, &ptr8, this);}}
-
-#define RETURN_IF_ERR(ERR) {if(ERR) {TPtrC8 ptr8((TUint8*)__FILE__); Trace(_L8(" RETURN %d at file %S line %d"), ERR, &ptr8, __LINE__); return ERR;}}
-
-#else // PRJ_ENABLE_TRACE not defined
-
-#define TRACE_INFO(p)
-
-#define TRACE_ERROR(p)
-
-#define TRACE_STATE(p)
-
-#define TRACE_WARNING(p)
-
-#define TRACE_INFO_SEG(p)
-
-#define TRACE_ASSERT(GUARD, CODE)
-
-#define PANIC(CODE) {User::Panic(KPanicCategory, CODE);}
-
-#define LEAVE_IF_ERROR(REASON) {static_cast<void>(User::LeaveIfError(REASON));}
-
-#define LEAVE(REASON) {static_cast<void>(User::Leave(REASON));}
-
-#define TRACE_FUNC_ENTRY
-
-#define TRACE_FUNC_ENTRY_THIS
-
-#define TRACE_FUNC_EXIT
-
-#define TRACE_FUNC
-
-#define TRACE_FUNC_THIS
-
-#define RETURN_IF_ERR(ERR) {if(ERR) return ERR;}
-#endif // PRJ_ENABLE_TRACE
-
-#endif // PRJ_LOGGING_H
--- a/localconnectivityservice/lcstylustap/inc/debugconfig.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Project configure file.
-*
-*/
-
-
-#ifndef ___DEBUGCONFIG_H__
-#define ___DEBUGCONFIG_H__
-
-
-#ifdef _DEBUG
-#define PRJ_ENABLE_TRACE
-#endif
-
-
-//#define PRJ_FILE_TRACE
-
-/**
- * build the project for module test purpose if this is defined
- */
-//#define PRJ_MODULETEST_BUILD
-
-/**
- * build the project using stubs to replace the dependencies if this is defined
- */
-//#define PRJ_USE_STUB
-
-
-/**
- * Custom logging variations.
- */
-#ifdef PRJ_FILE_TRACE
-_LIT(KLogFile,"lcstylustap.txt");
-_LIT(KLogDir,"lcstylustap");
-#endif
-
-#ifdef PRJ_ENABLE_TRACE
-_LIT(KTracePrefix16, "[lcstylustap] ");
-_LIT8(KTracePrefix8, "[lcstylustap] ");
-_LIT8(KFuncFormat8, "><%S");
-_LIT8(KFuncThisFormat8, "><%S, [0x%08X]");
-_LIT8(KFuncEntryFormat8, ">%S");
-_LIT8(KFuncEntryThisFormat8, ">%S, [0x%08X]");
-_LIT8(KFuncExitFormat8, "<%S");
-
-_LIT(KPanicCategory, "LC lcstylustap");    
-_LIT8(KPanicPrefix8, "PANIC code ");
-_LIT8(KLeavePrefix8, "LEAVE code ");
-#endif
-
-const TInt KMaxLogLineLength = 512;
-
-#define KPRINTERROR        0x00000001 // Tracing level: error
-#define KPRINTINFO        0x00000002 // Tracing level: function trace
-#define KPRINTSTATE        0x00000004 // Tracing level: state machine info
-#define KPRINTWARNING   0x00000008 // Tracing level: warning
-
-const TInt KTraceMask = KPRINTERROR | KPRINTINFO | KPRINTSTATE | KPRINTWARNING;
-
-#endif // ___DEBUGCONFIG_H__
--- a/localconnectivityservice/lcstylustap/inc/forcedismounttimer.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Header file for Stylus Tap indicator
-*
-*/
-
-#ifndef C_FORCEDISMOUNTTIMER_H
-#define C_FORCEDISMOUNTTIMER_H
-
-#include <e32base.h>
-
-/**
- * Timer callback interface for force mount
- *
- * This class specifies the function to be called when a timeout occurs.
- * Used in conjunction with CTimeOutTimer class
- *  
- */    
-class MTimerNotifier
-    {
-public:
-    /**     
-     * The function to be called when a timeout occurs.
-     *     
-     */
-    virtual void TimerExpired() = 0;
-    };
-
-/**
- * Timer interface for force mount
- *
- * This class will notify an object after a specified timeout.
- * 
- */        
-class CForceDismountTimer : public CTimer
-    {
-public:
-    /**
-     * Two-phased constructor.     
-     * @param aTimeOutNotify object to notify of timeout event
-     */
-    static CForceDismountTimer* NewL( MTimerNotifier* aTimeOutNotify );
-
-    /**
-     * Two-phased constructor.     
-     * @param aTimeOutNotify object to notify of timeout event
-     */    
-    static CForceDismountTimer* NewLC( MTimerNotifier* aTimeOutNotify);
-
-    /**
-    * Destructor
-    */
-    virtual ~CForceDismountTimer();
-
-protected: 
-
-    /**
-     * From CTimer
-     * Invoked when a timeout occurs
-     *      
-     */
-    virtual void RunL();
-
-private:
-    /**
-     * Constructor.     
-     * @param aTimeOutNotify object to notify of timeout event
-     */    
-    CForceDismountTimer( MTimerNotifier* aTimeOutNotify );
-    
-    /**
-     *  Default constructor.          
-     */   
-    void ConstructL();
-
-private: // Member variables
-
-    /**
-     *  The observer for this objects events 
-     *  Not own.
-     */
-    MTimerNotifier* iNotify;
-    
-
-    };
-#endif // C_FORCEMOUNTTIMER_H
--- a/localconnectivityservice/lcstylustap/inc/lcstylustap.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Header file for Stylus Tap indicator
-*
-*/
-
-
-#ifndef C_LCSTYLUSTAP_H
-#define C_LCSTYLUSTAP_H
-
-#include <AknIndicatorPlugin.h>
-
-
-class CLcStylusTapDismount;
-/**
- * Implements stylus tap actions for the indicator provided by
- * UID
- * @lib 
- * @since S60 v5.0
- */
-        
-NONSHARABLE_CLASS( CLcStylusTap ) :  public CAknIndicatorPlugin
-    {
-
-public:
-
-    /**
-     * Two-phase constructor
-     * @since S60 5.0
-     * @param  none
-     */
-    static CLcStylusTap* NewL( );
-    
-    /**
-     * Destructor
-     */
-    virtual ~CLcStylusTap();
-
-public: // CAknIndicatorPlugin
-
-    /**
-     * HandleIndicatorTapL is called when user tap on the UI 
-     * @since S60 5.0
-     * @param  aUid, implementation Uid 
-     */
-    void HandleIndicatorTapL( const TInt aUid );
-    /**
-     * TextL, the text that should be shown in the tap area
-     * @since S60 5.0
-     * @param  aUid, implementation Uid
-     * @param  aTextType,  text type linked or no link
-     */
-    HBufC* TextL( const TInt aUid, TInt& aTextType );
-
-private:
-
-    /**
-     * C++ default constructor
-     * @since S60 5.0
-     * @param  none     
-     */
-    CLcStylusTap( );
-
-    /**
-     * Symbian 2nd-phase constructor
-     * @since S60 5.0
-     * @param  none     
-     */
-    void ConstructL();
-    /**
-     * Create the setting application
-     * @since S60 5.0
-     * @param  aProcessName, process name whose setting view will be launched
-     * @param  aUidType TUidType of the desired process
-     */
-    void CreateDesiredViewL(const TDesC & aProcessName,const TUidType & aUidType) const;
-    
-    
-    /**
-     * Ejec usb memory
-     */
-    void EjectUSBMemL();
-
-private: // data
-    /**
-     * Dismount manageer
-     * Own.
-     */
-    CLcStylusTapDismount*   iDismountManager;
-    };
-
-
-#endif      // __LCSTYLUSTAP_H__
--- a/localconnectivityservice/lcstylustap/inc/lcstylustapdismount.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Header file for Stylus Tap indicator
-*
-*/
-
-
-#ifndef C_LCSTYLUSTAPDISMOUNT_H
-#define C_LCSTYLUSTAPDISMOUNT_H
-
-#include <e32base.h> // CActive
-#include <f32file.h> 
-#include "forcedismounttimer.h"
-
-
-/**
- *  Active class dismount notifications notifiers 
- *
- */
-NONSHARABLE_CLASS( CLcStylusTapDismount ) : public CActive, 
-                                            public MTimerNotifier
-    {
-public:
-    virtual ~CLcStylusTapDismount();
-    static CLcStylusTapDismount* NewL();
-    static CLcStylusTapDismount* NewLC();
-    
-public:
-    /**
-     * Send dismount notifications for all usb drives.
-     */
-    void DisMountUsbDrives();
-    
-protected:
-    /**
-     * Constructor
-     */
-    CLcStylusTapDismount();
-    
-    /**
-     * ConstructL
-     */
-    void ConstructL();
-    
-private:
-    /**
-     *  Send dismount nontication
-     */
-    void DoDismount();
-
-private: //from CActive    
-    // CActive implementation
-    /**
-     * RunL
-     */
-    void RunL();
-    
-    /**
-     * DoCancel
-     */
-    void DoCancel();
-    
-private: // from MTimerNotifier
-
-    /**
-     * Force dismount timer callback
-     */     
-    void TimerExpired();    
-        
-private:
-    /**
-     * Drive index
-     */
-    TInt iDriveIndex;
-    /**
-     * RFs session
-     */
-    RFs  iRFs;
-    
-    /**
-     * List of drives
-     */
-    TDriveList iDriveList;    
-    
-    /**
-     * Force dismount timer
-     * Own
-     */
-    CForceDismountTimer* iDismountTimer;
-    };
-
-
-
-#endif      // __LCSTYLUSTAP_H__
--- a/localconnectivityservice/lcstylustap/rom/lcstylustap.iby	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-*
-*/
-#ifndef LCSTYLUSTAP_IBY
-#define LCSTYLUSTAP_IBY
-
-//ECOM plugin for tapping(Ecom DLL)
-ECOM_PLUGIN(lcstylustap.dll,lcstylustap.rsc)
-
-#endif
--- a/localconnectivityservice/lcstylustap/rom/lcstylustapResource.iby	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-*
-*/
-#ifndef LCSTYLUSTAPRESOURCE_IBY
-#define LCSTYLUSTAPRESOURCE_IBY
-
-//View resource in Ecom plugin
-data=DATAZ_\RESOURCE_FILES_DIR\lcstylustaprsc.rsc	RESOURCE_FILES_DIR\lcstylustaprsc.rsc
-
-
-#endif
--- a/localconnectivityservice/lcstylustap/src/forcedismounttimer.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2006 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:  LC stylustap force unmount timeouttimer
-*/
-
-#include "debug.h"
-#include "forcedismounttimer.h"
-
-
-const TInt KForceDismountTimeOut   = 6000000; // 6 seconds
-
-// ======== MEMBER FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CForceDismountTimer* CForceDismountTimer::NewL( MTimerNotifier* aTimeOutNotify)
-    {
-    TRACE_FUNC    
-    CForceDismountTimer* self = CForceDismountTimer::NewLC( aTimeOutNotify );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//    
-CForceDismountTimer* CForceDismountTimer::NewLC( MTimerNotifier* aTimeOutNotify )
-    {
-    TRACE_FUNC    
-    CForceDismountTimer* self = new (ELeave) CForceDismountTimer( aTimeOutNotify );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CTimeOutTimer()
-// ---------------------------------------------------------------------------
-//
-CForceDismountTimer::CForceDismountTimer( MTimerNotifier* aTimeOutNotify):
-    CTimer(EPriorityStandard), 
-    iNotify(aTimeOutNotify)    
-    {
-    TRACE_FUNC    
-    }    
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CForceDismountTimer::~CForceDismountTimer()
-    {
-    TRACE_FUNC    
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CForceDismountTimer::ConstructL()
-    {
-    TRACE_FUNC    
-    if ( !iNotify )    
-        {
-        User::Leave(KErrArgument);    
-        }
-    CTimer::ConstructL();
-    CActiveScheduler::Add(this);
-    After( KForceDismountTimeOut );
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// RunL()
-// ---------------------------------------------------------------------------
-//
-void CForceDismountTimer::RunL()
-    {
-    TRACE_FUNC    
-    // Timer request has completed, so notify the timer's owner
-    iNotify->TimerExpired();
-    }
--- a/localconnectivityservice/lcstylustap/src/lcstylustap.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  ECOM  implementation for touch indicator
-*
-*/
-
-
-#include <apgtask.h>
-#include <ConeResLoader.h>
-#include <eikspane.h>
-#include <avkon.hrh>
-#include <lcstylustaprsc.rsg>
-#include <e32uid.h> // KExecutableImageUid
-#include <data_caging_path_literals.hrh>
-#include "lcstylustap.h"
-#include "debug.h"
-#include "lcstylustapdismount.h"
-
-const TInt KUsbUIUID = 0x102068E2;
-const TInt KBtUIUID  = 0x10005951;
-
-
-// Constants
-_LIT(KFileDrive, "z:");
-_LIT( KLCStylustapPluginResourceFile, "lcstylustaprsc.rsc" );
-_LIT(KBTUIExe, "BTUI.exe"); // Hard coded name can be used, since it will not be changed
-_LIT(KUSBExe, "USBClassChangeUI.exe");
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-CLcStylusTap::CLcStylusTap()
-    {
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd-phase constructor
-// ---------------------------------------------------------------------------
-//	
-void CLcStylusTap::ConstructL()
-    {
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CLcStylusTap* CLcStylusTap::NewL( )
-    {
-    TRACE_FUNC_ENTRY
-    CLcStylusTap* self = new( ELeave ) CLcStylusTap(  );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    TRACE_FUNC_EXIT
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//	    
-CLcStylusTap::~CLcStylusTap()
-    {
-    TRACE_FUNC_ENTRY    
-    delete iDismountManager;
-    TRACE_FUNC_EXIT
-    }
-
-// ---------------------------------------------------------------------------
-// TextL.
-// Return the text that should be displayed in the link.
-// ---------------------------------------------------------------------------
-//  
-
-HBufC* CLcStylusTap::TextL( const TInt aUid, TInt& aTextType )
-    {
-        TRACE_INFO((_L("CLcStylusTap::TextL  aUid =  %d"), aUid))
-        
- 		CEikonEnv* eikEnv = CEikonEnv::Static();
-		RConeResourceLoader rLoader(*eikEnv);
-		
-        TFileName filename;
-        filename += KFileDrive;
-        filename += KDC_RESOURCE_FILES_DIR; 
-        filename += KLCStylustapPluginResourceFile;
-
-
-        CleanupClosePushL(rLoader);				
-		rLoader.OpenL(filename);
-		
-        HBufC* dynStringBuf = NULL;
-        
-        switch(aUid)
-            {
-            case EAknIndicatorBluetooth:
-            case EAknIndicatorBluetoothVisible:
-            case EAknIndicatorBluetoothModuleOn:
-            case EAknIndicatorBluetoothModuleOnVisible:
-                {
-			    dynStringBuf = eikEnv->AllocReadResourceL(R_LCSTYLUSTAP_BT_NAME );                    
-        	    aTextType = EAknIndicatorPluginLinkText;        	        	
-                break;
-                }
-            case EAknIndicatorUSBConnection:        	
-                {
-        	    aTextType = EAknIndicatorPluginLinkText;
-			    dynStringBuf = eikEnv->AllocReadResourceL(R_LCSTYLUSTAP_USB_NAME );            
-            	break;
-                }
-            case EAknIndicatorUSBMemConnected:
-            case EAknIndicatorUSBMemActive:   
-                {     	
-        	    aTextType = EAknIndicatorPluginLinkText;
-			    dynStringBuf = eikEnv->AllocReadResourceL(R_LCSTYLUSTAP_USB_MEM_EJECT );            
-        	    break;	        
-                }
-            default:
-                break;
-        }
-
-		CleanupStack::PopAndDestroy(); // rLoader
-        TRACE_INFO((_L("CLcStylusTap::TextL   =  %S"), dynStringBuf))
-        
-        return dynStringBuf;
-    }
-
-// ---------------------------------------------------------------------------
-// HandleIndicatorTapL.
-// Filter the aUid  and find the app plug in for the view.
-// ---------------------------------------------------------------------------
-//  
-void CLcStylusTap::HandleIndicatorTapL( const TInt aUid )
-    {	
- 
-    TRACE_INFO((_L("CLcStylusTap::HandleIndicatorTapL  aUid =  %d"), aUid))   
-  
-     switch(aUid)
- 	    {    
-     	case EAknIndicatorBluetooth:
-     	case EAknIndicatorBluetoothVisible:
-     	case EAknIndicatorBluetoothModuleOn:
-     	case EAknIndicatorBluetoothModuleOnVisible:
-            {                          
-            TUidType uidtype(KExecutableImageUid, KUidApp,TUid::Uid(KBtUIUID));
-            CreateDesiredViewL(KBTUIExe(),uidtype);     	           	
-     	    break; 
-            }
-     	case EAknIndicatorUSBConnection:
-            {					                         	            
-            TUidType uidtype(KExecutableImageUid, TUid::Uid(0x00),TUid::Uid(KUsbUIUID));
-            CreateDesiredViewL(KUSBExe(),uidtype);
-            break;
-         	}      	
-     	case EAknIndicatorUSBMemConnected:
-        case EAknIndicatorUSBMemActive:
-            {
-            EjectUSBMemL();
-            break;	        
-            }
- 	   case EAknIndicatorIrActive: // IR not required                	
-       default:
-        TRACE_INFO((_L(" CLcStylusTap::HandleIndicatorTapL default")))
-     	break;
- 	   }                 
-  	TRACE_FUNC_EXIT
-    }    
-  
-  
-// ---------------------------------------------------------------------------
-// CreateDesiredViewL.
-// Create the desired view via control panel.
-// ---------------------------------------------------------------------------
-//  
-void CLcStylusTap::CreateDesiredViewL(const TDesC & aProcessName,const TUidType & aUidType) const
-    {                 
-    TRACE_FUNC_ENTRY
-	RProcess NewProcess;	            
-	User::LeaveIfError(NewProcess.Create(aProcessName, KNullDesC, aUidType));	
-  	NewProcess.Resume();
-	NewProcess.Close();	            		
-    TRACE_FUNC_EXIT	      		
-    }
-
-// ---------------------------------------------------------------------------
-// CreateDesiredViewL.
-// Create the desired view via control panel.
-// ---------------------------------------------------------------------------
-//  
-void CLcStylusTap::EjectUSBMemL()
-    {                 
-    TRACE_FUNC_ENTRY
-    delete iDismountManager;
-    iDismountManager = NULL;
-    iDismountManager= CLcStylusTapDismount::NewL();
-    iDismountManager->DisMountUsbDrives();    
-    TRACE_FUNC_EXIT	      		
-    }
-    
-
-
-// End of File
--- a/localconnectivityservice/lcstylustap/src/lcstylustapdismount.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:  ECOM  implementation for touch indicator
-*
-*/
-
-#include "debug.h"
-#include "lcstylustapdismount.h"
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CLcStylusTapDismount::~CLcStylusTapDismount()
-    {
-    TRACE_FUNC
-    Cancel(); 
-    delete iDismountTimer;    
-    iRFs.Close();    
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian two phase constructor.
-// ---------------------------------------------------------------------------
-//
-CLcStylusTapDismount* CLcStylusTapDismount::NewL()
-    {
-    TRACE_FUNC    
-    CLcStylusTapDismount* self = CLcStylusTapDismount::NewLC();
-    CleanupStack::Pop(self);    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian two phase constructor. Object pushed to cleanup stack 
-// ---------------------------------------------------------------------------
-//
-CLcStylusTapDismount* CLcStylusTapDismount::NewLC()
-    {
-    TRACE_FUNC
-    
-    CLcStylusTapDismount* self = new (ELeave) CLcStylusTapDismount();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    
-    return self;
-
-    }
-
-// ---------------------------------------------------------------------------
-// Returning of previous notifier and starting of new one 
-// ---------------------------------------------------------------------------
-//
-void CLcStylusTapDismount::RunL()
-    {
-    TRACE_FUNC    
-    
-    delete iDismountTimer;    
-    iDismountTimer = NULL;    
-    
-    if ( iDriveIndex < KMaxDrives )
-        {
-        DoDismount();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Cancel pending notifier and those in queue 
-// ---------------------------------------------------------------------------
-//
-void CLcStylusTapDismount::DoCancel()
-    {
-    TRACE_FUNC
-    iRFs.NotifyDismountCancel(iStatus);
-    }
-
-// ---------------------------------------------------------------------------
-// C++ constructor 
-// ---------------------------------------------------------------------------
-//
-CLcStylusTapDismount::CLcStylusTapDismount()
-    : CActive(EPriorityStandard)
-    {
-    TRACE_FUNC    
-    CActiveScheduler::Add(this);    
-    }
-
-// ---------------------------------------------------------------------------
-// 2nd-phase constructor 
-// ---------------------------------------------------------------------------
-//
-void CLcStylusTapDismount::ConstructL()
-    {
-    TRACE_FUNC    
-    User::LeaveIfError( iRFs.Connect());
-    }
-
-// ---------------------------------------------------------------------------
-// Dismount drive 
-// ---------------------------------------------------------------------------
-//
-void CLcStylusTapDismount::DisMountUsbDrives()
-    {    
-    TRACE_FUNC
-    Cancel();
-    iDriveIndex = 0;
-    iRFs.DriveList( iDriveList );
-    DoDismount();
-    }
-
-// ---------------------------------------------------------------------------
-// Dismount next drive 
-// ---------------------------------------------------------------------------
-//
-void CLcStylusTapDismount::DoDismount()
-    {
-    TRACE_FUNC        
-    TDriveInfo info;
-    TInt err = KErrNone;
-    for ( ; iDriveIndex < KMaxDrives; iDriveIndex++ )
-        {
-        if ( iDriveList[iDriveIndex] )
-            {
-            err = iRFs.Drive( info , iDriveIndex );            
-            if ( info.iConnectionBusType == EConnectionBusUsb &&                 
-                 info.iDriveAtt & KDriveAttExternal && 
-                 err == KErrNone  )
-                {
-                TRACE_INFO(_L("CLcStylusTapDismount::DoDismount Dismount notify request "));    
-                iRFs.NotifyDismount( iDriveIndex, iStatus, EFsDismountNotifyClients );                
-                TRAP_IGNORE( iDismountTimer = CForceDismountTimer::NewL(this) );
-                SetActive();
-                break;
-                }                     
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Dismount next drive 
-// ---------------------------------------------------------------------------
-//
-void CLcStylusTapDismount::TimerExpired()
-    {
-    TRACE_FUNC    
-    
-    Cancel();
-    delete iDismountTimer;
-    iDismountTimer = NULL;    
-    iRFs.NotifyDismount( iDriveIndex, iStatus, EFsDismountForceDismount );                
-    SetActive();
-    
-    }    
-// End of File
--- a/localconnectivityservice/lcstylustap/src/lcstylustapproxy.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2006 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:  ECOM proxy table for this plugin
-*
-*/
-
-
-
-#include <implementationproxy.h>
-#include <AknIndicatorPluginImplUIDs.hrh>
-#include "lcstylustap.h"
-
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Definition of ECOM interface UID
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KImplUIDBTIndicatorsPlugin, CLcStylusTap::NewL ),
-    IMPLEMENTATION_PROXY_ENTRY( KImplUIDUSBIndicatorsPlugin, CLcStylusTap::NewL ),
-    IMPLEMENTATION_PROXY_ENTRY( KImplUIDIRIndicatorsPlugin, CLcStylusTap::NewL ),
-    IMPLEMENTATION_PROXY_ENTRY( 0x20026FC4, CLcStylusTap::NewL )
-    };
-
-
-// ---------------------------------------------------------------------------
-// ECOM factory method
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {    
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-    return ImplementationTable;
-    }
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/Bmarm/LcStylusTapTestU.DEF	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
-
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/Bwins/LcStylusTapTestU.DEF	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
-
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/EABI/LcStylusTapTestU.def	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/conf/ui_LcStylusTapTest.cfg	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Test Scripter configuration file
-*
-*/
-
-
-// LcStylusTapTest Module - total ... tc
-
-// LcStylusTapTest Api Tests (... tc)
-
-[Test]
-title Create LcStylusTap USB
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CreateLcStylusTap API USB
-delete tester
-[Endtest]
-
-[Test]
-title Create LcStylusTap BT
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CreateLcStylusTap API BT
-delete tester
-[Endtest]
-
-[Test]
-title Create LcStylusTap IRDA
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CreateLcStylusTap API IRDA
-delete tester
-[Endtest]
-
-[Test]
-title Create LcStylusTap USBMEM
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CreateLcStylusTap API USBMEM
-delete tester
-[Endtest]
-///////////////////////////////////////////////
-
-[Test]
-title Text LcStylusTap USB
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock TextTapTest API USB
-delete tester
-[Endtest]
-
-[Test]
-title Text LcStylusTap BT
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock TextTapTest API BT
-delete tester
-[Endtest]
-
-[Test]
-title Text LcStylusTap USBMEM
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock TextTapTest API USBMEM
-delete tester
-[Endtest]
-/*
-[Test]
-title Text LcStylusTap USBMEM_loc
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock TextTapTest API USBMEM_loc
-delete tester
-[Endtest]
-*/
-///////////////////////////////////////////////
-[Test]
-title CallHandleIndicatorTap USB
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CallHandleIndicatorTap API USB
-pause 700
-presskey global EKeyDevice1
-delete tester
-[Endtest]
-
-[Test]
-title CallHandleIndicatorTap BT
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CallHandleIndicatorTap API BT
-pause 1000
-presskey global EKeyEnter
-pause 700
-presskey global EKeyDevice1
-delete tester
-[Endtest]
-
-[Test]
-title CallHandleIndicatorTap USBMEM
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CallHandleIndicatorTap API USBMEM
-delete tester
-[Endtest]
-
-[Test]
-title Create LcStylusTap IRDA
-create LcStylusTapTest tester
-tester ExecuteApiTestBlock CreateLcStylusTap API IRDA
-delete tester
-[Endtest]
-///////////////////////////////////////////////////////////
-// Add new api tests here
-// ...
-
-
-// LcStylusTapTest Module Tests (... tc)
-/*
-	[Test]
-	title Example Module Test
-	create LcStylusTapTest tester
-	tester ExecuteModuleTestBlock ExampleTestL MODULE option 2 b
-	delete tester
-	[Endtest]
-*/
-// Add new module tests here
-// ...
-
-
-// LcStylusTapTest Branch Tests (... tc)
-/*
-	[Test]
-	title Example Branch Test
-	create LcStylusTapTest tester
-	tester ExecuteBranchTestBlock ExampleTestL BRANCH option 3 c
-	delete tester
-	[Endtest]
-*/
-// Add new branch tests here
-// ...
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/Bld.inf	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Build information file for LcStylusTapTest
-*
-*/
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-LcStylusTapTest.mmp
-
-PRJ_MMPFILES
-LcStylusTapTest_exe.mmp
-//LcStylusTapTest_nrm.mmp
-
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-
-//  End of File
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest.mmp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*TYPE TESTCLASS*/
-/*
-* Copyright (c) 2006 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:  
-*
-*/
-
-
-#if defined(__S60_)
-        // To get the MW_LAYER_SYSTEMINCLUDE-definition
-        #include <platform_paths.hrh>
-#endif
-
-TARGET          LcStylusTapTest.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      CAP_ECOM_PLUGIN
-
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         LcStylusTapTest.def
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE ../inc
-USERINCLUDE ../../../inc
-
-SYSTEMINCLUDE   /EPOC32/INCLUDE/ECOM
-
-SOURCEPATH 	../src
-
-SOURCE          LcStylusTapTest.cpp
-SOURCE          LcStylusTapTestBlocks.cpp LcStylusTapTest_exe.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-
-LIBRARY 		apparc.lib
-LIBRARY 		avkon.lib 
-LIBRARY 		efsrv.lib
-LIBRARY 		cone.lib 
-LIBRARY 		eikcore.lib 
-LIBRARY 		bafl.lib                            // Basic Application Framework 
-LIBRARY 		AknSkins.lib                        // Skinned icons
-LIBRARY 		aknicon.lib
-LIBRARY 		commonengine.lib 
-LIBRARY			ecom.lib
-LIBRARY			eikcoctl.lib
-LIBRARY			aknnotify.lib eiksrv.lib CommonEngine.lib
-LIBRARY			mmfstandardcustomcommands.lib
-LIBRARY			ECom.lib
-LIBRARY     	defaultappclient.lib
-LIBRARY     	apgrfx.lib
-LIBRARY			ws32.lib			// wssession
-LIBRARY			viewcli.lib
-LIBRARY         estor.lib
-LIBRARY         gslauncher.lib
- 
-
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-// End of File
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest.pkg	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-;
-; Copyright (c) 2009 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: 
-;
-;
-; Installation file for STIF
-;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"LcStylusTapTest"},(0x00000000),1,1,0,TYPE=SA
-
-; Series60 product id for S60 5.1
-[0x10283160], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name;
-:"Nokia"
-
-
-; Logo
-; None
-
-; Package signature - Optional
-; None
-
-; Start of Package body
-
-; Condition blocks
-; None
-
-; Options list
-; None
-
-; Install files
-"\epoc32\release\armv5\udeb\LcStylusTapTest.dll"-"C:\Sys\Bin\LcStylusTapTest.dll"
-
-"..\conf\ui_LcStylusTapTest.cfg"-"E:\testing\conf\ui_LcStylusTapTest.cfg"
-"..\init\LcStylusTapTest.ini"-"E:\testing\init\LcStylusTapTest.ini"
-  
-; Embedded SIS 
-; None
-
-; End of Package body
-
-; PKG dependencies
-; None
-
-; PKG capabilities
-; None
-
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest_exe.mmp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*TYPE TESTCLASS*/
-/*
-* Copyright (c) 2006 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:  
-*
-*/
-
-
-#if defined(__S60_)
-        #include <platform_paths.hrh>
-#endif
-
-TARGET          LcStylusTapTest.exe
-TARGETTYPE      exe
-UID		0 0xEF4892C6
-
-CAPABILITY      CAP_ECOM_PLUGIN
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-
-SOURCE          LcStylusTapTest_exe.cpp
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-
-EPOCSTACKSIZE   40960
-
-// End of File
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest_nrm.mmp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*TYPE TESTCLASS*//*
-* Copyright (c) 2002 - 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:  ?Description
-*
-*/
-
-
-#if defined(__S60_)
-        // To get the MW_LAYER_SYSTEMINCLUDE-definition
-        #include <platform_paths.hrh>
-#endif
-
-TARGET          LcStylusTapTest.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         LcStylusTapTest.def
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE	../inc
-SOURCEPATH 	../src
-
-SOURCE          LcStylusTapTest.cpp
-SOURCE          LcStylusTapTestBlocks.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
-
-// End of File
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/LcStylusTapTest_phone.pkg	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-;
-; Copyright (c) 2009 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: 
-;
-;
-; Installation file for STIF
-;
-
-; Languages
-&EN
-
-; Provide value for uid
-#{"LcStylusTapTest"},(0x00000000),1,1,0,TYPE=SA
-
-; Series60 product id for S60 5.1
-[0x10283160], 0, 0, 0, {"Series60ProductID"}
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name;
-:"Nokia"
-
-
-; Logo
-; None
-
-; Package signature - Optional
-; None
-
-; Start of Package body
-
-; Condition blocks
-; None
-
-; Options list
-; None
-
-; Install files
-"\epoc32\release\armv5\udeb\LcStylusTapTest.dll"-"C:\Sys\Bin\LcStylusTapTest.dll"
-
-"..\conf\ui_LcStylusTapTest.cfg"-"C:\testframework\ui_LcStylusTapTest.cfg"
-"..\init\LcStylusTapTest_phone.ini"-"C:\testframework\testframework.ini"
-  
-; Embedded SIS 
-; None
-
-; End of Package body
-
-; PKG dependencies
-; None
-
-; PKG capabilities
-; None
-
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/make_and_sign_sis.bat	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-makesis -v LcStylusTapTest.pkg
-signsis.exe LcStylusTapTest.sis LcStylusTapTest.sisx rd.cer rd-key.pem
-del LcStylusTapTest.sis
\ No newline at end of file
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/make_and_sign_sis_phone.bat	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-makesis -v LcStylusTapTest_phone.pkg
-signsis.exe LcStylusTapTest_phone.sis LcStylusTapTest_phone.sisx rd.cer rd-key.pem
-del LcStylusTapTest_phone.sis
\ No newline at end of file
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/rebuild_for_ats3.bat	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-echo Kompilacja na armv5 udeb
-
-del LcStylusTapTest.sisx
-rd /S /Q \epoc32\BUILD
-call bldmake bldfiles
-call abld test reallyclean armv5 udeb
-call abld test build armv5 udeb
-call abld test freeze armv5
-call make_and_sign_sis.bat LcStylusTapTest
-
-call pause
\ No newline at end of file
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/group/rebuild_for_phone.bat	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-echo Kompilacja na armv5 udeb
-
-del LcStylusTapTest_phone.sisx
-rd /S /Q \epoc32\BUILD
-call bldmake bldfiles
-call abld test reallyclean armv5 udeb
-call abld test build armv5 udeb
-call abld test freeze armv5
-call make_and_sign_sis_phone.bat
-
-call pause
\ No newline at end of file
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/inc/LcStylusTapTest.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Header file for LcStylusTapTest
-*
-*/
-
-
-
-
-#ifndef LcStylusTapTest_H
-#define LcStylusTapTest_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-#include <ecom.h>
-#include <AknIndicatorPlugin.h>
-#include "lcstylustap.h"
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-#ifdef STIF_LOG
-#undef STIF_LOG
-#endif
-
-#define STIF_LOG( s )\
-    {\
-    TBuf<KMaxLogData> traceBuf;\
-    traceBuf.Append( _L( "[STIF_LOG] " ) );\
-    traceBuf.Append( _L( s ) );\
-    iLog->Log( _L( s ) );\
-    RDebug::Print( traceBuf );\
-    }
-
-#define STIF_LOG1( s, v ) \
-    {\
-    TBuf<KMaxLogData> traceBuf;\
-    traceBuf.Append( _L( "[STIF_LOG] " ) );\
-    traceBuf.Append( _L( s ) );\
-    iLog->Log( _L( s ), v );\
-    RDebug::Print( traceBuf, v );\
-    }
-
-#define STIF_LOG2( s, v1, v2 ) \
-    {\
-    TBuf<KMaxLogData> traceBuf;\
-    traceBuf.Append( _L( "[STIF_LOG] " ) );\
-    traceBuf.Append( _L( s ) );\
-    iLog->Log( _L( s ), v1, v2 );\
-    RDebug::Print( traceBuf, v1, v2 );\
-    }
-
-#define STIF_LOG3( s, v1, v2, v3 ) \
-    {\
-    TBuf<KMaxLogData> traceBuf;\
-    traceBuf.Append( _L( "[STIF_LOG] " ) );\
-    traceBuf.Append( _L( s ) );\
-    iLog->Log( _L( s ), v1, v2, v3 );\
-    RDebug::Print( traceBuf, v1, v2, v3 );\
-    }
-
-// Logging path
-_LIT( KLcStylusTapTestLogPath, "\\logs\\testframework\\LcStylusTapTest\\" );
-
-// Logging path for ATS - for phone builds comment this line
-//_LIT( KLcStylusTapTestLogPath, "e:\\testing\\stiflogs\\" ); 
-
-// Log file
-_LIT( KLcStylusTapTestLogFile, "LcStylusTapTest.txt" ); 
-_LIT( KLcStylusTapTestLogFileWithTitle, "LcStylusTapTest_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class CLcStylusTapTest;
-class CLcStylusTap;
-
-// DATA TYPES
-//enum ?declaration
-
-enum TLcStylusTapTestResult
-    {
-    ETestCasePassed,
-    ETestCaseFailed
-    };
-
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
-NONSHARABLE_CLASS( TLcStylusTapTestBlockParams )
-    {
-    public:
-        TPtrC iTestBlockName;
-        
-        TPtrC iTestOption1;
-        TPtrC iTestOption2;
-        TPtrC iTestOption3;
-        
-        TInt iTestIntOption1;
-        TInt iTestIntOption2;
-        
-        TChar iTestCharOption1;
-        TChar iTestCharOption2;
-    };
-
-/**
-*  CLcStylusTapTest test class for STIF Test Framework TestScripter.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS( CLcStylusTapTest ) : public CScriptBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CLcStylusTapTest* NewL( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CLcStylusTapTest();
-
-    public: // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL( CStifItemParser& aItem );
-
-    protected:  // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    protected:  // Functions from base classes
-
-        /**
-        * From ?base_class ?member_description
-        */
-        //?type ?member_function();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CLcStylusTapTest( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-        /**
-        * Test methods are listed below. 
-        */
-
-        virtual TInt ExecuteApiTestBlock( CStifItemParser& aItem );
-        virtual TInt ExecuteModuleTestBlock( CStifItemParser& aItem );
-        virtual TInt ExecuteBranchTestBlock( CStifItemParser& aItem );
-        
-        /**
-         * Method used to log version of test class
-         */
-        void SendTestClassVersion();
-
-        //ADD NEW METHOD DEC HERE
-        //[TestMethods] - Do not remove
-
-        void GetTestBlockParamsL( CStifItemParser& aItem );
-        
-    	void DoExecuteApiTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult );    	
-    	void DoExecuteModuleTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult );    
-    	void DoExecuteBranchTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult );
-    	
-        void ExampleTestL( TPtrC aTestOption, TPtrC aTestSubOption, 
-                 TInt aTestIntOption, TInt aTestCharOption, TLcStylusTapTestResult& aTestResult );
-        
-        //tests method
-        void CreateLcStylusTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult );
-        
-        void TextTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult );
-        
-        void CallHandleIndicatorTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult );
-        
-        //other methods
-        TBool GetPluginImplementation(TInt aValue);        
-        void DestroyImplementation();
-        //cheks if TextL method of lcstylustap returns correct values 
-        TInt CheckTextResult(TInt aValue, HBufC* &aMedia); 
-	
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        TLcStylusTapTestBlockParams iTestBlockParams;
-        
-        CLcStylusTap* iLcStylusTap;        
-
-    	RImplInfoPtrArray   iPluginImpArray;
-        TUid iDtor_Key;
-		TInt iTextType;		
-        RImplInfoPtrArray iImplementations;
-        
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-        
-    };
-
-#endif      // LcStylusTapTest_H
-
-// End of File
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/init/LcStylusTapTest.ini	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-#
-# This is STIF initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module.
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= E:\Testing\Logs\
-TestReportFileName= LcStylusTapTest_TestReport.log
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone	# Possible values are:
-						# 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-					  	# 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-					  	# 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-					  	# 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-Timeout= 0                              # Default timeout value for each test case. In milliseconds
-UITestingSupport= YES        # Possible values: YES or NO
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= LcStylusTapTestLcStylusTapTestLcStylusTapTest
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= E:\testing\conf\ui_LcStylusTapTest.cfg
-[End_Module]
-
-
-# Load testmoduleLcStylusTapTest, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleLcStylusTapTest used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleLcStylusTapTest used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIF logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-#	- Will write log file in unicode format.
-#		+ YES, Log file will be written in unicode format
-#		+ NO, Log will be written as normal, not unicode, file.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-#NOTE: TestEngine and TestServer logging settings cannot change here
-
-CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-#FileUnicode= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
\ No newline at end of file
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/init/LcStylusTapTest_phone.ini	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-#
-# This is STIF initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module.
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= LcStylusTapTest_TestReport.log
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone	# Possible values are:
-						# 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-					  	# 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-					  	# 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-					  	# 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-Timeout= 0                              # Default timeout value for each test case. In milliseconds
-UITestingSupport= YES        # Possible values: YES or NO
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= LcStylusTapTestLcStylusTapTestLcStylusTapTest
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-[New_Module]
-ModuleName= TestScripter
-TestCaseFile= c:\testframework\ui_LcStylusTapTest.cfg
-[End_Module]
-
-
-# Load testmoduleLcStylusTapTest, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleLcStylusTapTest used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleLcStylusTapTest used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIF logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-#	- Will write log file in unicode format.
-#		+ YES, Log file will be written in unicode format
-#		+ NO, Log will be written as normal, not unicode, file.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-#NOTE: TestEngine and TestServer logging settings cannot change here
-
-CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML			# Possible values: TXT or HTML
-#HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-#FileUnicode= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
\ No newline at end of file
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/src/LcStylusTapTest.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Implementation
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "LcStylusTapTest.h"
-#include <SettingServerClient.h>
-#include <ecom.h>
-//components headers
-#include <AknIndicatorPluginImplUIDs.hrh>
-
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::CLcStylusTapTest
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CLcStylusTapTest::CLcStylusTapTest( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    iTextType = 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CLcStylusTapTest::ConstructL()
-    {
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        } 
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KLcStylusTapTestLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KLcStylusTapTestLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KLcStylusTapTestLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-    
-    SendTestClassVersion();    
-		
-    }
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CLcStylusTapTest* CLcStylusTapTest::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    CLcStylusTapTest* self = new (ELeave) CLcStylusTapTest( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-CLcStylusTapTest::~CLcStylusTapTest()
-    { 
-    // Delete resources allocated from test methods
-    Delete();
-
-    if(iLcStylusTap)
-    	delete iLcStylusTap;
-	iLcStylusTap = NULL;
-
-    
-    //if(REComSession::GetImplementationUidL(iDtor_Key) != TUid::Null())
-    //	REComSession::DestroyedImplementation(iDtor_Key);
-    
-    REComSession::FinalClose();
-    
-    STIF_LOG("<<~CLcStylusTapTest");
-    // Delete logger
-    delete iLog; 
-    }
-
-//-----------------------------------------------------------------------------
-// CLcStylusTapTest::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void CLcStylusTapTest::SendTestClassVersion()
-	{
-	TVersion moduleVersion;
-	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
-	moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR;
-	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
-	
-	TFileName moduleName;
-	moduleName = _L("LcStylusTapTest.dll");
-
-	TBool newVersionOfMethod = ETrue;
-	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
-	}
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-
-    return ( CScriptBase* ) CLcStylusTapTest::NewL( aTestModuleIf );
-
-    }
-
-
-//  End of File
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/src/LcStylusTapTestBlocks.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,652 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Implementation
-*
-*/
-
-
-
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include <avkon.hrh>
-//tests headers
-#include "LcStylusTapTest.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-_LIT(KBlueTooth, "Bluetooth");
-_LIT(KUSB, "USB");
-_LIT(KIRDA, "Infrared");
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void CLcStylusTapTest::Delete() 
-    {
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CLcStylusTapTest::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        //ADD NEW ENTRY HERE
-        // [test cases entries] - Do not remove
-		ENTRY( "ExecuteApiTestBlock", CLcStylusTapTest::ExecuteApiTestBlock ),
-        ENTRY( "ExecuteModuleTestBlock", CLcStylusTapTest::ExecuteModuleTestBlock ),
-        ENTRY( "ExecuteBranchTestBlock", CLcStylusTapTest::ExecuteBranchTestBlock ),
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::GetTestBlockParamsL
-// -----------------------------------------------------------------------------
-
-void CLcStylusTapTest::GetTestBlockParamsL( CStifItemParser& aItem )
-    {
-    STIF_LOG( ">>> GetTestBlockParamsL" );
-    
-    // Add new test block branches below, get all required test parameters    
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {              
-        User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );        
-        User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
-        User::LeaveIfError( aItem.GetNextInt( iTestBlockParams.iTestIntOption1 ) );        
-        User::LeaveIfError( aItem.GetNextChar( iTestBlockParams.iTestCharOption1 ) );        
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CreateLcStylusTap" ) ) )
-		{              
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );       
-        User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
-		}
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "TextTapTest" ) ) )
-		{              
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );       
-        User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
-		}
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CallHandleIndicatorTap" ) ) )
-		{              
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );      
-        User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
-		}
-    else//
-        {
-        STIF_LOG( "Test type: not found" );
-        User::Leave( KErrNotFound );
-        }
-    STIF_LOG( "<<< GetTestBlockParamsL" );
-    }
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::ExecuteApiTestBlock
-// -----------------------------------------------------------------------------
-
-TInt CLcStylusTapTest::ExecuteApiTestBlock( CStifItemParser& aItem )
-    {
-	STIF_LOG( ">>>ExecuteApiTestBlock" );
-	
-	TInt res;
-    TLcStylusTapTestResult testResult = ETestCaseFailed;
-	
-    TRAP( res, DoExecuteApiTestBlockL( aItem, testResult ) );
-    if ( res != KErrNone )
-        {
-        STIF_LOG1( "DoExecuteApiTestBlockL error: %d", res );
-        return res;
-        }
-    
-    STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
-    STIF_LOG( "Test case passed" );
-	STIF_LOG( "<<<ExecuteApiTestBlock" );
-	
-    return KErrNone;
-    }
-	
-	
-void CLcStylusTapTest::DoExecuteApiTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult )
-    {
-	STIF_LOG( ">>>DoExecuteApiTestBlockL" );
-
-	User::LeaveIfError( aItem.GetString( _L( "ExecuteApiTestBlock" ), iTestBlockParams.iTestBlockName ) );
-	STIF_LOG1( "Api test type: %S", &iTestBlockParams.iTestBlockName );
-	
-	GetTestBlockParamsL( aItem );
-	
-	// Add new API test block branches with optional test parameters here	
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {      
-        ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, 
-                iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
-        }	
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CreateLcStylusTap" ) ) )
-        {      
-        CreateLcStylusTapTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "TextTapTest" ) ) )
-        {      
-        TextTapTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CallHandleIndicatorTap" ) ) )
-        {      
-        CallHandleIndicatorTapTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else
-        {
-        STIF_LOG( "Test type: not found" );
-        User::Leave( KErrNotFound );
-        }
-	
-	STIF_LOG( "<<<DoExecuteApiTestBlockL" );
-    }
-	
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::ExecuteModuleTestBlock
-// -----------------------------------------------------------------------------	
-
-TInt CLcStylusTapTest::ExecuteModuleTestBlock( CStifItemParser& aItem )
-    {
-	STIF_LOG( "[STIF_LOG] >>>ExecuteModuleTestBlock" );
-	
-    TInt res;
-    TLcStylusTapTestResult testResult;
-    
-    TRAP( res, DoExecuteModuleTestBlockL( aItem, testResult ) );
-    if ( res != KErrNone )
-        {
-        STIF_LOG1( "DoExecuteModuleTestBlockL error: %d", res );
-        return res;
-        }
-    
-    STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
-    STIF_LOG( "[STIF_LOG] Test case passed" );
-	STIF_LOG( "[STIF_LOG] <<<ExecuteModuleTestBlock" );
-    return KErrNone;
-    }	
-	
-	
-void CLcStylusTapTest::DoExecuteModuleTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult )
-    {
-	STIF_LOG( "[STIF_LOG] >>>DoExecuteModuleTestBlockL" );
-	
-    User::LeaveIfError( aItem.GetString( _L( "ExecuteModuleTestBlock" ), iTestBlockParams.iTestBlockName ) );
-    STIF_LOG1( "Module test type: %S", &iTestBlockParams.iTestBlockName );
-    
-    GetTestBlockParamsL( aItem );
-    
-    // Add new module test block branches with optional test parameters here   
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {      
-        ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, 
-                iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
-        }
-    else
-        {
-        STIF_LOG( "Test type: not found" );
-        User::Leave( KErrNotFound );
-        }
-    
-	STIF_LOG( "[STIF_LOG] <<<DoExecuteModuleTestBlockL" );
-    }
-	
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::ExecuteBranchTestBlock
-// -----------------------------------------------------------------------------
-	
-TInt CLcStylusTapTest::ExecuteBranchTestBlock( CStifItemParser& aItem )
-    {
-	STIF_LOG( "[STIF_LOG] >>>ExecuteBranchTestBlock" );
-	
-    TInt res;
-    TLcStylusTapTestResult testResult;
-    
-    TRAP( res, DoExecuteBranchTestBlockL( aItem, testResult ) );
-    if ( res != KErrNone )
-        {
-        STIF_LOG1( "DoExecuteBranchTestBlockL error: %d", res );
-        return res;
-        }   
-    
-    STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
-    STIF_LOG( "[STIF_LOG] Test case passed" );
-	STIF_LOG( "[STIF_LOG] <<<ExecuteBranchTestBlock" );
-    return KErrNone;
-    }
-
-	
-void CLcStylusTapTest::DoExecuteBranchTestBlockL( CStifItemParser& aItem, TLcStylusTapTestResult& aTestResult )
-    {
-	STIF_LOG( "[STIF_LOG] >>>DoExecuteBranchTestBlockL" );
-	
-    User::LeaveIfError( aItem.GetString( _L( "ExecuteBranchTestBlock" ), iTestBlockParams.iTestBlockName ) );
-    STIF_LOG1( "Branch test type: %S", &iTestBlockParams.iTestBlockName );
-    
-    GetTestBlockParamsL( aItem );
-    
-    // Add new branch test block branches with optional test parameters here   
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {      
-        ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, 
-                iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
-        }
-    else
-        {
-        STIF_LOG( "Test type: not found" );
-        User::Leave( KErrNotFound );
-        }
-    
-	STIF_LOG( "[STIF_LOG] <<<DoExecuteBranchTestBlockL" );
-    }
-
-// Add test block methods implementation here
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::ExampleTestL
-// -----------------------------------------------------------------------------
-
-void CLcStylusTapTest::ExampleTestL( TPtrC aTestOption, TPtrC aTestSubOption, 
-        TInt aTestIntOption, TInt aTestCharOption, TLcStylusTapTestResult& aTestResult )
-    {
-    STIF_LOG( ">>>ExampleTestL" );
-    
-    if ( !aTestOption.Compare( _L( "API" ) ) )
-        {
-        STIF_LOG1( "Api test option: %S", &aTestOption );
-        STIF_LOG1( "Api test sub-option: %S", &aTestSubOption );
-        STIF_LOG1( "Api test int option: %d", aTestIntOption );
-        STIF_LOG1( "Api test char option: %c", aTestCharOption );
-        }
-    else if ( !aTestOption.Compare( _L( "MODULE" ) ) )
-        {
-        STIF_LOG1( "Module test option: %S", &aTestOption );
-        STIF_LOG1( "Module test sub-option: %S", &aTestSubOption );
-        STIF_LOG1( "Module test int option: %d", aTestIntOption );
-        STIF_LOG1( "Module test char option: %c", aTestCharOption );
-        }
-    else if ( !aTestOption.Compare( _L( "BRANCH" ) ) )
-        {
-        STIF_LOG1( "Branch test option: %S", &aTestOption );
-        STIF_LOG1( "Branch test sub-option: %S", &aTestSubOption );
-        STIF_LOG1( "Branch test int option: %d", aTestIntOption );
-        STIF_LOG1( "Branch test char option: %c", aTestCharOption );
-        }
-    else
-        {
-        STIF_LOG( "Invalid test parameter" );
-        User::Leave( KErrNotFound );
-        }
-    
-    aTestResult = ETestCasePassed;
-    
-    STIF_LOG( "<<<ExampleTestL" );
-    }
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::CreateLcStylusTapTestL
-// -----------------------------------------------------------------------------
-//
-void CLcStylusTapTest::CreateLcStylusTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult )
-    {
-    STIF_LOG( ">>>CreateLcStylusTapL" );    	
-    
-    delete iLcStylusTap;
-    iLcStylusTap = NULL;
-    
-    if( !aTestSubOption.Compare(_L( "BT" )) )
-		{
-		GetPluginImplementation(EAknIndicatorBluetoothModuleOnVisible);
-		STIF_LOG1( "CreateLcStylusTapL BT result: %d", iLcStylusTap ? 1 : 0 );
-		}
-    else if( !aTestSubOption.Compare(_L( "USB" )) )
-		{
-		GetPluginImplementation(EAknIndicatorUSBConnection);
-		STIF_LOG1( "CreateLcStylusTapL USB result: %d", iLcStylusTap ? 1 : 0 );
-		}
-    else if( !aTestSubOption.Compare(_L( "IRDA" )) )
-		{
-		GetPluginImplementation(EAknIndicatorIrActive);
-		STIF_LOG1( "CreateLcStylusTapL IR result: %d", iLcStylusTap ? 1 : 0 );
-		}
-    else if( !aTestSubOption.Compare(_L( "USBMEM" )) )
-		{
-		GetPluginImplementation(EAknIndicatorUSBMemConnected);
-		STIF_LOG1( "CreateLcStylusTapL USB result: %d", iLcStylusTap ? 1 : 0 );
-		}
-    else
-    	{}
-    
-    if(!iLcStylusTap)
-    	{
-    	STIF_LOG( "Error iLcStylusTap == NULL" );
-		return;
-    	}	
-    
-    DestroyImplementation();
-    
-    aTestResult = ETestCasePassed;
-    
-    STIF_LOG( "<<<CreateLcStylusTapL" );
-    }
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::TextTapTestL
-// -----------------------------------------------------------------------------
-//
-void CLcStylusTapTest::TextTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult )
-	{
-	STIF_LOG(">>CLcStylusTapTest::TextTapTestL");
-	
-	HBufC* Media = NULL;
-	delete iLcStylusTap;
-	iLcStylusTap = NULL;
-	
-    if( !aTestSubOption.Compare(_L( "BT" )) )
-		{
-		GetPluginImplementation(EAknIndicatorBluetoothModuleOnVisible);
-		if(iLcStylusTap)
-			{			
-			Media = iLcStylusTap->TextL(EAknIndicatorBluetoothModuleOnVisible, iTextType);
-			STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorBluetoothModuleOnVisible, Media) );
-			STIF_LOG1( "TextL: %S, OK", Media );
-			}
-		}
-    else if( !aTestSubOption.Compare(_L( "USB" )) )
-		{
-		GetPluginImplementation(EAknIndicatorUSBConnection);
-		if(iLcStylusTap)
-			{			
-			Media = iLcStylusTap->TextL(EAknIndicatorUSBConnection, iTextType);
-			STIF_LOG1( "TextL: %S, OK", Media );
-			STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorUSBConnection, Media) );
-			}
-		}
-    else if( !aTestSubOption.Compare(_L( "USBMEM" )) )
-		{
-		GetPluginImplementation(EAknIndicatorUSBMemConnected);
-		if(iLcStylusTap)
-			{			
-			Media = iLcStylusTap->TextL(EAknIndicatorUSBMemConnected, iTextType);
-			STIF_LOG1( "TextL: %S no checked", Media );
-			//STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorUSBMemConnected, Media) );
-			}
-		}
-    else if( !aTestSubOption.Compare(_L( "USBMEM_loc" )) )
-		{
-		GetPluginImplementation(EAknIndicatorUSBMemConnected);
-		if(iLcStylusTap)
-			{			
-			Media = iLcStylusTap->TextL(EAknIndicatorUSBMemConnected, iTextType);
-			STIF_LOG1( "CheckTextResult err: %d", CheckTextResult(EAknIndicatorUSBMemConnected, Media) );
-			STIF_LOG1( "TextL: %S, OK", Media );
-			}
-		}
-    else
-        User::LeaveIfError(KErrNotFound);
-
-    DestroyImplementation();
-    
-    aTestResult = ETestCasePassed;
-    
-	STIF_LOG("<<CallHandleIndicatorTapL::TextTapTestL");
-	}
-	
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::CallHandleIndicatorTapTestL
-// -----------------------------------------------------------------------------
-//
-void CLcStylusTapTest::CallHandleIndicatorTapTestL( TPtrC aTestOption, TPtrC aTestSubOption, TLcStylusTapTestResult& aTestResult )
-	{
-	STIF_LOG(">>CLcStylusTapTest::CallHandleIndicatorTapL");
-	
-    if( !aTestSubOption.Compare(_L( "BT" )) )
-		{
-		GetPluginImplementation(EAknIndicatorBluetoothModuleOnVisible);
-		if(iLcStylusTap)
-			{
-			iLcStylusTap->HandleIndicatorTapL(EAknIndicatorBluetoothModuleOnVisible);
-			STIF_LOG("HandleIndicatorTapL OK");
-			}
-		}
-    else if( !aTestSubOption.Compare(_L( "USB" )) )
-		{
-		GetPluginImplementation(EAknIndicatorUSBConnection);
-		if(iLcStylusTap)
-			{
-			iLcStylusTap->HandleIndicatorTapL(EAknIndicatorUSBConnection);
-			STIF_LOG("HandleIndicatorTapL OK");
-			}
-		}
-    else if( !aTestSubOption.Compare(_L( "USBMEM" )) )
-		{
-		GetPluginImplementation(EAknIndicatorUSBMemConnected);
-		if(iLcStylusTap)
-			{
-			iLcStylusTap->HandleIndicatorTapL(EAknIndicatorUSBMemConnected);
-			STIF_LOG("HandleIndicatorTapL OK");
-			}
-		}
-    else if( !aTestSubOption.Compare(_L( "IRDA" )) )
-		{
-		GetPluginImplementation(EAknIndicatorIrActive);
-		if(iLcStylusTap)
-			{
-			iLcStylusTap->HandleIndicatorTapL(EAknIndicatorIrActive);
-			STIF_LOG("HandleIndicatorTapL OK");
-			}
-		}
-    else
-        User::LeaveIfError(KErrNotFound);
-
-    DestroyImplementation();
-    
-    aTestResult = ETestCasePassed;
-       	
-	STIF_LOG(">>CLcStylusTapTest::CallHandleIndicatorTapL");
-	}
-
-// Other operaton functions
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::GetPluginImplementation
-// returns CLcStylusTap pointer
-// -----------------------------------------------------------------------------
-//
-TBool CLcStylusTapTest::GetPluginImplementation(TInt aValue)
-	{
-	STIF_LOG( ">>CLcStylusTapTest::GetPluginImplementation" );
-	
-		
-	const TUid uidInterfacetobepop = TUid::Uid(KAknIndicatorPluginInterfaceUid);	  	
-	TRAPD(err, REComSession::ListImplementationsL(uidInterfacetobepop, iImplementations));
-	STIF_LOG1( "REComSession::ListImplementationsL err: %d", err );
-	if(err != KErrNone)
-		User::LeaveIfError(err);
-	 
-	delete iLcStylusTap;
-	iLcStylusTap = NULL;
-	//HBufC* Media = NULL;
-		
-	TUid btimpluid = {KImplUIDBTIndicatorsPlugin};
-	TUid usbimpluid = {KImplUIDUSBIndicatorsPlugin};
-	TUid irimpluid = {KImplUIDIRIndicatorsPlugin};
-	TUid usbMemImp = {0x20026FC4};//usb_mem
-	
-	switch (aValue)
-		{
-		case EAknIndicatorBluetooth://12
-		case EAknIndicatorBluetoothVisible:
-		case EAknIndicatorBluetoothModuleOn:
-		case EAknIndicatorBluetoothModuleOnVisible://55
-			iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(btimpluid, iDtor_Key) );   
-			break;
-		case EAknIndicatorUSBConnection:      //28  
-			iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(usbimpluid, iDtor_Key) );   
-			break;
-		case EAknIndicatorIrActive:   
-			iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(irimpluid, iDtor_Key) );   
-			break;
-		case EAknIndicatorUSBMemConnected:
-        case EAknIndicatorUSBMemActive:      
-			iLcStylusTap = REINTERPRET_CAST(CLcStylusTap*, REComSession::CreateImplementationL(usbMemImp, iDtor_Key) );   
-			break;		        
-		default:         
-			STIF_LOG( "GetPluginImplementation ERROR!" ); 
-			User::LeaveIfError(KErrNotFound);
-			break;
-		}
-	   
-	STIF_LOG1( "iLcStylusTap: %d", iLcStylusTap ? 1 : 0 );  
-	    
-    return ETrue;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::CheckTextResult
-// -------------------------------------------
-//
-TInt CLcStylusTapTest::CheckTextResult(TInt aValue, HBufC* &aMedia)
-	{
-	TInt err = KErrNone;
-	
-	if(!aMedia)
-		{		
-		User::Leave(KErrNotFound);
-		}
-	
-	switch(aValue)
-		{
-		case EAknIndicatorBluetooth://12
-		case EAknIndicatorBluetoothVisible:
-		case EAknIndicatorBluetoothModuleOn:
-		case EAknIndicatorBluetoothModuleOnVisible://55
-			if(aMedia->Compare(KBlueTooth())!= 0 || iTextType != CAknIndicatorPlugin::EAknIndicatorPluginLinkText)
-				err = KErrNotFound;
-			break;
-		case EAknIndicatorUSBConnection: 
-			if(aMedia->Compare(KUSB())!= 0 || iTextType != CAknIndicatorPlugin::EAknIndicatorPluginLinkText)
-				err = KErrNotFound;
-			break;
-		case EAknIndicatorIrActive:
-			if(aMedia->Compare(KIRDA())!= 0 || iTextType != CAknIndicatorPlugin::EAknIndicatorPluginLinkText)
-				err = KErrNotFound;
-			break;
-		default:
-			err = KErrNotFound;
-			break;
-		}
-	
-	if(err == KErrNotFound)
-		{
-		delete aMedia;
-		aMedia = NULL;
-		User::LeaveIfError(KErrNotFound); // Did not match that should
-		}
-	
-	STIF_LOG("CallHandleIndicatorTapL::CompareMedia OK");
-	
-	return err;
-	}
-// -----------------------------------------------------------------------------
-// CLcStylusTapTest::DestroyImplementation
-// destroy plugin implementation
-// -------------------------------------------
-//
-void CLcStylusTapTest::DestroyImplementation()
-	{
-	STIF_LOG( ">>CLcStylusTapTest::DestroyImplementation" );
-    
-    if(iLcStylusTap)
-    	{
-    	delete iLcStylusTap;
-    	iLcStylusTap = NULL;
-    	}
-
-   	iImplementations.ResetAndDestroy();
-   	iImplementations.Close();   	
-   	
-    REComSession::DestroyedImplementation(iDtor_Key);
-    
-    STIF_LOG("<<CLcStylusTapTest::DestroyImplementation");
-	}
-
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-//  [End of File] - Do not remove
--- a/localconnectivityservice/lcstylustap/tsrc/LcStylusTapTest/src/LcStylusTapTest_exe.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <e32svr.h>
-#include <StifTestInterface.h>
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES  
-
-// ================= OTHER EXPORTED FUNCTIONS =================================
-
-/*
--------------------------------------------------------------------------------
-
-    Class: -
-
-    Method: E32Main
-
-    Description: 
-
-    Parameters: None
-
-    Return Values: TInt: Symbian error code
-
-    Errors/Exceptions: None
-
-    Status: Draft
-
--------------------------------------------------------------------------------
-*/
-GLDEF_C TInt E32Main()
-    {
-    _LIT( KProcessMsgStart, "New process starting" );
-    RDebug::Print( KProcessMsgStart );
-
-
-    // This starts a new session that get capabilites that is used in 
-    // LcStylusTapTest_exe.mmp file.
-    TInt r = StartSession();
-
-    _LIT( KProcessMsgEnd, "New process ends" );
-    RDebug::Print( KProcessMsgEnd );
-
-    return r;
-
-    }
-
-// End of File
--- a/localconnectivityservice/obexreceiveservices/bip/src/BIPController.cpp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/obexreceiveservices/bip/src/BIPController.cpp	Fri May 14 16:44:53 2010 +0300
@@ -32,7 +32,7 @@
 #include    <Obexutils.rsg>
 #include    <sysutil.h>
 #include    <bautils.h>
-#include    <pathinfo.h>                   // provides interface for quering system paths 
+#include    <driveinfo.h>                   
 #include    <AknWaitDialog.h>
 #include    <btengdomaincrkeys.h> 
 #include    <e32math.h> 
@@ -635,21 +635,14 @@
     iDrive = EDriveZ; // Intialize iDrive to Z
     TInt filesize = iBTObject->Length();
     
-    TFileName mmcRoot = PathInfo::MemoryCardRootPath();   // e.g. "E:\\"
-    
     TInt mmcDrive = KDefaultDrive;   // External memory card  
     TInt imsDrive = KDefaultDrive;   // Internal mass storage
     
-    if ( mmcRoot == _L("E:\\"))
-        {
-        mmcDrive = EDriveE;
-        imsDrive = EDriveF;
-        }
-    else if ( mmcRoot == _L("F:\\") )
-        {
-        mmcDrive = EDriveF;
-        imsDrive = EDriveE;
-        }
+    User::LeaveIfError(DriveInfo::GetDefaultDrive(DriveInfo::EDefaultMassStorage, imsDrive));
+    User::LeaveIfError(DriveInfo::GetDefaultDrive(DriveInfo::EDefaultRemovableMassStorage, mmcDrive));      
+     
+    TRACE_INFO( (_L( "[oppreceiveservice] CheckCapacityL imsDrive=%d; mmcDrive=%d\t" ),imsDrive, mmcDrive ) );
+
     TVolumeInfo volumeInfo;
     TInt err = iFs.Volume(volumeInfo, imsDrive);
     
--- a/localconnectivityservice/obexreceiveservices/opp/src/oppcontroller.cpp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/obexreceiveservices/opp/src/oppcontroller.cpp	Fri May 14 16:44:53 2010 +0300
@@ -31,7 +31,7 @@
 #include    <sysutil.h>
 #include    <btengdomaincrkeys.h> 
 #include    <msvids.h>
-#include    <pathinfo.h>          // provides interface for quering system paths 
+#include    <DriveInfo.h> 
 #include    <es_sock.h>
 #include    <bt_sock.h>
 
@@ -570,23 +570,15 @@
     
     RFs rfs ;
     User::LeaveIfError(rfs.Connect());
-    
-    TFileName mmcRoot = PathInfo::MemoryCardRootPath();   // e.g. "E:\\"
-    
+         
     TInt mmcDrive = KDefaultDrive;   // External memroy card  
-    TInt imsDrive = KDefaultDrive;   // Internal mass storage
+    TInt imsDrive = KDefaultDrive;   // Internal mass storage   
+
+    User::LeaveIfError(DriveInfo::GetDefaultDrive(DriveInfo::EDefaultMassStorage, imsDrive));
+    User::LeaveIfError(DriveInfo::GetDefaultDrive(DriveInfo::EDefaultRemovableMassStorage, mmcDrive));      
     
-    if ( mmcRoot == _L("E:\\"))
-        {
-        mmcDrive = EDriveE;
-        imsDrive = EDriveF;
-        }
-    else if ( mmcRoot == _L("F:\\") )
-        {
-        mmcDrive = EDriveF;
-        imsDrive = EDriveE;
-        }
-
+    TRACE_INFO( (_L( "[oppreceiveservice] CheckCapacityL imsDrive=%d; mmcDrive=%d\t" ),imsDrive, mmcDrive ) );
+    
     TVolumeInfo volumeInfo;
     TInt err = rfs.Volume(volumeInfo, imsDrive);
     
@@ -595,7 +587,7 @@
     if ( !err )
         {
         // Check capacity on Internal mass storage            
-        TRACE_INFO( (_L( "[oppreceiveservice] CheckCapacityL Internal mass storage E\t" )) );
+        TRACE_INFO( (_L( "[oppreceiveservice] CheckCapacityL Internal mass storage\t" )) );
         if ( !SysUtil::DiskSpaceBelowCriticalLevelL( &rfs, filesize, imsDrive ) )
             {
             iDrive = imsDrive;            
@@ -607,7 +599,7 @@
         if ( !err )
             {
             // Check capacity on Internal mass storage    
-            TRACE_INFO( (_L( "[oppreceiveservice] CheckCapacityL Checking memory card F\t" )) );
+            TRACE_INFO( (_L( "[oppreceiveservice] CheckCapacityL Checking memory card\t" )) );
             if ( !SysUtil::DiskSpaceBelowCriticalLevelL( &rfs, filesize, mmcDrive ) )
                 {                    
                 iDrive = mmcDrive;
--- a/localconnectivityservice/obexsendservices/group/bld.inf	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/obexsendservices/group/bld.inf	Fri May 14 16:44:53 2010 +0300
@@ -25,14 +25,10 @@
 PRJ_EXPORTS
 ../obexservicesendutils/inc/BTServiceAPI.h           |../../inc/btserviceapi.h
 ../obexservicesendutils/inc/BTServiceParameterList.h |../../inc/BTServiceParameterList.h
-../rom/obexservicebtsend.iby                         CORE_MW_LAYER_IBY_EXPORT_PATH(obexservicebtsend.iby)
-../rom/obexserviceirsend.iby                         CORE_MW_LAYER_IBY_EXPORT_PATH(obexserviceirsend.iby)
 ../rom/obexservicesendutils.iby                      CORE_MW_LAYER_IBY_EXPORT_PATH(obexservicesendutils.iby)
 
 PRJ_MMPFILES
 ../group/sendutils.mmp
-../group/obexservicebtsend.mmp
-../group/obexserviceirsend.mmp
 
 PRJ_TESTMMPFILES
 
--- a/localconnectivityservice/obexsendservices/group/obexservicebtsend.mmp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-#include <platform_paths.hrh>
-#include "../obexservicebtsend/inc/BTSendingServiceUIDS.hrh"
-
-#include <data_caging_paths.hrh>
-
-TARGET          obexservicebtsend.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D KBTSendingServiceDllUid
-
-CAPABILITY	CAP_ECOM_PLUGIN
-VENDORID 	VID_DEFAULT
-
-
-SOURCEPATH	    ../obexservicebtsend/src
-SOURCE          BTSendingService.cpp
-SOURCE          BTSSProvider.cpp
-SOURCE 			btsssendlisthandler.cpp
-// Plugin resources are placed in z:/system/libs/plugins
-//
-SOURCEPATH	    ../obexservicebtsend/data
-START RESOURCE 101F86A2.rss
-TARGET obexservicebtsend.rsc
-END
-
-SOURCEPATH      ../obexservicebtsend/data
-START RESOURCE  BtSSMenu.rss
-TARGETPATH      RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
-
-USERINCLUDE     ../obexservicebtsend/inc
-SYSTEMINCLUDE  ../../inc ../../../inc  /epoc32/include/ecom
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib                     // Base library
-LIBRARY         servicehandler.lib            // Application InterWorking
-LIBRARY         obexservicesendutils.lib      // Tools for bt sending
-LIBRARY 		btfeatures.lib
-
-DEBUGLIBRARY    flogger.lib                   // File logging services
-
-//  End of File
-
-
--- a/localconnectivityservice/obexsendservices/group/obexserviceirsend.mmp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-#include <platform_paths.hrh>
-#include "../obexserviceirsend/inc/IrSendingServiceUIDS.hrh"
-
-#include <data_caging_paths.hrh>
-
-TARGET          obexserviceirsend.dll
-TARGETTYPE      PLUGIN
-UID             0x10009d8d KIRSendingServiceDllUid
-
-CAPABILITY	CAP_ECOM_PLUGIN
-VENDORID 	VID_DEFAULT
-
-
-SOURCEPATH	    ../obexserviceirsend/src
-SOURCE          IRClient.cpp
-SOURCE          IRSendingService.cpp
-SOURCE 		    IRSSProvider.cpp
-
-// Plugin resources are placed in z:/system/libs/plugins
-//
-SOURCEPATH	    ../obexserviceirsend/data
-START RESOURCE 001F86A2.rss
-#ifdef SYMBIAN_SECURE_ECOM 
-TARGET obexserviceirsend.rsc
-#endif 
-END
-
-SOURCEPATH      ../obexserviceirsend/data
-START RESOURCE  irssmenu.rss
-TARGETPATH      RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
-
-
-USERINCLUDE     ../obexserviceirsend/inc
-SYSTEMINCLUDE  ../../inc ../../../inc  /epoc32/include/ecom
-MW_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib               // Base library
-LIBRARY         servicehandler.lib      // Application InterWorking
-LIBRARY         obexutils.lib           // Tools for bt sending
-LIBRARY         irobex.lib
-LIBRARY         irda.lib
-LIBRARY         efsrv.lib
-LIBRARY         featmgr.lib
-DEBUGLIBRARY    flogger.lib             // File logging services
-
-//  End of File
--- a/localconnectivityservice/obexsendservices/group/sendutils.mmp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/obexsendservices/group/sendutils.mmp	Fri May 14 16:44:53 2010 +0300
@@ -49,6 +49,8 @@
 
 USERINCLUDE     ../obexservicesendutils/inc
 SYSTEMINCLUDE  ../../inc ../../../inc /epoc32/include/libc
+SYSTEMINCLUDE  /epoc32/include/mw/hb/hbcore
+SYSTEMINCLUDE  /epoc32/include/mw/hb/hbwidgets
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY         apgrfx.lib              // App Arch Session
@@ -72,6 +74,8 @@
 LIBRARY         caf.lib   				// DRM common
 LIBRARY         xmlframework.lib        // XML Framework
 LIBRARY			featmgr.lib				// Inquire supported static feature
+LIBRARY			HbCore.lib
+LIBRARY			HbWidgets.lib
 DEBUGLIBRARY    flogger.lib             // File logging services
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/inc/btsendingservicedebug.h	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2002 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:  This file defines logging macros for BTSS.
+*
+*/
+
+
+#ifndef BT_SENDING_SERVICE_DEBUG_H
+#define BT_SENDING_SERVICE_DEBUG_H
+
+
+#ifdef _DEBUG
+// ===========================================================================
+#ifdef __WINS__     // File logging for WINS
+// ===========================================================================
+#include <e32std.h>
+#include <f32file.h>
+#include <flogger.h>
+
+_LIT(KLogFile,"btss.log");
+_LIT(KLogDirFullName,"c:\\logs\\");
+_LIT(KLogDir,"btss");
+
+#define FLOG(a)   { FPrint(a); }
+#define FTRACE(a) { a; }
+
+// Declare the FPrint function
+//
+inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
+    {
+    VA_LIST list;
+    VA_START(list,aFmt);
+    RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list);
+    }
+
+// ===========================================================================
+#else               // RDebug logging for target HW
+// ===========================================================================
+#include <e32svr.h>
+
+#define FLOG(a)   { RDebug::Print(a); }
+#define FTRACE(a) { a; }
+
+// Declare the FPrint function
+//
+inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
+    {
+    VA_LIST list;
+    VA_START(list,aFmt);
+    TInt tmpInt = VA_ARG(list, TInt);
+    TInt tmpInt2 = VA_ARG(list, TInt);
+    TInt tmpInt3 = VA_ARG(list, TInt);
+    VA_END(list);
+    RDebug::Print(aFmt, tmpInt, tmpInt2, tmpInt3);
+    }
+
+#endif //__WINS__
+
+// ===========================================================================
+#else // // No loggings --> Reduced binary size
+// ===========================================================================
+#define FLOG(a)
+#define FTRACE(a)
+
+#endif // _DEBUG
+
+
+#endif // BT_SENDING_SERVICE_DEBUG_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/inc/btsendserviceinterface.h	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2010 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:  ?Description
+*
+*/
+
+ 
+#ifndef BTSENDSERVICEINTERFACE_H
+#define BTSENDSERVICEINTERFACE_H
+
+#include <xqserviceprovider.h>
+
+class BtSendManager;
+
+class BTSendServiceInterface : public XQServiceProvider
+{
+    Q_OBJECT
+    
+public:
+    BTSendServiceInterface( QObject *parent = 0);
+    inline ~BTSendServiceInterface();
+
+public slots:
+    void send(QVariant data);
+    
+    
+};
+
+inline BTSendServiceInterface::~BTSendServiceInterface()
+    {
+    }
+
+#endif // BTSENDSERVICEINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/inc/btsendserviceprovider.h	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2009 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:
+ * class to manage differnt messaging views.
+ *
+ */
+
+#ifndef BTSENDSERVICEPROVIDER_H
+#define BTSENDSERVICEPROVIDER_H
+
+#include <e32base.h>
+#include <QList.h>
+#include <QVariant.h>
+
+class CBTServiceAPI;
+class CBTSSSendListHandler;
+
+
+class CBtSendServiceProvider: public CBase
+    {
+public:
+    /**
+     * constructor
+     */
+    static CBtSendServiceProvider* NewL();
+    
+    /**
+     * Destructor.
+     */
+    ~CBtSendServiceProvider();
+    
+    
+    int send(const QList<QVariant> &arguments);
+private:
+    CBtSendServiceProvider();    
+    void ConstructL();
+    
+public:
+    CBTSSSendListHandler*    iConverter;
+    CBTServiceAPI*  iBTSendingService;
+     };
+
+#endif /* BTSENDSERVICEPROVIDER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/inc/btsssendlisthandler.h	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,146 @@
+/*
+* 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 <AiwVariantType.hrh>
+#include <AiwVariant.h>
+#include <AiwGenericParam.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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/obexhighway.pro	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009 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: 
+#
+TEMPLATE = app
+TARGET = obexhighway
+CONFIG += hb  \
+    service
+
+MOC_DIR = moc
+OBJECTS_DIR = obj
+
+HEADERS += inc/btsendserviceinterface.h \
+    inc/btsssendlisthandler.h \
+    inc/btsendingservicedebug.h \
+    inc/btsendserviceprovider.h 
+
+SOURCES += src/main.cpp \
+	src/btsendserviceinterface.cpp \
+    src/btsssendlisthandler.cpp \
+    src/btsendserviceprovider.cpp
+
+    
+INCLUDEPATH += . ../../inc
+
+SERVICE.FILE = xml/obexhighway_conf.xml
+SERVICE.OPTIONS = embeddable \
+    hidden
+
+LIBS += -lhbcore \
+    -lxqservice \
+    -lxqserviceutil \
+	-lobexservicesendutils \
+	-lbtfeatures \
+	-lflogger \
+	-lxqutils
+    
+symbian {
+	TARGET.UID3 = 0x2002EA5A
+	TARGET.CAPABILITY = All -TCB
+	}
+BLD_INF_RULES.prj_exports += \
+  "$${LITERAL_HASH}include <platform_paths.hrh>" \
+  "./rom/obexhighway.iby CORE_MW_LAYER_IBY_EXPORT_PATH(obexhighway.iby)"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/rom/obexhighway.iby	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+#ifndef __OBEXHIGHWAY_IBY__
+#define __OBEXHIGHWAY_IBY__
+
+file=ABI_DIR\UREL\obexhighway.exe               SHARED_LIB_DIR\obexhighway.exe
+data=DATAZ_\resource\apps\obexhighway.rsc                      resource\apps\obexhighway.rsc
+data=DATAZ_\private\10003a3f\import\apps\obexhighway_reg.rsc   private\10003a3f\import\apps\obexhighway_reg.rsc
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/src/btsendserviceinterface.cpp	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2010 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:  ?Description
+*
+*/
+
+ 
+#include "btsendserviceinterface.h"
+#include "btsendserviceprovider.h"
+
+BTSendServiceInterface::BTSendServiceInterface(QObject* parent)
+: XQServiceProvider("com.nokia.services.btsendservice.imessage.send",parent)
+    {
+    publishAll();
+    }
+
+  
+void BTSendServiceInterface::send(QVariant data)
+    {
+    QList<QVariant> arguments;
+    
+    if(data.type()==QVariant::String)
+        {
+        arguments.append(data);
+        }
+    else
+        {
+        arguments.append(data.toList());
+        }
+    CBtSendServiceProvider *btSendServiceProvider = NULL;
+    TRAPD(err,btSendServiceProvider = CBtSendServiceProvider::NewL());
+    if(err)
+        return;
+    btSendServiceProvider->send(arguments);
+    delete btSendServiceProvider;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/src/btsendserviceprovider.cpp	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2009 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: 
+ *
+ */
+
+
+
+#include <btserviceapi.h>
+#include "BTSSSendListHandler.h"
+#include "btsendserviceprovider.h"
+#include <btfeaturescfg.h>  // For Enterprise security settings
+#include <btnotif.h>    // For Enterprise security notifier
+
+
+CBtSendServiceProvider* CBtSendServiceProvider::NewL()
+    {
+    CBtSendServiceProvider* self = new( ELeave ) CBtSendServiceProvider();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+void CBtSendServiceProvider::ConstructL()
+    {
+    if(BluetoothFeatures::EnterpriseEnablementL() != BluetoothFeatures::EEnabled)
+        {
+        RNotifier notifier;
+        User::LeaveIfError(notifier.Connect());
+        CleanupClosePushL(notifier);
+        User::LeaveIfError(notifier.StartNotifier(KBTEnterpriseItSecurityInfoNotifierUid, KNullDesC8));
+        CleanupStack::PopAndDestroy(&notifier);
+        
+        //@TODO in old code we don't continue further what needs to be done here
+        }
+    iBTSendingService = CBTServiceAPI::NewL();
+    iConverter = CBTSSSendListHandler::NewL();
+    }
+
+CBtSendServiceProvider::CBtSendServiceProvider()
+    {
+
+    }
+
+
+CBtSendServiceProvider::~CBtSendServiceProvider()
+    {
+    if(iConverter)
+        {
+        delete iConverter;
+        iConverter= NULL;
+        }
+    if(iBTSendingService)
+        {
+        delete iBTSendingService;
+        iBTSendingService = NULL;
+        }
+    }
+
+
+int CBtSendServiceProvider::send(const QList<QVariant> &arguments)
+    {
+    TInt error = KErrNone; 
+    
+    CBTServiceParameterList* parameterList = NULL;
+    TRAP(error,parameterList= CBTServiceParameterList::NewL());
+    if (error)
+        return error;
+    iConverter->ConvertList( &arguments, parameterList);
+    
+    delete iConverter;
+    iConverter = NULL;
+
+    TRAP(error,iBTSendingService->StartSynchronousServiceL( EBTSendingService, parameterList ));
+    if(error)
+        return error;
+    return error;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/src/btsssendlisthandler.cpp	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* Copyright (c) 2009 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 implementation for converting AIW paramerer 
+*                list to bt send parameter list
+*
+*/
+
+
+#include <AiwGenericParam.h>
+
+#include "BTSSSendListHandler.h"
+#include "btserviceparameterlist.h"
+
+#include <xqconversions.h>
+
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CBTSSSendListHandler()
+// ---------------------------------------------------------------------------
+//
+CBTSSSendListHandler::CBTSSSendListHandler(): CActive( EPriorityNormal )
+    {
+    CActiveScheduler::Add(this);
+    }
+
+// ---------------------------------------------------------------------------
+// ConstructL()
+// ---------------------------------------------------------------------------
+//
+void CBTSSSendListHandler::ConstructL()
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// NewL()
+// ---------------------------------------------------------------------------
+//
+CBTSSSendListHandler* CBTSSSendListHandler::NewL()
+    {
+    CBTSSSendListHandler* self = CBTSSSendListHandler::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// ---------------------------------------------------------------------------
+// NewLC()
+// ---------------------------------------------------------------------------
+//
+CBTSSSendListHandler* CBTSSSendListHandler::NewLC()
+    {
+    CBTSSSendListHandler* self = new( ELeave ) CBTSSSendListHandler();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CBTSSSendListHandler
+// ---------------------------------------------------------------------------
+//
+CBTSSSendListHandler::~CBTSSSendListHandler()    
+    {
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::Destructor"));     
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// ConvertList()
+// ---------------------------------------------------------------------------
+//
+TInt CBTSSSendListHandler::ConvertList( const QList<QVariant> *arguments, 
+                                        CBTServiceParameterList* aList)
+    {
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::ConvertList"));           
+    iListIndex = 0;    
+    mArguments = arguments;
+    iList = aList;
+    iStatus = KRequestPending;
+    AddObject();
+    SetActive();
+    
+    iSyncWaiter.Start();
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::ConvertList done"));           
+    return iStatus.Int();
+    }
+
+// ---------------------------------------------------------------------------
+// AddObject()
+// ---------------------------------------------------------------------------
+//
+void CBTSSSendListHandler::AddObject()
+    {
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::AddObjectL()"));       
+    TRAPD(error, DoAddObjectL());
+    if (error != KErrNone )
+        {        
+        //Complete request
+        TRequestStatus* status = &iStatus;
+        User::RequestComplete(status, error);
+        }
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::AddObjectL() Done"));           
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive.
+// RunL()
+// ---------------------------------------------------------------------------
+//
+void CBTSSSendListHandler::DoAddObjectL()
+    {
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL()"));   
+    
+ //   const TAiwGenericParam* param=&(*iOutParamList)[iListIndex];
+    
+    QString string = mArguments->at(iListIndex).toString();
+
+ /*   if ( param->SemanticId() != EGenericParamFile )
+        {
+        FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL() wrong semantic Id: Leave"));            
+        }
+      // Try to add file as an image
+      //       
+    if( param->Value().TypeId()== EVariantTypeFileHandle)
+        {           
+        TRAPD( retVal, iList->AddImageL( param->Value().AsFileHandle()  ));
+        FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL AddImage"));            
+        if( retVal != KErrNone )
+            {
+            // File was not an image. We can not use BIP 
+            // so add rest of the files as objects
+            //             
+            FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL AddImage filed try object"));            
+            iList->AddObjectL( param->Value().AsFileHandle() );
+            }            
+        }
+    else */
+ //       {           
+       // TRAPD( retVal, iList->AddImageL( param->Value().AsDes() ) );
+        HBufC* path = XQConversions::qStringToS60Desc(string);
+        TRAPD( retVal, iList->AddImageL(*path));
+        if( retVal != KErrNone )
+            {
+            // File was not an image. We can not use BIP 
+            // so add rest of the files as objects
+            //                
+            iList->AddObjectL( *path );
+            }
+  //      }
+      //Complete request
+    TRequestStatus* status = &iStatus;
+    User::RequestComplete(status, KErrNone);
+      
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL() completed"));  
+    }
+// ---------------------------------------------------------------------------
+// From class CActive.
+// RunL()
+// ---------------------------------------------------------------------------
+//
+void CBTSSSendListHandler::RunL()
+    {
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL()"));       
+    iListIndex++;
+    if ( mArguments->count() > iListIndex && iStatus.Int() == KErrNone )
+        {        
+        iStatus = KRequestPending;
+        AddObject();
+        SetActive();
+        }
+    else
+        {
+        if ( iSyncWaiter.IsStarted() )
+            {
+            iSyncWaiter.AsyncStop();
+            }
+        }
+    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL() Done"));           
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/src/main.cpp	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 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:  ?Description
+*
+*/
+
+ 
+#include <hbapplication.h>
+#include "btsendserviceinterface.h"
+
+int main(int argc, char **argv)
+    {
+    QCoreApplication app(argc, argv);
+    BTSendServiceInterface btSendSI;
+    return app.exec();
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/localconnectivityservice/obexsendservices/obexhighway/xml/obexhighway_conf.xml	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>  
+<service>
+  <name>com.nokia.services.btsendservice</name>
+  <filepath>No path</filepath>
+  <description>BT Send Service</description>
+  <interface>
+     <name>imessage.send</name>
+     <version>1.0</version>
+     <description>Send interface</description>
+     <customproperty key="txt_aiw_action_text">Via Bluetooth</customproperty>
+  </interface>
+</service>
\ No newline at end of file
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/data/101F86A2.rss	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2002 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: 
-*     
-*     
-*
-*/
-
-
-#include <eikon.rh>
-#include "registryinfov2.rh" 
-#include <AiwCommon.hrh>
-#include <avkon.loc>
-
-#include "BTSendingService.hrh"
-#include "BTSendingServiceUIDS.hrh"
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2; 
-	dll_uid = KBTSendingServiceDllUid;
-	interfaces = 
-		{
-		 INTERFACE_INFO
-	            {
-        	    interface_uid = KAiwClassMenu;
-          	    implementations = 
-                	{
-	                IMPLEMENTATION_INFO
-        	            {
-                	    implementation_uid = KBTSendingServiceMenuImplUid;
-	                    version_no = 1;
-        	            display_name = "";
-                	    default_data = "*";
-	                    opaque_data = KAiwCmdSendStr;        	            
-                	    }
-                	};
-            	      },
-		INTERFACE_INFO
-			{
-			interface_uid = KBTSendingServiceIfaceUid;
-			implementations = 
-				{
-				  IMPLEMENTATION_INFO
-					{
-					implementation_uid = KBTSendingServiceBaseImplUid;
-					version_no = 1;
-					display_name = "Bluetooth Sending Service";
-					default_data = "*";
-					opaque_data = KAiwCmdSendStr;
-					}
-				};
-			}
-		};
-	}
-
-
-
-// End of file
-
-
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/data/BtSSMenu.rss	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-*
-*/
-
-#include <eikon.rh>
-#include "registryinfov2.rh" 
-#include <AiwCommon.hrh>
-#include <avkon.loc>
-
-#include "BTSendingService.hrh"
-#include "BTSendingServiceUIDS.hrh"
-
-RESOURCE MENU_PANE r_send_via_bt_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = ESendBT; 
-            txt     = qtn_query_send_via_bt;
-            }
-        };
-    }
-
-
-// End of file
-
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSSProvider.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2002 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:  
-*
-*/
-
-
-
-#ifndef BT_SENDING_SERVICE_PROVIDER_H
-#define BT_SENDING_SERVICE_PROVIDER_H
-
-//  INCLUDES
-#include <AiwServiceIfMenu.h>
-
-// FORWARD DECLARATIONS
-class CBTServiceParameterList;
-class CBTServiceAPI;
-class CBTSSSendListHandler;
-
-// CLASS DECLARATION
-
-/**
-*  Provides BT sending services
-*  
-*/
-class CBTSSProvider : public CAiwServiceIfMenu
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CBTSSProvider* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBTSSProvider();
-
-
-    public: // Functions from base classes
-
-        /**
-        * From CAiwServiceIfBase    Not used
-        * @since 2.6
-        * @param aFrameworkCallback Not used
-        * @param aInterest          Not used
-        * @return None
-        */
-        virtual void InitialiseL( MAiwNotifyCallback& aFrameworkCallback,
-			                      const RCriteriaArray& aInterest );
-
-        /**
-        * From CAiwServiceIfBase Processes service command
-        * and starts bt sending
-        * @since 2.6
-        * @param aCmdId         Command id
-        * @param aInParamList   Not used
-        * @param aOutParamList  List of files
-        * @param aCmdOptions    Not used
-        * @param aCallback      Not used
-        * @return None
-        */
-		virtual void HandleServiceCmdL( const TInt& aCmdId, 
-                                        const CAiwGenericParamList& aInParamList,
-                                        CAiwGenericParamList& aOutParamList,
-                                        TUint aCmdOptions,
-                                        const MAiwNotifyCallback* aCallback );
-                                        
-        /**
-        * From CAiwServiceIfBase Processes service command
-        * and starts bt sending
-        * @since 2.6
-        * @param aCmdId         Command id
-        * @param aInParamList   Not used
-        * @param aOutParamList  List of files
-        * @param aCmdOptions    Not used
-        * @param aCallback      Not used
-        * @return None
-        */                                
-        virtual void HandleMenuCmdL(TInt aMenuCmdId, 
-                                    const CAiwGenericParamList& aInParamList,
-                                    CAiwGenericParamList& aOutParamList,
-                                    TUint aCmdOptions,
-                                    const MAiwNotifyCallback* aCallback );
-                                    
-                                    
-                                    
-        virtual  void InitializeMenuPaneL(  CAiwMenuPane& aMenuPane,
-                                            TInt aIndex,
-                                            TInt /* aCascadeId */,
-                                            const CAiwGenericParamList& aInParamList );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CBTSSProvider();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-
-        CBTServiceAPI*          iBTSendingService;
-        
-        CBTSSSendListHandler*   iConverter; 
-    };
-
-#endif      // BT_SENDING_SERVICE_PROVIDER_H
-            
-// End of File
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSSSendListHandler.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* 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 <AiwVariantType.hrh>
-#include <AiwVariant.h>
-#include <AiwGenericParam.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 CAiwGenericParamList* aOutParamList, CBTServiceParameterList* aList  );
-
-     
-     
-// from base class CActive
-     
-   /**
-    * From CActive.
-    * RunL
-    *
-    * @since S60 v3.2
-    */
-    void RunL();
-     
-    /**
-     * From CActive.
-     * DoCancel
-     *
-     * @since S60 v3.2
-     */
-    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; 
-    
-    /**
-     * List index 
-     */
-    TInt iListIndex;
-    
-    /**
-     * Sync waiter object 
-     */
-    CActiveSchedulerWait    iSyncWaiter;
-    };
-
-#endif // BTSSSENDLISTHANDLER_H
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSendingService.hrh	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-
-#ifndef BT_SENDING_SERVICE_HRH
-#define BT_SENDING_SERVICE_HRH
-
-enum 
-{
-    ESendBT=0,
-    ESendIR
-};
-
-#endif
-
-
-
-// End of File
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSendingServiceDebug.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002 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:  This file defines logging macros for BTSS.
-*
-*/
-
-
-#ifndef BT_SENDING_SERVICE_DEBUG_H
-#define BT_SENDING_SERVICE_DEBUG_H
-
-
-#ifdef _DEBUG
-// ===========================================================================
-#ifdef __WINS__     // File logging for WINS
-// ===========================================================================
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile,"btss.log");
-_LIT(KLogDirFullName,"c:\\logs\\");
-_LIT(KLogDir,"btss");
-
-#define FLOG(a)   { FPrint(a); }
-#define FTRACE(a) { a; }
-
-// Declare the FPrint function
-//
-inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list,aFmt);
-    RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list);
-    }
-
-// ===========================================================================
-#else               // RDebug logging for target HW
-// ===========================================================================
-#include <e32svr.h>
-
-#define FLOG(a)   { RDebug::Print(a); }
-#define FTRACE(a) { a; }
-
-// Declare the FPrint function
-//
-inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list,aFmt);
-    TInt tmpInt = VA_ARG(list, TInt);
-    TInt tmpInt2 = VA_ARG(list, TInt);
-    TInt tmpInt3 = VA_ARG(list, TInt);
-    VA_END(list);
-    RDebug::Print(aFmt, tmpInt, tmpInt2, tmpInt3);
-    }
-
-#endif //__WINS__
-
-// ===========================================================================
-#else // // No loggings --> Reduced binary size
-// ===========================================================================
-#define FLOG(a)
-#define FTRACE(a)
-
-#endif // _DEBUG
-
-
-#endif // BT_SENDING_SERVICE_DEBUG_H
-
-// End of File
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/inc/BTSendingServiceUIDS.hrh	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-
-#ifndef BT_SENDING_SERVICE_UIDS_HRH
-#define BT_SENDING_SERVICE_UIDS_HRH
-
-#define KBTSendingServiceDllUid   0x101F86A2
-#define KBTSendingServiceIfaceUid 0x101F8650 // KAiwClassBase
-#define KBTSendingServiceBaseImplUid  0x101F86A3
-#define KBTSendingServiceMenuImplUid  0x20002777
-
-#endif
-
-
-
-// End of File
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/src/BTSSProvider.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <AiwCommon.hrh>
-#include <btserviceapi.h>
-#include <AiwVariantType.hrh>
-#include <AiwVariant.h>
-#include <AiwMenu.h>
-#include <f32file.h>
-#include <btfeaturescfg.h>	// For Enterprise security settings
-#include <btnotif.h>	// For Enterprise security notifier
-#include <data_caging_path_literals.hrh> 
-#include <BtSSMenu.rsg>
-
-#include "BTSSProvider.h"
-#include "BTSendingServiceDebug.h"
-#include "BTSSSendListHandler.h"
-
-_LIT( KBTSendingServiceFileDrive, "z:");
-_LIT( KBTSSResFileName,"BtSSMenu.rsc");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CBTSSProvider::CBTSSProvider
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CBTSSProvider::CBTSSProvider(): iConverter(NULL)
-	{
-	}
-
-// -----------------------------------------------------------------------------
-// CBTSSProvider::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CBTSSProvider::ConstructL()
-    {
-    FLOG(_L("[BTSS]\t CBTSSProvider::ConstructL()"));
-    }
-
-// -----------------------------------------------------------------------------
-// CBTSSProvider::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CBTSSProvider* CBTSSProvider::NewL()
-    {
-    CBTSSProvider* self = new( ELeave ) CBTSSProvider;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CBTSSProvider::~CBTSSProvider()
-	{
-    FLOG(_L("[BTSS]\t CBTSSProvider::destructor"));
-	
-    if( iBTSendingService )
-        {
-        delete iBTSendingService;
-        }
-    
-    delete iConverter;
-    iConverter = NULL;
-	}
-
-// -----------------------------------------------------------------------------
-// CBTSSProvider::InitialiseL
-// -----------------------------------------------------------------------------
-//
-void CBTSSProvider::InitialiseL(MAiwNotifyCallback& /*aFrameworkCallback*/,
-								      const RCriteriaArray& /*aInterest*/)
-	{
-	// Not needed.
-	}
-
-// -----------------------------------------------------------------------------
-// CBTSSProvider::HandleServiceCmdL
-// -----------------------------------------------------------------------------
-//
-void CBTSSProvider::HandleServiceCmdL(const TInt& aCmdId,
-								    	    const CAiwGenericParamList& aInParamList,
-											CAiwGenericParamList& /*aOutParamList*/,
-											TUint /*aCmdOptions*/,
-											const MAiwNotifyCallback* aCallback )
-	{	
-    FLOG(_L("[BTSS]\t CBTSSProvider::HandleServiceCmdL()"));
-	
-    if (  &aInParamList == NULL  || aInParamList.Count() <= 0 ) 
-        {
-        FLOG(_L("[BTSS]\t CBTSSProvider::HandleServiceCmdL() aOutParamList check failed: Leave"));
-        User::Leave( KErrArgument );
-        }
-    
-    if ( aCallback )
-        {
-        FLOG(_L("[BTSS]\t CBTSSProvider::HandleServiceCmdL() aCallback exists: Leave"));
-        User::Leave( KErrNotSupported );
-        }
-
-    switch ( aCmdId )
-        {
-        case KAiwCmdSend:
-            {
-			// Check features setting - if not completely enabled with enterprise settings then we are not allowed to send anything.
-			// Fail here at the first fence, otherwise there are a number of other areas that need to be considered.
-			if(BluetoothFeatures::EnterpriseEnablementL() != BluetoothFeatures::EEnabled)
-				{
-				RNotifier notifier;
-				User::LeaveIfError(notifier.Connect());
-				CleanupClosePushL(notifier);
-				User::LeaveIfError(notifier.StartNotifier(KBTEnterpriseItSecurityInfoNotifierUid, KNullDesC8));
-				CleanupStack::PopAndDestroy(&notifier);
-				// Don't leave as we have already commuicated (through the security notifier) why we failed.
-				break;
-				}
-			
-            if ( !iBTSendingService )
-                {
-                // Create the controller when needed
-                //
-                iBTSendingService = CBTServiceAPI::NewL();
-                }            
-            CBTServiceParameterList* parameterList = CBTServiceParameterList::NewLC();       
-            
-            iConverter = CBTSSSendListHandler::NewL();
-            User::LeaveIfError(iConverter->ConvertList( &aInParamList, parameterList));
-			
-                delete iConverter;
-                iConverter = NULL;
-
-            // Start sending files. This function returns when all of the files are sent
-            // or some error has occured.
-            //          
-            
-			CleanupStack::Pop(parameterList);
-            iBTSendingService->StartSynchronousServiceL( EBTSendingService, parameterList ); 
-           
-			 break;
-            }
-		default:
-            {
-            FLOG(_L("[BTSS]\t CBTSSProvider::HandleServiceCmdL() wrong command id: Leave"));
-            User::Leave( KErrNotSupported );
-            break;
-            }
-        }
-
-    FLOG(_L("[BTSS]\t CBTSSProvider::HandleServiceCmdL() completed"));
-    }
-
-	
- void CBTSSProvider::HandleMenuCmdL(TInt aMenuCmdId, 
-                                    const CAiwGenericParamList& aInParamList,
-                                    CAiwGenericParamList& aOutParamList,
-                                    TUint aCmdOptions,
-                                    const MAiwNotifyCallback* aCallback )
-    {
-    HandleServiceCmdL(aMenuCmdId,aInParamList, aOutParamList, aCmdOptions, aCallback);
-    }
-    
- void   CBTSSProvider::InitializeMenuPaneL(  CAiwMenuPane& aMenuPane,
-                                            TInt aIndex,
-                                            TInt /* aCascadeId */,
-                                            const CAiwGenericParamList& /*aInParamList*/ )
-    {
-    TFileName resourceFile;
-    TInt resId;
-    
-    resourceFile += KBTSendingServiceFileDrive;
-    resourceFile += KDC_RESOURCE_FILES_DIR;
-    resourceFile += KBTSSResFileName;    
-    resId=R_SEND_VIA_BT_MENU;
-    
-    aMenuPane.AddMenuItemsL(
-            resourceFile, 
-            resId,
-            KAiwCmdSend,
-            aIndex);
-    
-    }
-
-// End of file
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/src/BTSendingService.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Defines the DLL entry point and ECom initialization.
-*                and a panic function used in BTSS.
-*
-*/
-
-
-// INCLUDE FILES
-#include "BTSSProvider.h"
-#include "BTSendingServiceUIDS.hrh"
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// ============================= LOCAL FUNCTIONS ===============================
-//
-
-// -----------------------------------------------------------------------------
-// ImplementationTable
-// ECom init: Maps the interface UIDs to implementation factory functions.
-// Returns: A table of implementation UIDs and their constructors.
-// -----------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-   	IMPLEMENTATION_PROXY_ENTRY(KBTSendingServiceMenuImplUid, CBTSSProvider::NewL),
-   	IMPLEMENTATION_PROXY_ENTRY(KBTSendingServiceBaseImplUid, CBTSSProvider::NewL)
-    };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// ECom init: Exported proxy for instantiation method resolution.
-// Returns: Pointer to the proxy and number of implementations in it.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-    return ImplementationTable;
-    }
-
-//  End of File  
--- a/localconnectivityservice/obexsendservices/obexservicebtsend/src/btsssendlisthandler.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* Copyright (c) 2009 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 implementation for converting AIW paramerer 
-*                list to bt send parameter list
-*
-*/
-
-
-#include <AiwGenericParam.h>
-
-#include "BTSSSendListHandler.h"
-#include "BTServiceParameterList.h"
-#include "BTSendingServiceDebug.h"
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CBTSSSendListHandler()
-// ---------------------------------------------------------------------------
-//
-CBTSSSendListHandler::CBTSSSendListHandler(): CActive( EPriorityNormal )
-    {
-    CActiveScheduler::Add(this);
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CBTSSSendListHandler::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// NewL()
-// ---------------------------------------------------------------------------
-//
-CBTSSSendListHandler* CBTSSSendListHandler::NewL()
-    {
-    CBTSSSendListHandler* self = CBTSSSendListHandler::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// NewLC()
-// ---------------------------------------------------------------------------
-//
-CBTSSSendListHandler* CBTSSSendListHandler::NewLC()
-    {
-    CBTSSSendListHandler* self = new( ELeave ) CBTSSSendListHandler();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBTSSSendListHandler
-// ---------------------------------------------------------------------------
-//
-CBTSSSendListHandler::~CBTSSSendListHandler()    
-    {
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::Destructor"));     
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// ConvertList()
-// ---------------------------------------------------------------------------
-//
-TInt CBTSSSendListHandler::ConvertList( const CAiwGenericParamList* aOutParamList, 
-                                        CBTServiceParameterList* aList)
-    {
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::ConvertList"));           
-    iListIndex = 0;    
-    iOutParamList = aOutParamList;
-    iList = aList;
-    iStatus = KRequestPending;
-    AddObject();
-    SetActive();
-    
-    iSyncWaiter.Start();
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::ConvertList done"));           
-    return iStatus.Int();
-    }
-
-// ---------------------------------------------------------------------------
-// AddObject()
-// ---------------------------------------------------------------------------
-//
-void CBTSSSendListHandler::AddObject()
-    {
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::AddObjectL()"));       
-    TRAPD(error, DoAddObjectL());
-    if (error != KErrNone )
-        {        
-        //Complete request
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete(status, error);
-        }
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::AddObjectL() Done"));           
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive.
-// RunL()
-// ---------------------------------------------------------------------------
-//
-void CBTSSSendListHandler::DoAddObjectL()
-    {
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL()"));   
-    
-    const TAiwGenericParam* param=&(*iOutParamList)[iListIndex];
-
-    if ( param->SemanticId() != EGenericParamFile )
-        {
-        FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL() wrong semantic Id: Leave"));            
-        }
-      // Try to add file as an image
-      //       
-    if( param->Value().TypeId()== EVariantTypeFileHandle)
-        {           
-        TRAPD( retVal, iList->AddImageL( param->Value().AsFileHandle()  ));
-        FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL AddImage"));            
-        if( retVal != KErrNone )
-            {
-            // File was not an image. We can not use BIP 
-            // so add rest of the files as objects
-            //             
-            FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL AddImage filed try object"));            
-            iList->AddObjectL( param->Value().AsFileHandle() );
-            }            
-        }
-    else 
-        {           
-        TRAPD( retVal, iList->AddImageL( param->Value().AsDes() ) );
-        if( retVal != KErrNone )
-            {
-            // File was not an image. We can not use BIP 
-            // so add rest of the files as objects
-            //                
-            iList->AddObjectL( param->Value().AsDes() );
-            }
-        }
-      //Complete request
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-      
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL() completed"));  
-    }
-// ---------------------------------------------------------------------------
-// From class CActive.
-// RunL()
-// ---------------------------------------------------------------------------
-//
-void CBTSSSendListHandler::RunL()
-    {
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL()"));       
-    iListIndex++;
-    if ( iOutParamList->Count() > iListIndex && iStatus.Int() == KErrNone )
-        {        
-        iStatus = KRequestPending;
-        AddObject();
-        SetActive();
-        }
-    else
-        {
-        if ( iSyncWaiter.IsStarted() )
-            {
-            iSyncWaiter.AsyncStop();
-            }
-        }
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoAddObjectL() Done"));           
-    }
-// ---------------------------------------------------------------------------
-// From class CActive.
-// DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CBTSSSendListHandler::DoCancel()
-    {
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoCancel()"));           
-    if ( iSyncWaiter.IsStarted() )
-        {
-        iSyncWaiter.AsyncStop();
-        }
-    FLOG(_L("[BTSS]\t CBTSSSendListHandler::DoCancel() done"));               
-    }
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/data/001F86A2.rss	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2002 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: 
-*     
-*     
-*
-*/
-
-
-#include <eikon.rh>
-#include "registryinfov2.rh" 
-#include "IrSendingServiceUIDS.hrh"
-#include <AiwCommon.hrh>
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	resource_format_version = RESOURCE_FORMAT_VERSION_2; 
-	dll_uid = KIRSendingServiceDllUid;
-	interfaces = 
-		{
-		INTERFACE_INFO
-            {
-            interface_uid = KAiwClassMenu;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KIRSendingServiceImplUid;
-                    version_no = 1;
-                    display_name = "";
-                    default_data = "*";
-                    opaque_data = KAiwCmdSendStr;
-                    rom_only = 1;
-                    }
-                };
-            }	
-		};
-	}
-
-// End of file
-
-
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/data/irssmenu.rss	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2002 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: 
-*     
-*     
-*
-*/
-
-
-#include <eikon.rh>
-#include "registryinfov2.rh" 
-#include "IRSendingService.hrh"
-#include <AiwCommon.hrh>
-#include <avkon.loc>
-
-RESOURCE MENU_PANE r_send_via_ir_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = ESendIR; 
-            txt     = qtn_query_send_via_ir;
-            }
-        };
-    }
-
-
-
-// End of file
-
-
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/inc/IRClient.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Obex client
-*
-*/
-
-
-
-#ifndef IR_SERVICE_CLIENT_H
-#define IR_SERVICE_CLIENT_H
-
-//  INCLUDES
-
-
-#include <obex.h>
-#include <obexutilsdialog.h>
-#include <AiwServiceHandler.h>
-
-
-// FORWARD DECLARATION
-
-
-// CLASS DECLARATION
-
-// CLASS DECLARATION
-
-/**
-*  An active object managing the Obex client.
-*/
-class CIRClient : public CActive, 
-                  MObexUtilsProgressObserver,
-                  MObexUtilsDialogObserver                         
-                         
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.        
-        * @return None.
-        */
-        static CIRClient* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CIRClient();
-
-    public: // New functions        
-        
-
-        /**
-        * Issues an Obex Put-request.        
-        * @param aHeaderList The headers to be associated with the object.
-        * @param aFileName A filename of the Put Object.
-        * @return None.
-        */
-        void PutObjectL( );
-
-        /**
-        * Closes Obex Client connection.
-        * @param None.
-        * @return None.
-        */
-        void CloseClientConnection();
-        
-        
-        void StartSendL( const CAiwGenericParamList& aOutParamList );
-
-    private: // Functions from base classes
-
-        /**
-        * From MBTServiceProgressGetter Returns the progess status.
-        * @return The number of bytes sent.
-        */
-        TInt GetProgressStatus();
-        
-        void DialogDismissed( TInt aButtonId );
-        
-        void PutCompleted();
-
-        
-    private: // Functions from base classes
-        
-
-        /**
-        * From CActive Get's called when a request is cancelled.
-        * @param None.
-        * @return None.
-        */
-        void DoCancel();
-
-        /**
-        * From CActive Get's called when a request is completed.
-        * @param None.
-        * @return None.
-        */
-	    void RunL();
-	    
-	    void AddFileHandleL(RFile aFile);
-	    
-	    void AddFileL(const TDesC& aFilePath);
-	    
-	    void SendL();
-	    
-	    TInt FileListsize();
-	    
-	    void ShowNote();
-
-    private:    // Data definitions
-
-        enum TIRServiceClientState
-            {            
-            EIRCliConnecting,
-            EIRCliPutting,
-            EIRCliGetting,
-            EIRCliDisconnected
-            };
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CIRClient( );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-
-        TIRServiceClientState       iClientState;
-
-        CObexClient*                iClient;
-        CBufFlat*                   iObjectBuffer;
-        CObexBufObject*             iPutBufObject;        
-        CObexNullObject*            iConnectObject;
-        TInt                        iTotalBytesSent;        
-        TInt                        iObjectIndex;
-        RArray<RFile>               iFileArray;
-        RFs                         iFileSession;
-        CBufFlat*                   iBuffer;
-        CObexUtilsDialog*           iDialog;
-        
-
-        // Not owned
-        //
-        
-    };
-
-#endif      // BT_SERVICE_CLIENT_H
-            
-// End of File
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/inc/IRSendingService.hrh	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-
-#ifndef BT_SENDING_SERVICE_HRH
-#define BT_SENDING_SERVICE_HRH
-
-enum 
-{
-    ESendBT=0,
-    ESendIR
-};
-
-#endif
-
-
-
-// End of File
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/inc/IrSSProvider.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2002 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:  
-*
-*/
-
-
-
-#ifndef IR_SENDING_SERVICE_PROVIDER_H
-#define IR_SENDING_SERVICE_PROVIDER_H
-
-//  INCLUDES
-#include <AiwServiceIfMenu.h>
-
-
-#include "IRClient.h"
-
-// FORWARD DECLARATIONS
-
-
-
-// CLASS DECLARATION
-
-/**
-*  Provides BT sending services
-*  
-*/
-class CIRSSProvider : public CAiwServiceIfMenu
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CIRSSProvider* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CIRSSProvider();
-
-
-    public: // Functions from base classes
-
-        /**
-        * From CAiwServiceIfMenu    Not used
-        * @since 2.6
-        * @param aFrameworkCallback Not used
-        * @param aInterest          Not used
-        * @return None
-        */
-        virtual void InitialiseL( MAiwNotifyCallback& aFrameworkCallback,
-			                      const RCriteriaArray& aInterest );
-
-        /**
-        * From CAiwServiceIfMenu Processes service command
-        * and starts bt sending
-        * @since 2.6
-        * @param aCmdId         Command id
-        * @param aInParamList   Not used
-        * @param aOutParamList  List of files
-        * @param aCmdOptions    Not used
-        * @param aCallback      Not used
-        * @return None
-        */
-		virtual void HandleServiceCmdL( const TInt& aCmdId, 
-                                        const CAiwGenericParamList& aInParamList,
-                                        CAiwGenericParamList& aOutParamList,
-                                        TUint aCmdOptions,
-                                        const MAiwNotifyCallback* aCallback );
-                                        
-         
-        virtual  void InitializeMenuPaneL(  CAiwMenuPane& aMenuPane,
-                                            TInt aIndex,
-                                            TInt /* aCascadeId */,
-                                            const CAiwGenericParamList& aInParamList );
-        /**
-        * From CAiwServiceIfBase Processes service command
-        * and starts bt sending
-        * @since 2.6
-        * @param aCmdId         Command id
-        * @param aInParamList   Not used
-        * @param aOutParamList  List of files
-        * @param aCmdOptions    Not used
-        * @param aCallback      Not used
-        * @return None
-        */                                
-        virtual void HandleMenuCmdL(TInt aMenuCmdId, 
-                                    const CAiwGenericParamList& aInParamList,
-                                    CAiwGenericParamList& aOutParamList,
-                                    TUint aCmdOptions,
-                                    const MAiwNotifyCallback* aCallback );
-                                    
-                                    
-                                    
-        
-                                                                            
-        
-    private:
-
-      
-
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CIRSSProvider();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-
-        CIRClient*          iIRClient;
-    };
-
-#endif      // BT_SENDING_SERVICE_PROVIDER_H
-            
-// End of File
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/inc/IrSendingServiceDebug.h	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002 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:  This file defines logging macros for BTSS.
-*
-*/
-
-
-#ifndef BT_SENDING_SERVICE_DEBUG_H
-#define BT_SENDING_SERVICE_DEBUG_H
-
-
-#ifdef _DEBUG
-// ===========================================================================
-#ifdef __WINS__     // File logging for WINS
-// ===========================================================================
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-
-_LIT(KLogFile,"btss.log");
-_LIT(KLogDirFullName,"c:\\logs\\");
-_LIT(KLogDir,"btss");
-
-#define FLOG(a)   { FPrint(a); }
-#define FTRACE(a) { a; }
-
-// Declare the FPrint function
-//
-inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list,aFmt);
-    RFileLogger::WriteFormat(KLogDir, KLogFile, EFileLoggingModeAppend, aFmt, list);
-    }
-
-// ===========================================================================
-#else               // RDebug logging for target HW
-// ===========================================================================
-#include <e32svr.h>
-
-#define FLOG(a)   { RDebug::Print(a); }
-#define FTRACE(a) { a; }
-
-// Declare the FPrint function
-//
-inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list,aFmt);
-    TInt tmpInt = VA_ARG(list, TInt);
-    TInt tmpInt2 = VA_ARG(list, TInt);
-    TInt tmpInt3 = VA_ARG(list, TInt);
-    VA_END(list);
-    RDebug::Print(aFmt, tmpInt, tmpInt2, tmpInt3);
-    }
-
-#endif //__WINS__
-
-// ===========================================================================
-#else // // No loggings --> Reduced binary size
-// ===========================================================================
-#define FLOG(a)
-#define FTRACE(a)
-
-#endif // _DEBUG
-
-
-#endif // BT_SENDING_SERVICE_DEBUG_H
-
-// End of File
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/inc/IrSendingServiceUIDS.hrh	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-
-#ifndef IR_SENDING_SERVICE_UIDS_HRH
-#define IR_SENDING_SERVICE_UIDS_HRH
-
-#define KIRSendingServiceDllUid   0x001F86A2
-#define KIRSendingServiceIfaceUid 0x101F8650 // KAiwClassBase
-#define KIRSendingServiceImplUid  0x001F86A3
-
-#endif
-
-// End of File
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/src/IRClient.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,462 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Obex client implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <obexclient.h>
-#include <Obexutils.rsg>
-#include <obexutilsuilayer.h>
-
-#include "IRClient.h"
-#include "IrSendingServiceDebug.h"
-
-
-const TUint KIRProgressInterval         = 1000000;
-
-_LIT( KTransportTinyTp, "IrTinyTP" );
-_LIT8( KClassNameObex, "OBEX" );
-_LIT8( KAttName, "IrDA:TinyTP:LsapSel" );
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::CBTServiceClient
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CIRClient::CIRClient(  ) 
-    : CActive( EPriorityStandard ), 
-      iClientState( EIRCliDisconnected),                             
-      iObjectIndex( 0 )
-    {
-    CActiveScheduler::Add( this );    
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CIRClient::ConstructL( )
-    {
-    FLOG(_L("[BTSU]\t CBTServiceClient::ConstructL()"));
-
-    User::LeaveIfError( iFileSession.Connect() );
-    
-    iDialog = CObexUtilsDialog::NewL( this );
-    iTotalBytesSent = 0;
-    // Create Obex Client
-    //
-    TObexIrProtocolInfo  info;
-    //info.iTransport = KObexIrTTPProtocol;    
-    
-  //  info.iAddr.SetPort( KDefaultObexPort );//default obex server for now
-    info.iTransport     = KTransportTinyTp;
-    info.iClassName     = KClassNameObex;
-    info.iAttributeName = KAttName;
-
-    
-    iClient = CObexClient::NewL( info );
-    
-
-    // Create Connect-object
-    //
-    iConnectObject = CObexNullObject::NewL();
-
-    //Show note
-    //
-    iDialog->LaunchWaitDialogL( R_IR_CONNECTING_WAIT_NOTE);
-    
-    // Establish client connection
-    //
-    iClient->Connect( /**iConnectObject,*/ iStatus );
-    SetActive();
-    iClientState = EIRCliConnecting;
-
-    FLOG(_L("[BTSU]\t CBTServiceClient::ConstructL() completed"));
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CIRClient* CIRClient::NewL()
-    {
-    CIRClient* self = new( ELeave ) CIRClient( );
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    CleanupStack::Pop();
-    return self;
-    }
-
-    
-// Destructor
-CIRClient::~CIRClient()
-    { 
-
-    Cancel();
-    if(iClient)
-        {
-        delete iClient;
-        iClient = NULL;        
-        }    
-    
-    iFileSession.Close();    
-    delete iConnectObject;
-    
-    for (TInt index = 0; index < iFileArray.Count(); index++ )
-    	{
-    	if(iFileArray[index].SubSessionHandle())
-    		{
-    		iFileArray[index].Close();
-    		}
-    	}
-    	
-    iFileArray.Close();
-    
-    if ( iPutBufObject )
-        {        
-        delete iPutBufObject;
-        iPutBufObject = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::PutObjectL
-// -----------------------------------------------------------------------------
-//
-void CIRClient::PutObjectL( )
-    {
-    FLOG(_L("[BTSU]\t CBTServiceClient::PutObjectL()"));
-
-    if ( iPutBufObject )
-        {        
-        delete iPutBufObject;
-        iPutBufObject = NULL;
-        }
-
-    // Create object
-    //
-    iPutBufObject = CObexBufObject::NewL(NULL);    
-    
-    RFile file;    
-    file.Duplicate(iFileArray[iObjectIndex]);
-    
-    iBuffer = CBufFlat::NewL(1000);
-    iBuffer ->ResizeL(1000);
-    TObexRFileBackedBuffer bufferdetails(*iBuffer,file,CObexBufObject::ESingleBuffering);
-    iPutBufObject->SetDataBufL(bufferdetails);
-    
-    
-    TFileName filename;    
-    file.Name(filename);
-    
-    TInt size;
-    file.Size(size);
-    iPutBufObject->SetLengthL(size);	
-		
-    iPutBufObject->SetNameL(filename);
-    TTime time;
-	if(file.Modified(time) == KErrNone)
-		iPutBufObject->SetTimeL(time);
-	
-        
-        
-
-    // Send object
-    //
-    iClient->Put( *iPutBufObject, iStatus );    
-	SetActive();
-    iClientState = EIRCliPutting;
-
-    FLOG(_L("[BTSU]\t CBTServiceClient::PutObjectL() completed"));
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::CloseClientConnection
-// -----------------------------------------------------------------------------
-//
-void CIRClient::CloseClientConnection()
-    {    
-
-    iClient->Disconnect( iStatus );
-   	SetActive();
-    iClientState = EIRCliDisconnected;
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::GetProgressStatus
-// -----------------------------------------------------------------------------
-//
-TInt CIRClient::GetProgressStatus()
-    {    
-
-    TInt bytesSent = 0;
-    if ( iPutBufObject )
-        {
-        bytesSent = iPutBufObject->BytesSent();
-        }
-        
-    return iTotalBytesSent + bytesSent;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CIRClient::DoCancel()
-    {
-    FLOG(_L("[BTSU]\t CBTServiceClient::DoCancel()"));
-
-    // Sending an error to Obex is the only way to cancel active requests
-    //    
-    if(iClient)
-        {
-        delete iClient;
-        iClient = NULL;        
-        }    
-    
-
-    FLOG(_L("[BTSU]\t CBTServiceClient::DoCancel() completed"));
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::RunL
-// -----------------------------------------------------------------------------
-//
-void CIRClient::RunL()
-    {
-
-
-    switch ( iClientState )
-        {
-        case EIRCliConnecting:
-            {
-               
-            if ( iPutBufObject )
-				{				
-				delete iPutBufObject;
-				iPutBufObject = NULL;
-				}				
-				iObjectIndex=0;		
-				iDialog->CancelWaitDialogL();		
-				iDialog->LaunchProgressDialogL( this, FileListsize(), 
-            									R_IR_SENDING_DATA, KIRProgressInterval );             
-				TRAPD(error,SendL());
-				error=error;         	
-			
-			
-            break;
-            }
-
-        case EIRCliPutting:
-            {
-                     
-			if ( iPutBufObject )
-				{				
-				delete iPutBufObject;
-				iPutBufObject = NULL;
-				}		
-		    if(iBuffer)
-		        {
-		        delete iBuffer;
-		        iBuffer=NULL;
-		        }
-			iObjectIndex++;
-			TRAPD(error,SendL());
-			error=error;         
-          
-            break;
-            }
-
-        case EIRCliDisconnected:
-            {            
-            break;
-            }       
-        default:
-           {
-              
-           break;
-           }
-        }
-
-    FLOG(_L("[BTSU]\t CBTServiceClient::RunL() completed"));
-    }
-    
- // -----------------------------------------------------------------------------
-// CBTServiceClient::DialogDismissed
-// -----------------------------------------------------------------------------
-//   
- void CIRClient::DialogDismissed( TInt aButtonId )
-    {
-    
-    if( aButtonId == EAknSoftkeyCancel )
-        {
-        FLOG(_L("[BTSU]\t CBTServiceStarter::DialogDissmissed(), cancelled by user"));
-        Cancel();
-
-        // Cancelled by user, stop service
-        //
-        iClientState = EIRCliDisconnected;
-        TRequestStatus* temp = &iStatus;
-        User::RequestComplete( temp, KErrNone );        
-        SetActive();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::StartSendL
-// -----------------------------------------------------------------------------
-//     
- void CIRClient::StartSendL(const CAiwGenericParamList& aOutParamList )
-    {
-    
-    if ( iDialog )
-        {
-        iDialog->CancelWaitDialogL();        
-        }
-    
-    for( TInt index = 0; index < aOutParamList.Count(); index++ )
-        {
-        if ( aOutParamList[index].SemanticId() != EGenericParamFile )
-            {
-            FLOG(_L("[BTSS]\t CBTSSProvider::AddParametersL() wrong semantic Id: Leave"));
-            User::Leave( KErrArgument );
-            }
-            // Try to add file as an image
-            //          
-       
-    
-        if(aOutParamList[index].Value().TypeId()== EVariantTypeFileHandle)
-        	{        	        	
-            AddFileHandleL( aOutParamList[index].Value().AsFileHandle() );           
-        	
-        	}
-        else 
-        	{            
-            AddFileL( aOutParamList[index].Value().AsDes() );            
-        	}
-    
-        }      
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CBTServiceClient::SendL
-// -----------------------------------------------------------------------------
-//     
- void CIRClient::SendL()
-    {
-    if(iObjectIndex<iFileArray.Count())
-        {        
-        PutObjectL();
-        }
-     else
-        {
-        ShowNote();            
-        iDialog->CancelProgressDialogL();
-        iClient->Disconnect( iStatus );        
-        SetActive();    
-        iClientState=EIRCliDisconnected;        
-        
-        }
-       
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::AddFileHandleL
-// -----------------------------------------------------------------------------
-//      
-    
-    
- void CIRClient::AddFileHandleL(RFile aFile)
-    {
-    if(!aFile.SubSessionHandle())
-        {
-        User::Leave( KErrArgument );
-        }
-    RFile file;
-    
-    file.Duplicate(aFile);
-
-    iFileArray.AppendL( file );
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::AddFileL
-// -----------------------------------------------------------------------------
-//      
-	    
- void CIRClient::AddFileL(const TDesC& aFilePath)
-    {
-    if ( &aFilePath == NULL || 
-         aFilePath.Length() == 0 ||
-         aFilePath.Length() > KMaxFileName )
-        {
-        User::Leave( KErrArgument );
-        } 
-    RFile file;
-    User::LeaveIfError( file.Open( iFileSession, aFilePath, EFileShareReadersOnly) );
-    AddFileHandleL(file);
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CBTServiceClient::FileListsize
-// -----------------------------------------------------------------------------
-//      
- TInt CIRClient::FileListsize()
-    {
-    
-    TInt totalFileSize = 0; 	    
-    for ( TInt index = 0; index < iFileArray.Count(); index++ )
-        {                
-        TInt fileSize = 0;
-        iFileArray[index].Size( fileSize );
-        totalFileSize += fileSize;        
-        }
-    return totalFileSize;
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CBTServiceClient::ShowNote
-// -----------------------------------------------------------------------------
-//      
-void CIRClient::ShowNote()
-    {
-    if(iObjectIndex==iFileArray.Count() && iStatus==KErrNone)
-        {
-        TRAPD(error,TObexUtilsUiLayer::ShowInformationNoteL(R_IR_DATA_SENT));
-        error=error;
-        }
-     else
-     	{
-     	TRAPD(error,TObexUtilsUiLayer::ShowInformationNoteL(R_IR_SENDING_FAILED));
-     	error=error;
-     	}
-    }
-//  End of File  
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/src/IRSSProvider.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2002 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:  ?Description
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <AiwCommon.hrh>
-
-#include <AiwMenu.h>
-#include <irssmenu.rsg>
-#include <btnotif.h>        	// Notifier UID's
-#include <aknnotewrappers.h> 	//For notifier
-#include <featmgr.h>
-#include "IrSSProvider.h"
-#include "IrSendingServiceDebug.h"
-#include "IRClient.h"
-
-#include <data_caging_path_literals.hrh>
-
-_LIT( KIRSendingServiceFileDrive, "z:");
-_LIT( KIRSSResFileName,"IRSSMenu.rsc");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CIRSSProvider::CIRSSProvider
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CIRSSProvider::CIRSSProvider()
-	{
-	}
-
-// -----------------------------------------------------------------------------
-// CIRSSProvider::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CIRSSProvider::ConstructL()
-    {
-   
-    }
-
-// -----------------------------------------------------------------------------
-// CIRSSProvider::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CIRSSProvider* CIRSSProvider::NewL()
-    {
-    CIRSSProvider* self = new( ELeave ) CIRSSProvider;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CIRSSProvider::~CIRSSProvider()
-	{ 
-	
-	}
-
-// -----------------------------------------------------------------------------
-// CIRSSProvider::InitialiseL
-// -----------------------------------------------------------------------------
-//
-void CIRSSProvider::InitialiseL(MAiwNotifyCallback& /*aFrameworkCallback*/,
-								      const RCriteriaArray& /*aInterest*/)
-	{
-	// Not needed.
-	}
-
-// -----------------------------------------------------------------------------
-// CIRSSProvider::HandleMenuCmdL
-// -----------------------------------------------------------------------------
-//
-
-void CIRSSProvider::HandleMenuCmdL( TInt    aCmdId,
-								    	    const CAiwGenericParamList& aInParamList,
-											CAiwGenericParamList& /*aOutParamList*/,
-											TUint /*aCmdOptions*/,
-											const MAiwNotifyCallback* /*aCallback*/ )
-	{	
-    FeatureManager::InitializeLibL();
-    if(!FeatureManager::FeatureSupported(KFeatureIdIrda))
-        {
-   		FLOG(_L("[IRSS]\t FeatMgr doesn't find IrDA, show not_supported "));
-	    RNotifier notifier;    
-	    User::LeaveIfError( notifier.Connect() );
-		TBTGenericInfoNotiferParamsPckg paramsPckg;
-		paramsPckg().iMessageType=EIRNotSupported;		
-		TInt status = notifier.StartNotifier(KBTGenericInfoNotifierUid, paramsPckg);
-	    if ( status != KErrNone )
-	        {
-	        FTRACE(FPrint(_L("[IRSS]\t void CIRSSProvider::HandleMenuCmdL()  ERROR: StartNotifier() failed. Code: %d "), status));
-	        }	    
-	    notifier.Close();    	
-	    User::Leave(KErrNone);
-    	}    	
-	FeatureManager::UnInitializeLib();
-	
-    if ( &aInParamList == NULL || aInParamList.Count() <= 0 )
-        {
-        FLOG(_L("[IRSS]\t CIRSSProvider::HandleServiceCmdL() aOutParamList check failed: Leave"));
-        User::Leave( KErrArgument );
-        }
-
-    if ( !iIRClient )
-	    {
-		iIRClient = CIRClient::NewL();
-		}
-	iIRClient->StartSendL( aInParamList );
-
-    FLOG(_L("[BTSS]\t CBTSSProvider::HandleServiceCmdL() completed"));
-    }
-    
- // -----------------------------------------------------------------------------
-// CIRSSProvider::InitializeMenuPaneL
-// -----------------------------------------------------------------------------
-//
-    
- void CIRSSProvider::InitializeMenuPaneL(  CAiwMenuPane& aMenuPane,
-                                            TInt aIndex,
-                                            TInt /* aCascadeId */,
-                                            const CAiwGenericParamList& /*aInParamList*/ )
-    {
-    TFileName resourceFile;
-    TInt resId;
-    
-    resourceFile += KIRSendingServiceFileDrive;
-    resourceFile += KDC_RESOURCE_FILES_DIR;
-    resourceFile += KIRSSResFileName;    
-    resId=R_SEND_VIA_IR_MENU;
-    
-    aMenuPane.AddMenuItemsL(
-            resourceFile, 
-            resId,
-            KAiwCmdSend,
-            aIndex);
-    }
-    
- void CIRSSProvider::HandleServiceCmdL( const TInt& aCmdId, 
-                                        const CAiwGenericParamList& aInParamList,
-                                        CAiwGenericParamList& aOutParamList,
-                                        TUint aCmdOptions,
-                                        const MAiwNotifyCallback* aCallback )
-    {
-    HandleMenuCmdL(aCmdId,aInParamList,aOutParamList,aCmdOptions,aCallback);
-    }
-
-// End of file
--- a/localconnectivityservice/obexsendservices/obexserviceirsend/src/IRSendingService.cpp	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Defines the DLL entry point and ECom initialization.
-*                and a panic function used in BTSS.
-*
-*/
-
-
-// INCLUDE FILES
-#include "IrSSProvider.h"
-#include "IRSendingService.hrh"
-#include "IrSendingServiceUIDS.hrh"
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// ============================= LOCAL FUNCTIONS ===============================
-//
-
-// -----------------------------------------------------------------------------
-// ImplementationTable
-// ECom init: Maps the interface UIDs to implementation factory functions.
-// Returns: A table of implementation UIDs and their constructors.
-// -----------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
-    {
-   	IMPLEMENTATION_PROXY_ENTRY(KIRSendingServiceImplUid, CIRSSProvider::NewL)
-    };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// E32Dll 
-// DLL entry point.
-// Returns: Symbian OS errorcode.
-// -----------------------------------------------------------------------------
-//
-#ifndef EKA2
-GLDEF_C TInt E32Dll( TDllReason /*aReason*/ )
-    {
-    return KErrNone;
-    }
-#endif
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// ECom init: Exported proxy for instantiation method resolution.
-// Returns: Pointer to the proxy and number of implementations in it.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-    return ImplementationTable;
-    }
-
-//  End of File  
--- a/localconnectivityservice/obexsendservices/obexservicesendutils/inc/BTServiceStarter.h	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/obexsendservices/obexservicesendutils/inc/BTServiceStarter.h	Fri May 14 16:44:53 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -29,6 +29,7 @@
 #include <btengsettings.h>
 #include <obexutilsdialog.h>
 #include <msvapi.h>
+#include <hb/hbwidgets/hbdeviceprogressdialogsymbian.h>
 
 // DATA TYPES
 
@@ -105,7 +106,8 @@
                           public MObexUtilsDialogObserver,
                           public MObexUtilsProgressObserver,
                           public MBTEngSdpResultReceiver,
-                          public MBTEngSettingsObserver
+                          public MBTEngSettingsObserver,
+                          public MHbDeviceProgressDialogObserver
     {
     public:  // Constructors and destructor
         
@@ -157,6 +159,18 @@
         * @return None.
         */
         void DialogDismissed( TInt aButtonId );
+        
+        /**
+		* From MHbDeviceProgressDialogObserver
+		*
+		*/
+        void ProgressDialogCancelled(const CHbDeviceProgressDialogSymbian *  aDialog);
+        
+	  /**
+		* From MHbDeviceProgressDialogObserver
+		*
+		*/
+        void ProgressDialogClosed(const CHbDeviceProgressDialogSymbian *  aDialog )  ; 
 
         /**
         * From MObexUtilsProgressObserver request for number of bytes sent
@@ -413,7 +427,7 @@
         CBTDevice*                  iDevice;
         CBTEngDiscovery*            iBTEngDiscovery;
         CBTServiceParameterList*    iList;
-        CObexUtilsDialog*           iDialog;
+ //       CObexUtilsDialog*           iDialog;
         CBTSController*       iController;
 
         TBTServiceType              iService;
@@ -438,6 +452,7 @@
         TBool                       iFeatureManagerInitialized;
         TBool                       iTriedBIP;
         TBool                       iTriedOPP;
+        CHbDeviceProgressDialogSymbian *iProgressDialog;
     };
 
 #endif      // BT_SERVICE_CONTROLLER_H
--- a/localconnectivityservice/obexsendservices/obexservicesendutils/src/BTServiceStarter.cpp	Mon May 03 13:21:36 2010 +0300
+++ b/localconnectivityservice/obexsendservices/obexservicesendutils/src/BTServiceStarter.cpp	Fri May 14 16:44:53 2010 +0300
@@ -29,6 +29,7 @@
 #include <obexutilsmessagehandler.h>
 #include <btnotif.h>
 #include <featmgr.h>
+#include "hbdevicemessageboxsymbian.h"
 
 // CONSTANTS
 
@@ -37,7 +38,6 @@
 const TUint KBTServiceDirectPrinting    = 0x1118;
 const TUint KBTServiceImagingResponder  = 0x111B;
 
-const TUint KBTProgressInterval         = 1000000;
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -72,7 +72,7 @@
     {
     FLOG(_L("[BTSU]\t CBTServiceStarter::ConstructL()"));
     iDevice = CBTDevice::NewL();
-    iDialog = CObexUtilsDialog::NewL( this );
+//    iDialog = CObexUtilsDialog::NewL( this );
     FeatureManager::InitializeLibL();
     iFeatureManagerInitialized = ETrue;
     FLOG(_L("[BTSU]\t CBTServiceStarter::ConstructL() completed"));
@@ -108,7 +108,8 @@
 
     delete iController;
     delete iBTEngDiscovery;
-    delete iDialog;
+ //   delete iDialog;
+    delete iProgressDialog;
 
     if(iWaiter && iWaiter->IsStarted() )
         {
@@ -166,7 +167,8 @@
     TBool offline = EFalse;
     if( !power )
         {
-        offline = CheckOfflineModeL();
+        //offline = CheckOfflineModeL();
+         offline = EFalse;
         }
     if( !offline )
         {
@@ -424,11 +426,16 @@
     FLOG(_L("[BTSU]\t CBTServiceStarter::LaunchWaitNoteL()"));
     if ( iService == EBTPrintingService )
         {
-        iDialog->LaunchWaitDialogL( R_BT_PRINTING_WAIT_NOTE );
+ //       iDialog->LaunchWaitDialogL( R_BT_PRINTING_WAIT_NOTE );
         }
     else
         {
-        iDialog->LaunchWaitDialogL( R_BT_CONNECTING_WAIT_NOTE );
+        //       iDialog->LaunchWaitDialogL( R_BT_CONNECTING_WAIT_NOTE );
+        _LIT(KConnectText, "Connecting...");
+        iProgressDialog = CHbDeviceProgressDialogSymbian::NewL(CHbDeviceProgressDialogSymbian::EWaitDialog,this);
+        iProgressDialog->SetTextL(KConnectText);
+        iProgressDialog->ShowL();
+        
         }    
     FLOG(_L("[BTSU]\t CBTServiceStarter::LaunchWaitNoteL() completed"));
     }
@@ -441,10 +448,15 @@
     {
     FLOG(_L("[BTSU]\t CBTServiceStarter::CancelWaitNote()"));
 
-    if ( iDialog )
-        {
-        TRAP_IGNORE( iDialog->CancelWaitDialogL() );
-        }
+  //  if ( iDialog )
+  //      {
+        //       TRAP_IGNORE( iDialog->CancelWaitDialogL() );
+        if(iProgressDialog)
+            {
+            //This has to be tested
+            iProgressDialog->Close();
+            }
+    //    }
 
     FLOG(_L("[BTSU]\t CBTServiceStarter::CancelWaitNote() completed"));
     }
@@ -458,7 +470,8 @@
                                              TInt aTotalSize )
     {
     FLOG(_L("[BTSU]\t CBTServiceStarter::LaunchProgressNoteL()"));
-
+    (void) aTotalSize;
+    
     if ( iService != EBTPrintingService )
         {    
         iProgressGetter = aGetter;        
@@ -468,8 +481,8 @@
         	{
         	iMessageServerIndex = TObexUtilsMessageHandler::CreateOutboxEntryL( 
             KUidMsgTypeBt, R_BT_SEND_OUTBOX_SENDING );        
-        	iDialog->LaunchProgressDialogL( this, aTotalSize, 
-             								R_BT_SENDING_DATA, KBTProgressInterval );	
+   //     	iDialog->LaunchProgressDialogL( this, aTotalSize, 
+     //        								R_BT_SENDING_DATA, KBTProgressInterval );	
         	}        
         iProgressDialogActive=ETrue;     
         }
@@ -485,9 +498,9 @@
     {
     FLOG(_L("[BTSU]\t CBTServiceStarter::CancelProgressNote()"));
 
-    if ( iDialog )
+ //   if ( iDialog )
         {
-        TRAP_IGNORE( iDialog->CancelProgressDialogL() );
+  //      TRAP_IGNORE( iDialog->CancelProgressDialogL() );
         }
     }
 
@@ -529,7 +542,8 @@
     {
     FLOG(_L("[BTSU]\t CBTServiceStarter::ShowNote()"));
      
-    TInt resource = 0;    
+//    TInt resource = 0;
+    TBuf<255> buf;
 
     switch ( aReason )
         {
@@ -537,17 +551,24 @@
             {
             if ( iService == EBTPrintingService )
                 {
-                resource = R_BT_DATA_SENT2;
+               // resource = R_BT_DATA_SENT2;
+                
+                _LIT(KText, "Data Sent");
+                buf.Copy(KText);
                 }
             else
                 {
-                resource = R_BT_DATA_SENT;
+                //resource = R_BT_DATA_SENT;
+                _LIT(KText, "Data Sent");
+                buf.Copy(KText);
                 }
             break;
             }
         case EBTSConnectingFailed:
             {
-            resource = R_BT_DEV_NOT_AVAIL;
+            //resource = R_BT_DEV_NOT_AVAIL;
+            _LIT(KText, "Cannot establish Bluetooth connection");
+            buf.Copy(KText);
             break;
             }
         case EBTSGettingFailed:
@@ -555,11 +576,15 @@
             {
             if ( iService == EBTPrintingService )
                 {
-                resource = R_BT_FAILED_TO_SEND2;
+                _LIT(KText, "Sending failed");
+                //resource = R_BT_FAILED_TO_SEND2;
+                buf.Copy(KText);
                 }
             else
                 {
-                resource = R_BT_FAILED_TO_SEND;
+                _LIT(KText, "Failed to send Data");
+                //resource = R_BT_FAILED_TO_SEND;
+                buf.Copy(KText);
                 }
             break;
             }
@@ -567,37 +592,50 @@
             {
             if ( iService == EBTPrintingService )
                 {
-                resource = R_BT_PRINTING_NOT_SUPPORTED;
+                _LIT(KText, "Printer not supported");
+                buf.Copy(KText);
+            //    resource = R_BT_PRINTING_NOT_SUPPORTED;
                 }
             else
                 {
-                resource = R_BT_FAILED_TO_SEND;
+                _LIT(KText, "Failed to send Data");
+                buf.Copy(KText);
+         //       resource = R_BT_FAILED_TO_SEND;
                 }
             break;
             }
         case EBTSBIPSomeSend:
         	{
-        	resource = R_BT_FAILED_TO_SEND;
+        	_LIT(KText, "Failed to send Data");
+        	 buf.Copy(KText);
+        	//resource = R_BT_FAILED_TO_SEND;
         	break;	
         	}    
         case EBTSBIPOneNotSend:
         	{
-        	resource = R_BT_NOT_RECEIVE_ONE;
+        	_LIT(KText, "Receiving device does not support this image format.");
+        	 buf.Copy(KText);
+        	//resource = R_BT_NOT_RECEIVE_ONE;
         	break;
         	}
         case EBTSBIPNoneSend:
         	{
-        	resource = R_BT_NOT_RECEIVE_ANY;
+        	_LIT(KText, "Receiving device does not support the needed image formats.");
+        	 buf.Copy(KText);
+        	//resource = R_BT_NOT_RECEIVE_ANY;
         	break;
         	}	
         default:
             {            
-            resource = R_BT_DEV_NOT_AVAIL;
+           // resource = R_BT_DEV_NOT_AVAIL;
+            _LIT(KText, "Cannot establish Bluetooth connection");
+            buf.Copy(KText);
             break;
             }
         }        
     
-	TRAP_IGNORE(TObexUtilsUiLayer::ShowInformationNoteL( resource ) );	
+//	TRAP_IGNORE(TObexUtilsUiLayer::ShowInformationNoteL( resource ) );	
+    CHbDeviceMessageBoxSymbian::InformationL(buf);
     FLOG(_L("[BTSU]\t CBTServiceStarter::ShowNote() completed"));
     }
 
@@ -605,10 +643,10 @@
 // CBTServiceStarter::LaunchConfirmationQuery
 // -----------------------------------------------------------------------------
 //
-TInt CBTServiceStarter::LaunchConfirmationQuery(TInt aResourceId)
+TInt CBTServiceStarter::LaunchConfirmationQuery(TInt /*aResourceId*/)
 	{
 	TInt keypress=0;
-	TRAP_IGNORE( keypress = iDialog->LaunchQueryDialogL(  aResourceId ));	
+//	TRAP_IGNORE( keypress = iDialog->LaunchQueryDialogL(  aResourceId ));	
 	if ( !keypress )
 		{
 		FLOG(_L("[BTSU]\t CBTServiceStarter::LaunchConfirmationQuery(), cancelled by user"));
@@ -624,6 +662,7 @@
 //	
 void CBTServiceStarter::StopTransfer(TInt aError)
 	{
+      
 	FLOG(_L("[BTSU]\t CBTServiceStarter::StopTransfer()"));
     Cancel();
 	if( !iUserCancel )
@@ -905,7 +944,7 @@
 void CBTServiceStarter::TurnBTPowerOnL( const TBTPowerStateValue aState )
     {
 	FLOG( _L("[BTSU]\t CBTServiceStarter::TurnBTPowerOnL()") );
-    if (iName() != EFalse) 
+//    if (iName() != EFalse) 
     	{
     	if( !iBTEngSettings )
 	        {
@@ -927,7 +966,7 @@
 	        StartDiscoveryL();
 	        }
     	}
-    else
+ /*   else
     	{
         if ( !iNotifier.Handle() )
 	        {
@@ -940,7 +979,7 @@
         iNotifier.StartNotifierAndGetResponse( iStatus, KBTGenericQueryNotifierUid, 
                                                   pckg, iName );
         SetActive();
-    	}
+    	}*/
 	FLOG(_L("[BTSU]\t CBTServiceStarter::TurnBTPowerOnL() - completed"));
     }
 
@@ -988,6 +1027,7 @@
 
     if( err )
         {
+      
         err = ( err == KErrNotSupported ? KErrCancel : err );
         if ( iWaiter && err != KErrInUse && err != KErrCancel )
             {
@@ -1012,4 +1052,25 @@
 	FLOG(_L("[BTSU]\t CBTServiceStarter::RunError() - completed"));
     return KErrNone;
     }
-//  End of File
+
+
+
+
+void CBTServiceStarter::ProgressDialogCancelled(const CHbDeviceProgressDialogSymbian*/*  aDialog*/)
+    {
+    FLOG(_L("[BTSU]\t CBTServiceStarter::ProgressDialogCancelled(), cancelled by user"));        
+    iUserCancel=ETrue;
+    if ( iController )
+        {
+        iController->Abort();
+        }
+    else 
+       {
+       StopTransfer(KErrCancel);
+       }    
+    }
+
+
+void CBTServiceStarter::ProgressDialogClosed(const CHbDeviceProgressDialogSymbian* /* aDialog*/)
+    {
+    }
--- a/localconnectivityservice/obexsendservices/rom/obexservicebtsend.iby	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2004 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:  IBY file for btsendingservice
-*
-*/
-
-
-#ifndef BTSENDINGSERVICE_IBY
-#define BTSENDINGSERVICE_IBY
-
-#ifdef __BT
-ECOM_PLUGIN(obexservicebtsend.dll,101F86A2.rsc)
-#endif
-
-#endif // BTSENDINGSERVICE_IBY
-
-//  End of File  
--- a/localconnectivityservice/obexsendservices/rom/obexserviceirsend.iby	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2004 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:  IBY file for btsendingservice
-*
-*/
-
-
-#ifndef IRSENDINGSERVICE_IBY
-#define IRSENDINGSERVICE_IBY
-
-#ifdef __IRDA
-ECOM_PLUGIN(obexserviceirsend.dll,001F86A2.rsc)
-#endif
-
-#endif // IRSENDINGSERVICE_IBY
-
-//  End of File  
--- a/sysdef_1_4_0.dtd	Mon May 03 13:21:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_5_1.dtd	Fri May 14 16:44:53 2010 +0300
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  proFile CDATA #IMPLIED
+  qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>