--- a/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -16,6 +16,5 @@
#include "../msgfw_plat/group/bld.inf"
-#include "../msgfw_pub/group/bld.inf"
-#include "../msgbranched/group/bld.inf"
+//#include "../msgfw_pub/group/bld.inf"
#include "../messagingfw/group/bld.inf"
--- a/layers.sysdef.xml Thu Aug 19 10:24:00 2010 +0300
+++ b/layers.sysdef.xml Tue Aug 31 15:41:11 2010 +0300
@@ -7,7 +7,7 @@
<systemModel>
<layer name="mw_layer">
<module name="messagingmw">
- <unit unitID="MeCoDo.messagingmw" mrp="" bldFile="&layer_real_source_path;/group" name="messagingmw" />
+ <unit unitID="MeCo.messagingmw" mrp="" bldFile="&layer_real_source_path;/group" name="messagingmw" />
</module>
</layer>
</systemModel>
--- a/messagingfw/alwaysonline/AlwaysOnlineManager/BMARM/alwaysonlinemanagerserveru.def Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/alwaysonline/AlwaysOnlineManager/BMARM/alwaysonlinemanagerserveru.def Tue Aug 31 15:41:11 2010 +0300
@@ -1,8 +1,5 @@
EXPORTS
- Connect__26RAlwaysOnlineClientSession @ 1 NONAME R3UNUSED ; RAlwaysOnlineClientSession::Connect(void)
- RelayCommandL__26RAlwaysOnlineClientSession30TAlwaysOnlineServerAPICommandsR5TDes8 @ 2 NONAME R3UNUSED ; RAlwaysOnlineClientSession::RelayCommandL(TAlwaysOnlineServerAPICommands, TDes8 &)
- RunServerL__Fv @ 3 NONAME R3UNUSED ; RunServerL(void)
- Version__C26RAlwaysOnlineClientSession @ 4 NONAME R3UNUSED ; RAlwaysOnlineClientSession::Version(void) const
- __26RAlwaysOnlineClientSession @ 5 NONAME R3UNUSED ; RAlwaysOnlineClientSession::RAlwaysOnlineClientSession(void)
- SendSinglePacketL__26RAlwaysOnlineClientSession30TAlwaysOnlineServerAPICommandsR5TDes8 @ 6 NONAME R3UNUSED ; RAlwaysOnlineClientSession::SendSinglePacketL(TAlwaysOnlineServerAPICommands, TDes8 &)
+ NewL__26CAlwaysOnlineManagerServer @ 1 NONAME R3UNUSED ; CAlwaysOnlineManagerServer::NewL(void)
+ ThreadFunction__26CAlwaysOnlineManagerServerPv @ 2 NONAME R3UNUSED ; CAlwaysOnlineManagerServer::ThreadFunction(void *)
+ WinsMain__Fv @ 3 NONAME R3UNUSED ; WinsMain(void)
--- a/messagingfw/alwaysonline/AlwaysOnlineManager/group/AlwaysOnlineManagerServer.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/alwaysonline/AlwaysOnlineManager/group/AlwaysOnlineManagerServer.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -35,7 +35,6 @@
SOURCE AOCenRepControl.cpp
-
USERINCLUDE ../inc
SYSTEMINCLUDE ../../../../inc
MW_LAYER_SYSTEMINCLUDE
@@ -46,7 +45,7 @@
LIBRARY connmon.lib
LIBRARY efsrv.lib // RFs
LIBRARY msgs.lib // Message Server
-LIBRARY muiu.lib
+LIBRARY muiuutils.lib
LIBRARY CentralRepository.lib // Central Repository
LIBRARY CenRepNotifHandler.lib // CenRep Notify Handler
DEBUGLIBRARY flogger.lib
--- a/messagingfw/alwaysonline/AlwaysOnlineManager/inc/AlwaysOnlineManager.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/alwaysonline/AlwaysOnlineManager/inc/AlwaysOnlineManager.h Tue Aug 31 15:41:11 2010 +0300
@@ -25,7 +25,7 @@
#include <AlwaysOnlineManagerClient.h>
#include <msvapi.h>
#include <rconnmon.h>
-#include <app/MuiuMsvSingleOpWatcher.h>
+#include <MuiuMsvSingleOpWatcher.h>
#include <centralrepository.h>
#include <cenrepnotifyhandler.h>
--- a/messagingfw/alwaysonline/AlwaysOnlineManager/inc/AlwaysOnlineManagerDiskSpaceObserver.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/alwaysonline/AlwaysOnlineManager/inc/AlwaysOnlineManagerDiskSpaceObserver.h Tue Aug 31 15:41:11 2010 +0300
@@ -27,7 +27,7 @@
// FORWARD DECLARATIONS
class CAlwaysOnlineManager;
-
+class CMsvSession;
// CLASS DECLARATION
/**
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/alwaysonline/AlwaysOnlineManager/inc/MuiuMsvSingleOpWatcher.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,125 @@
+/*
+* 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:
+* Messaging progress watching classes
+*
+*/
+
+
+
+
+#ifndef __MUIUMSVSINGLEOPWATCHER_H__
+#define __MUIUMSVSINGLEOPWATCHER_H__
+
+// INCLUDES
+#include <e32base.h>
+#include <MSVSTD.H>
+
+
+// CONSTANTS
+const TInt KMsvSingleOpWatcherArrayGranularity = 4;
+
+
+// FORWARD DECLARATIONS
+class CMsvOperation;
+class MMsvSingleOpWatcher;
+
+
+
+// CLASS DECLARATION
+
+/**
+* CMsvOperation watcher class.
+*/
+class CMsvSingleOpWatcher : public CActive
+ {
+ public:
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CMsvSingleOpWatcher* NewLC( MMsvSingleOpWatcher& aObserver );
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CMsvSingleOpWatcher* NewL( MMsvSingleOpWatcher& aObserver );
+
+ /**
+ * Destructor
+ */
+ IMPORT_C ~CMsvSingleOpWatcher();
+
+ /**
+ * Sets operation
+ * Must only be called once during the lifetime of a CMsvSingleOpWatcher
+ * object.
+ */
+ IMPORT_C void SetOperation( CMsvOperation* aOperation );
+
+ /**
+ * Returns reference to the operation
+ */
+ IMPORT_C CMsvOperation& Operation() const;
+
+ private:
+ /**
+ * C++ constructor
+ */
+ CMsvSingleOpWatcher( MMsvSingleOpWatcher& aObserver );
+
+ /**
+ * Symbian OS constructor
+ */
+ void ConstructL();
+
+ /**
+ * From CActive
+ */
+ virtual void DoCancel();
+
+ /**
+ * From CActive
+ */
+ virtual void RunL();
+
+ private:
+ MMsvSingleOpWatcher& iObserver;
+ CMsvOperation *iOperation;
+ };
+
+
+/**
+* Mixin class MMsvSingleOpWatcher
+*
+* Function OpCompleted is called when operation is completed.
+*/
+class MMsvSingleOpWatcher
+ {
+ public:
+ virtual void OpCompleted( CMsvSingleOpWatcher& aOpWatcher, TInt aCompletionCode ) = 0;
+ };
+
+
+/**
+* Class CMsvSingleOpWatcherArray
+*
+* Use this define when we want to use an array of CMsvSingleOpWatcher objects.
+*/
+
+typedef CArrayPtrFlat<CMsvSingleOpWatcher> CMsvSingleOpWatcherArray;
+
+
+#endif // __MSVSINGLEOPWATCHER_H__
+
+// End of file
--- a/messagingfw/alwaysonline/AlwaysOnlineManager/src/AlwaysOnlineManagerDiskSpaceObserver.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/alwaysonline/AlwaysOnlineManager/src/AlwaysOnlineManagerDiskSpaceObserver.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <e32base.h>
-#include <app/MuiuMsvUiServiceUtilities.h> // Muiu Utilities
+#include <MuiuServiceUtilities.h> // Muiu Utilities
#include <systemwarninglevels.hrh>
#include "AlwaysOnlineManagerDiskSpaceObserver.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/alwaysonline/AlwaysOnlineManager/src/MuiuMsvSingleOpWatcher.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* 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:
+* Messaging progress watching classes
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <MSVAPI.H>
+//#include "muiudomainpan.h"
+#include "MuiuMsvSingleOpWatcher.H"
+
+// CONSTANTS
+const TInt KSingleOpWatcherPriority = KMaxTInt;
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::NewLC
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvSingleOpWatcher* CMsvSingleOpWatcher::NewLC( MMsvSingleOpWatcher& aObserver )
+ {}
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::NewL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvSingleOpWatcher* CMsvSingleOpWatcher::NewL( MMsvSingleOpWatcher& aObserver )
+ {}
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::CMsvSingleOpWatcher
+//
+// ---------------------------------------------------------
+//
+CMsvSingleOpWatcher::CMsvSingleOpWatcher( MMsvSingleOpWatcher& aObserver )
+ : CActive( KSingleOpWatcherPriority ), iObserver( aObserver )
+ {}
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::ConstructL
+//
+// ---------------------------------------------------------
+//
+void CMsvSingleOpWatcher::ConstructL()
+ {
+ // Nothing to do, reserved for future use...
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::~CMsvSingleOpWatcher
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvSingleOpWatcher::~CMsvSingleOpWatcher()
+ {}
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::SetOperation
+// --- Setter ---
+// Must only be called once during the lifetime of a CMsvSingleOpWatcher object.
+// ---------------------------------------------------------
+//
+EXPORT_C void CMsvSingleOpWatcher::SetOperation(CMsvOperation* aOperation)
+ {}
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::Operation
+// --- Accessor ---
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvOperation& CMsvSingleOpWatcher::Operation() const
+ {}
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::DoCancel
+// --- From CActive ---
+// ---------------------------------------------------------
+//
+void CMsvSingleOpWatcher::DoCancel()
+ {}
+
+
+//------------------------------------
+// CMsvSingleOpWatcher::RunL
+// --- From CActive ---
+// ---------------------------------------------------------
+//
+void CMsvSingleOpWatcher::RunL()
+ {}
+
+// End of file
--- a/messagingfw/alwaysonline/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/alwaysonline/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -26,11 +26,9 @@
../conf/alwaysonline_102071F2.crml MW_LAYER_CRML(alwaysonline_102071F2.crml)
../rom/AlwaysOnline.iby CORE_MW_LAYER_IBY_EXPORT_PATH(AlwaysOnline.iby)
-../rom/AlwaysOnlineEMailPlugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(AlwaysOnlineEMailPlugin.iby)
-../rom/AlwaysOnlineEMailPluginRsc.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(AlwaysOnlineEMailPluginRsc.iby)
// Stub installer file which enables eclipsing of always online manager
-../sis/aomanagerstub.SIS /epoc32/data/z/system/install/aomanager_stub.sis
+../sis/aomanagerstub.SIS /epoc32/data/z/system/install/aomanagerstub.SIS
PRJ_MMPFILES
../AlwaysOnlineManager/group/AlwaysOnlineManagerServer.mmp
--- a/messagingfw/alwaysonline/rom/AlwaysOnline.iby Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/alwaysonline/rom/AlwaysOnline.iby Tue Aug 31 15:41:11 2010 +0300
@@ -24,7 +24,7 @@
file=ABI_DIR\BUILD_DIR\ALWAYSONLINESTARTER.exe PROGRAMS_DIR\ALWAYSONLINESTARTER.exe
// Stub installer file
-data=DATAZ_\system\install\aomanager_stub.sis system\install\aomanager_stub.sis
+data=DATAZ_\system\install\aomanagerstub.SIS system\install\aomanagerstub.SIS
#endif
--- a/messagingfw/alwaysonline/rom/AlwaysOnlineEMailPlugin.iby Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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: AlwaysOnline Email-plugin iby
-*
-*/
-#ifndef __ALWAYSONLINEEMAILPLUGIN_IBY__
-#define __ALWAYSONLINEEMAILPLUGIN_IBY__
-
-#ifdef __ALWAYS_ONLINE_EMAIL
-
-//ECOM_PLUGIN_UDEB(ALWAYSONLINEEMAILPLUGIN.DLL,AlwaysOnlineEmailPlugin.rsc)
-ECOM_PLUGIN(ALWAYSONLINEEMAILPLUGIN.DLL,AlwaysOnlineEmailPlugin.rsc)
-
-// Stub installer file
-data=DATAZ_\system\install\aoemailplugin_stub.sis system\install\aoemailplugin_stub.sis
-
-#endif
-
-#endif
--- a/messagingfw/alwaysonline/rom/AlwaysOnlineEMailPluginRsc.iby Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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: AlwaysOnline Email-plugin resource iby
-*
-*/
-
-#ifndef __ALWAYSONLINEEMAILPLUGIN_RESOURCES_IBY__
-#define __ALWAYSONLINEEMAILPLUGIN_RESOURCES_IBY__
-
-#ifdef __ALWAYS_ONLINE_EMAIL
- data=DATAZ_\RESOURCE_FILES_DIR\AlwaysOnlineEmailPluginData.rsc RESOURCE_FILES_DIR\AlwaysOnlineEmailPluginData.rsc
-#endif
-
-#endif
--- a/messagingfw/biomsgfw/BDB/BLD.INF Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/biomsgfw/BDB/BLD.INF Tue Aug 31 15:41:11 2010 +0300
@@ -30,4 +30,4 @@
../BDBTSRC/T_BdbHF.MMP manual
../BDBTSRC/t_bio_observer.mmp
-#include "../BDBTSRC/testbif/BLD.INF"
+#include "../BDBTSRC/testbif/bld.inf"
--- a/messagingfw/biomsgfw/IACPSRC/wwwp.CPP Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/biomsgfw/IACPSRC/wwwp.CPP Tue Aug 31 15:41:11 2010 +0300
@@ -287,7 +287,7 @@
#endif // SYMBIAN_BOOKMARK_DATABASE
// File writing has completed, set the size in the attachment
- TInt fileSize;
+ TInt fileSize = 0;
User::LeaveIfError(file.Size(fileSize));
attachment->SetSize(fileSize);
--- a/messagingfw/biomsgfw/cbcp/CBusinessCardParser class.htm Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-<html>
-
-<head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
-<title>CBusinessCardParser class</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<h2><a name="CBusinessCardParser"><font size="4"><tt>CBusinessCardParser</tt></font><font
-face="Times New Roman"> class —</font></a><font
-face="Times New Roman"> Compact Business Card Parser</h2>
-
-<p></font><b><i>Section Contents</i></b></p>
-
-<ul>
- <li><a href="#e32.eudsccls-004-001"><b>Overview</b></a> </li>
- <li><a
- href="#e32.desc-concrete.HBufC.allocation-and-construction"><b>Allocation
- and construction</b></a> <ul>
- <li><a href="#e32.desc-concrete.new"><font size="4"><b><tt>NewL()</tt></b></font><b>
- — Create new CBusinessCardParser</b></a> </li>
- </ul>
- </li>
- <li><a href="#API"><strong>API — Public functions</strong></a><ul>
- <li><a href="#ParseL"><strong>ParseL — Parse a
- Compact Business Card message.</strong></a></li>
- <li><a href="#ProcessL"><strong>ProcessL — Parse
- a Compact Business Card message.</strong></a></li>
- </ul>
- </li>
-</ul>
-
-<hr size="3">
-
-<h3><a name="e32.eudsccls-004-001">Overview</a></h3>
-
-<h5><a name="e32.eudsccls-004-002"><font size="3">Derivation</font></a></h5>
-
-<table border="1" cellpadding="2">
- <tr>
- <td valign="top"><a href="eutype.html#e32.class.CBase"><font
- color="#000000" size="4"><tt>CBase</tt></font></a></td>
- <td valign="top">Abstract: <a
- href="eutype.html#e32.class.CBase"><font color="#000000"
- size="4"><tt>CBase</tt></font></a> behaviour</td>
- </tr>
- <tr>
- <td valign="top"><a href="#e32.class.CActive"><font
- color="#000000" size="4"><tt>CActive</tt></font></a></td>
- <td valign="top">Abstract: active object: provides
- facilities to encapsulate an asynchronous service, and to
- handle its completion using <font size="4"><tt>RunL()</tt></font></td>
- </tr>
- <tr>
- <td valign="top"><a href="#CBusinessCardParser"><font
- color="#000000" size="4"><tt>CBaseScriptParser</tt></font></a></td>
- <td valign="top">Abstract: parser implementation.</td>
- </tr>
-</table>
-
-<h5><a name="e32.eudsccls-004-003"><font size="3">Defined in</font></a></h5>
-
-<p><code>cbcp.h</code><font size="4"><tt> </tt></font></p>
-
-<h5><a name="e32.eudsccls-004-004"><font size="3">Link against</font></a></h5>
-
-<p><code>cbcp.lib</code></p>
-
-<h5><a name="e32.eudsccls-004-005"><font size="3">Description</font></a></h5>
-
-<p>This class provides functions to parse a Compact Business Card
-message. The parser creates an informative message body for the
-user and generates a vCard in the store associated with the
-message.</p>
-
-<hr size="3">
-
-<h3><a name="e32.desc-concrete.HBufC.allocation-and-construction">Allocation
-and construction</a></h3>
-
-<hr size="1">
-
-<h4><a name="e32.desc-concrete.new"><font size="4"><tt>NewL()</tt></font>
-— Create new <font size="4"><tt>CBusinessCardParser</tt></font></a></h4>
-
-<p><tt>static CBusinessCardParser* NewL(CRegisteredParserDll&
-aRegisteredParserDll, CMsvServerEntry& aEntry, RFs& aFs);</tt></p>
-
-<h5><a name="e32.eudsccls-004-006"><font size="3">Description</font></a></h5>
-
-<p>Use these functions to construct a new <a
-href="#CBusinessCardParser"><font color="#000000" size="4"><tt>CBusinessCardParser</tt></font></a>
-descriptor on the heap. Code should be provided to ensure that a
-single copy of the DLL is loaded and is released when no longer
-required.</p>
-
-<p>If there is insufficient memory available to create the
-descriptor,<font size="4"><tt> NewL()</tt></font> leaves. See <a
-href="euclnp.html#e32.exception.intro"><b>Motivating E32
-exception facilities</b></a> for more information on leave
-processing.</p>
-
-<h5><font size="3">Arguments</font></h5>
-
-<table border="1">
- <tr>
- <td valign="top"><a href="#CBusinessCardParser"><tt>CRegisteredParserDll&</tt></a><tt>
- aRegisteredParserDll</tt></td>
- <td valign="top">A </td>
- </tr>
- <tr>
- <td><a href="#CBusinessCardParser"><tt>CMsvServerEntry&</tt></a><tt>
- aEntry</tt></td>
- <td>A message server entry containing the CBC message.</td>
- </tr>
- <tr>
- <td><a href="#CBusinessCardParser"><tt>RFs&</tt></a><tt>
- aFs</tt></td>
- <td>Handle of a file server session.</td>
- </tr>
-</table>
-
-<h5><font size="3">Return value</font></h5>
-
-<table border="1">
- <tr>
- <td valign="top"><a href="#CBusinessCardParser"><font
- color="#000000" size="4"><tt>CBusinessCardParser*</tt></font></a></td>
- <td valign="top">The address of the newly created <a
- href="#CBusinessCardParser"><font color="#000000"
- size="4"><tt>CBusinessCardParser</tt></font></a>
- descriptor.<p><font size="4"><tt>NewL()</tt></font>
- leaves if there is insufficient memory.</p>
- </td>
- </tr>
-</table>
-
-<h5><a name="e32.eudsccls-004-009"><font size="3">Example</font></a></h5>
-
-<p>This code fragment illustrates how an <a
-href="#CBusinessCardParser"><font color="#000000" size="4"><tt>CBusinessCardParser</tt></font></a>
-descriptor can be constructed:</p>
-
-<p>Use of <font size="4"><tt>NewL()</tt></font>:</p>
-
-<blockquote>
- <p>iRegisteredParserDll =
- CRegisteredParserDll::NewL(uidType);<br>
- RLibrary parserlibrary;<br>
- User::LeaveIfError(iRegisteredParserDll->GetLibrary(gFs,parserlibrary));<br>
- typedef CBaseScriptParser*
- (*NewParserL)(CRegisteredParserDll& aRegisteredParserDll,
- CMsvServerEntry& aEntry, RFs& aFs);<br>
- TInt entrypointordinalnumber=1; // The one and only entry
- point.<br>
- TLibraryFunction
- libFunc=parserlibrary.Lookup(entrypointordinalnumber);<br>
- if (libFunc==NULL)<br>
- User::Leave(KErrBadLibraryEntryPoint);<br>
- NewParserL pFunc=(NewParserL) libFunc;<br>
- CBaseScriptParser* parser=NULL;<br>
- TInt refcount=iRegisteredParserDll->DllRefCount();<br>
- TRAPD(ret,parser=((*pFunc)(*iRegisteredParserDll, *iEntry,
- gFs)));<br>
- if ((ret!=KErrNone) &&
- (iRegisteredParserDll->DllRefCount()==refcount))<br>
- iRegisteredParserDll->ReleaseLibrary();</p>
-</blockquote>
-
-<hr size="3">
-
-<h3><a name="API">API — Public functions</a></h3>
-
-<p><a name="ParseL"><strong>ParseL</strong></a><strong> —
-Parse a </strong><a href="#CBusinessCardParser"><strong>Compact
-Business Card</strong></a><strong> message.</strong></p>
-
-<p>void ParseL(TRequestStatus& aStatus, const TDesC&
-aSms);</p>
-
-<h5><a name="e32.eudsccls-004-006"><font size="3">Description</font></a></h5>
-
-<p>Use this function to parse the Compact Business Card message
-aSms, stored in the TDesC. The parser creates an informative
-message body for the user and generates a vCard in the store
-associated with the message.</p>
-
-<h5><font size="3">Arguments</font></h5>
-
-<table border="1">
- <tr>
- <td valign="top">TRequestStatus& aStatus</td>
- <td valign="top">The request status of the active object.</td>
- </tr>
- <tr>
- <td>const TDesC& aSms</td>
- <td>An SMS message.</td>
- </tr>
-</table>
-
-<h5><font size="3">Return value</font></h5>
-
-<table border="1">
- <tr>
- <td valign="top"><font color="#000000" size="4"><tt>void</tt></font></td>
- </tr>
-</table>
-
-<h5><a name="e32.eudsccls-004-009"><font size="3">Example</font></a></h5>
-
-<p>This code fragment illustrates how the parser is called:</p>
-
-<blockquote>
- <p>iParser->ParseL(iStatus,iSms);</p>
-</blockquote>
-
-<hr size="1">
-
-<p><a name="ProcessL"><font face="Times New Roman"><strong>ProcessL</strong></font></a><font
-face="Times New Roman"><strong> — Parse a </strong></font><a
-href="#CBusinessCardParser"><font face="Times New Roman"><strong>Compact
-Business Card</strong></font></a><font face="Times New Roman"><strong>
-message.</strong></font></p>
-
-<p>void ProcessL(TRequestStatus& aStatus);</p>
-
-<h5><a name="e32.eudsccls-004-006"><font size="3">Description</font></a></h5>
-
-<p>This function is not implemented in the current version of the
-parser. It may be used to implement further actions with the
-parsed message.</p>
-
-<h5><font size="3">Arguments</font></h5>
-
-<table border="1">
- <tr>
- <td valign="top">TRequestStatus& aStatus</td>
- <td valign="top">The request status of the active object.</td>
- </tr>
-</table>
-
-<h5><font size="3">Return value</font></h5>
-
-<table border="1">
- <tr>
- <td valign="top"><font color="#000000" size="4"><tt>void</tt></font></td>
- </tr>
-</table>
-
-<h5><a name="e32.eudsccls-004-009"><font size="3">Example</font></a></h5>
-
-<p>This code fragment illustrates how the message process stage
-of the parser is called:</p>
-
-<blockquote>
- <p>iParser->ProcessL(iStatus)</p>
-</blockquote>
-
-<p>This interface currently returns after issuing a
-User::RequestComplete(iReport, KErrNotSupported).</p>
-
-<hr size="3">
-
-<p> </p>
-</body>
-</html>
--- a/messagingfw/biomsgfw/group/BLD.INF Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/biomsgfw/group/BLD.INF Tue Aug 31 15:41:11 2010 +0300
@@ -25,23 +25,23 @@
DEFAULT
// The following are build for WINC
-#include "../BIFU/BLD.INF"
+#include "../BIFU/bld.inf"
// These lot are not
#if !defined(WINC)
-#include "../BIUT/BLD.INF"
-#include "../BDB/BLD.INF"
-#include "../BIOC/BLD.INF"
-#include "../BIOS/BLD.INF"
-#include "../BITS/BLD.INF"
+#include "../BIUT/bld.inf"
+#include "../BDB/bld.inf"
+#include "../BIOC/bld.inf"
+#include "../BIOS/bld.inf"
+#include "../BITS/bld.inf"
#include "../cbcp/bld.inf"
#include "../iacp/bld.inf"
#include "../enp/bld.inf"
#include "../wapp/bld.inf"
#include "../gfp/bld.inf"
-#include "../BioWatchers/BLD.INF"
-#include "../Rom/BLD.INF"
+#include "../BioWatchers/bld.inf"
+#include "../Rom/bld.inf"
PRJ_EXPORTS
bioerr.ra SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(errors/generic/bioerr.ra)
--- a/messagingfw/biomsgfw/wappsrc/wapp.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/biomsgfw/wappsrc/wapp.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -3732,7 +3732,7 @@
#endif // SYMBIAN_BOOKMARK_DATABASE
// File writing has completed, set the size in the attachment
- TInt fileSize;
+ TInt fileSize = 0;
User::LeaveIfError(file.Size(fileSize));
attachment->SetSize(fileSize);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* 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: Includes all the SDK API specific bld.inf files, which
+* export files.
+*
+*/
+
+
+
+#include "../send_ui_api/group/bld.inf"
+#include "../send_ui_datautils_api/group/bld.inf"
+#include "../send_ui_plugin_api/group/bld.inf"
+#include "../senduiservices/group/bld.inf"
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,35 @@
+/*
+* 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: File that exports the files belonging to
+: Send UI API
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/CMessageData.h MW_LAYER_PUBLIC_EXPORT_PATH(CMessageData.h)
+../inc/TSendingCapabilities.inl MW_LAYER_PUBLIC_EXPORT_PATH(TSendingCapabilities.inl)
+../inc/SendUiConsts.h MW_LAYER_PUBLIC_EXPORT_PATH(SendUiConsts.h)
+../inc/SendUi.h MW_LAYER_PUBLIC_EXPORT_PATH(sendui.h)
+../inc/TSendingCapabilities.h MW_LAYER_PUBLIC_EXPORT_PATH(TSendingCapabilities.h)
+../inc/CSendingServiceInfo.h MW_LAYER_PUBLIC_EXPORT_PATH(CSendingServiceInfo.h)
+../inc/CMessageAddress.h MW_LAYER_PUBLIC_EXPORT_PATH(CMessageAddress.h)
+../inc/SenduiMtmUids.h MW_LAYER_PUBLIC_EXPORT_PATH(SenduiMtmUids.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/CMessageAddress.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2002-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: Encapsulates message real addressa and alias
+*
+*/
+
+
+
+#ifndef C_MESSAGEADDRESS_H
+#define C_MESSAGEADDRESS_H
+
+#include <e32base.h>
+
+class CMessageAddressImpl;
+class RWriteStream;
+class RReadStream;
+
+/**
+ * Encapsulates message recipient real address and alias.
+ *
+ * @lib sendui
+ * @since S60 v3.0
+ */
+class CMessageAddress : public CBase
+{
+public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CMessageAddress* NewL();
+
+ /**
+ * Two-phased constructor. Leaves object to cleanup stack.
+ */
+ IMPORT_C static CMessageAddress* NewLC();
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CMessageAddress();
+
+public: // New functions
+
+ /**
+ * Sets real address.
+ *
+ * @since Series 60 3.0
+ * @param aAddress Real address.
+ * @return None.
+ */
+ IMPORT_C void SetAddressL( const TDesC& aAddress );
+
+ /**
+ * Returns real address.
+ *
+ * @since Series 60 3.0
+ * @return Real address.
+ */
+ IMPORT_C const TPtrC Address() const;
+
+ /**
+ * Sets alias for the real address.
+ *
+ * @since Series 60 3.0
+ * @param aAlias Alias for the real address.
+ * @return None.
+ */
+ IMPORT_C void SetAliasL( const TDesC& aAlias );
+
+ /**
+ * Returns alias for the address.
+ *
+ * @since Series 60 3.0
+ * @return Alias for the real address.
+ */
+ IMPORT_C const TPtrC Alias() const;
+
+ /**
+ * Externalizes address data to a stream
+ *
+ * @since Series 60 3.2
+ * @param aStream Destination stream
+ * @return None.
+ */
+ IMPORT_C void ExternalizeL( RWriteStream& aStream );
+
+ /**
+ * Internalizes message data from a stream
+ *
+ * @since Series 60 3.2
+ * @param Source stream
+ * @return None.
+ */
+ IMPORT_C void InternalizeL( RReadStream& aStream );
+
+private:
+
+ /**
+ * C++ default constructor.
+ */
+ CMessageAddress();
+
+ /**
+ * Symbian 2nd phase constructor.
+ */
+ void ConstructL();
+
+private: // Data
+
+ /**
+ * Message address implementation.
+ * Own.
+ */
+ CMessageAddressImpl* iMessageAddressImpl;
+ };
+
+/** Address array */
+
+typedef CArrayPtrFlat<CMessageAddress> CMessageAddressArray;
+
+#endif // C_MESSAGEADDRESS_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/CMessageData.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,312 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the message data for sending services.
+*
+*/
+
+
+#ifndef C_MESSAGEDATA_H
+#define C_MESSAGEDATA_H
+
+#include <e32base.h>
+#include <badesca.h>
+#include <f32file.h>
+#include <msvstd.h>
+#include "CMessageAddress.h"
+
+class MDesC16Array;
+class CRichText;
+class CMessageDataImpl;
+
+/**
+ * Encapsulates the message data for sending services.
+ *
+ * Encapsulates the message data for sending services. Class supports
+ * externalazation and internalization, which are used to relay message
+ * to SendUI server application.
+ *
+ * @lib sendui
+ * @since S60 v3.0
+ */
+class CMessageData : public CBase
+{
+public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return Pointer to object of CMessageData.
+ */
+ IMPORT_C static CMessageData* NewL();
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return Pointer to object of CMessageData.
+ */
+ IMPORT_C static CMessageData* NewLC();
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CMessageData();
+
+public: // New functions
+
+ /**
+ * Set message subject.
+ *
+ * @since Series 60 3.0
+ * @param aSubject Sets message subject. Does not take ownership.
+ * @return None.
+ */
+ IMPORT_C void SetSubjectL( const TDesC* aSubject );
+
+ /**
+ * Returns message subject.
+ *
+ * @since Series 60 3.0
+ * @return Message subject.
+ */
+ IMPORT_C const TPtrC Subject() const;
+
+ /**
+ * Appends attachment file path to the array of attachment file paths. Only a link
+ * to the attachment is stored and compared to AppendAttachmentHandleL less resources
+ * is used during the send operation.
+ *
+ * NOTE: Do not add any temporary files as an attachment. Always use
+ * AppendAttachmentHandleL for temporary files.
+ *
+ * @since Series 60 3.0
+ * @param aFilePath File path of the attachment.
+ *
+ * @return None.
+ */
+ IMPORT_C void AppendAttachmentL( const TDesC& aFilePath );
+
+ /**
+ * Returns the array of attachment file paths.
+ *
+ * @since Series 60 3.0
+ * @return Array of attachment file paths.
+ */
+ IMPORT_C const CDesCArray& AttachmentArray() const;
+
+ /**
+ * Clears the array of attachment file paths.
+ *
+ * @since Series 60 3.0
+ * @return Array of attachment file paths.
+ */
+ IMPORT_C void ClearAttachmentArray();
+
+ /**
+ * Encapsulates address and alias to CMessageAddress and adds to array.
+ *
+ * @since Series 60 3.0
+ * @param aAddress Real address.
+ * @param aAlias Alias for the real address.
+ * @return None.
+ */
+ IMPORT_C void AppendToAddressL(
+ const TDesC& aAddress,
+ const TDesC& aAlias = KNullDesC);
+
+ /**
+ * Returns array of addresses and aliases.
+ *
+ * @since Series 60 3.0
+ * @return Array of addresses and aliases.
+ */
+ IMPORT_C const CMessageAddressArray& ToAddressArray() const;
+
+ /**
+ * Encapsulates CC address and alias to CMessageAddress and adds to
+ * array.
+ *
+ * @since Series 60 3.0
+ * @param aCcAddress Real CC-address.
+ * @param aCcAlias Alias for the real CC-address.
+ * @return None.
+ */
+ IMPORT_C void AppendCcAddressL(
+ const TDesC& aCcAddress,
+ const TDesC& aCcAlias = KNullDesC);
+
+ /**
+ * Returns array of CC addresses and aliases.
+ *
+ * @since Series 60 3.0
+ * @return Array of cc addresses and aliases.
+ */
+ IMPORT_C const CMessageAddressArray& CcAddressArray() const;
+
+ /**
+ * Encapsulates Bcc address and alias to CMessageAddress and adds to
+ * array.
+ *
+ * @since Series 60 3.0
+ * @param aBccAddress Real Bcc-address.
+ * @param aBccAlias Alias for the real Bcc-address.
+ * @return None.
+ */
+ IMPORT_C void AppendBccAddressL(
+ const TDesC& aBccAddress,
+ const TDesC& aBccAlias = KNullDesC);
+
+ /**
+ * Returns array of Bcc addresses and aliases.
+ *
+ * @since Series 60 3.0
+ * @return Array of Bcc addresses and aliases.
+ */
+ IMPORT_C const CMessageAddressArray& BccAddressArray() const;
+
+ /**
+ * Set message body text.
+ *
+ * @since Series 60 3.0
+ * @param aBodyText Message body text.
+ * @return None.
+ */
+ IMPORT_C void SetBodyTextL( const CRichText* aBodyText );
+
+ /**
+ * Returns message body text.
+ *
+ * @since Series 60 3.0
+ * @return Message body text.
+ */
+ IMPORT_C const CRichText* BodyText() const;
+
+ /**
+ * Appends attachment handle to the array of attachment handles.
+ *
+ * NOTE: Attachment handles should be opened using ShareProtected()
+ * file session, otherwise handles can not be transfered through
+ * client-server interface.
+ *
+ * NOTE: When adding a temporary file as an attachment, always use this method,
+ *
+ * @since Series 60 3.0
+ * @param aFileHandle File handle of the attachment.
+ * @return None.
+ */
+ IMPORT_C void AppendAttachmentHandleL( const RFile& aFileHandle );
+
+ /**
+ * Returns the array of attachment handles.
+ *
+ * @since Series 60 3.0
+ * @return Array of attachment handles.
+ */
+ IMPORT_C const RArray<RFile>& AttachmentHandleArray() const;
+
+ /**
+ * Returns data type id.
+ *
+ * This can be used for interpreting the opaque data.
+ * @since Series 60 3.0
+ * @return Data type id.
+ */
+ IMPORT_C TUid DataType() const;
+
+ /**
+ * Clears all addressee arrays.
+ *
+ * @since Series 60 3.0
+ * @return None.
+ */
+ IMPORT_C void ClearAddresses();
+
+ /**
+ * Externalizes message data to a stream
+ *
+ * @since Series 60 3.2
+ * @return None.
+ */
+
+ IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
+
+ /**
+ * Internalizes message data to from a stream
+ *
+ * @since Series 60 3.2
+ * @return None.
+ */
+ IMPORT_C void InternalizeL( RReadStream& aStream );
+
+ /**
+ * Set opaque data
+ *
+ * @since Series 60 3.2
+ * @param aData Opaque data.
+ * @param aDataType, Identifier for the opaque data.
+ * @return None.
+ */
+ IMPORT_C void SetOpaqueDataL( const TDesC8* aData, TUid aDataType );
+
+ /**
+ * Get opaque data
+ *
+ * @since Series 60 3.2
+ * @return aData Opaque data.
+ */
+ IMPORT_C const TPtrC8 OpaqueData() const;
+
+ protected:
+
+ /**
+ * C++ default constructor.
+ */
+ IMPORT_C CMessageData();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ IMPORT_C void ConstructL();
+
+protected: // Data
+
+ /**
+ * Data type of this message. Normally this is KSenduiMsgDataBase
+ * This can be used for interpreting the opaque data.
+ */
+ TUid iDataType;
+
+private: // Data
+
+ /**
+ * Message data implementation.
+ * Owned.
+ */
+ CMessageDataImpl* iMessageDataImpl;
+
+ /**
+ * Reserved.
+ */
+ TAny* iReserved1;
+ TAny* iReserved2;
+ TAny* iReserved3;
+ TAny* iReserved4;
+ TAny* iReserved5;
+ RArray<TAny*> iReserved6;
+
+};
+
+#endif // C_MESSAGEDATA_H
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/CSendingServiceInfo.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,225 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the ECom plugged sending service data.
+*
+*/
+
+
+
+#ifndef CSENDINGSERVICEINFO_H
+#define CSENDINGSERVICEINFO_H
+
+// INCLUDES
+#include <e32base.h>
+//#include <SendUi.h> // TSendingCapabilities
+
+// FORWARD DECLARATIONS
+class TSendingCapabilities;
+class CSendingServiceInfoImpl;
+
+// CLASS DECLARATION
+
+/**
+ * Encapsulates the ECom plugged sending service data.
+ *
+ * @lib Sendui
+ * @since Series 60 3.0
+ */
+class CSendingServiceInfo : public CBase
+ {
+ public:
+
+ enum TServiceFeatures
+ {
+ EServiceInValid = 1,
+ EServiceHidden = 2,
+ EServiceCanSendDirectly = 4,
+ ENotUsed3 = 8
+ };
+
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @return Pointer to object of CSendingServiceInfo.
+ */
+ IMPORT_C static CSendingServiceInfo* NewL();
+
+ /**
+ * Two-phased constructor.
+ * @return Pointer to object of CSendingServiceInfo.
+ */
+ IMPORT_C static CSendingServiceInfo* NewLC();
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CSendingServiceInfo();
+
+ public: // New functions
+
+ /**
+ * Creates a copy of CSendingServiceInfo object.
+ * @since Series 60 3.0
+ * @return A pointer to the new copy of the CSendingServiceInfo object.
+ */
+ IMPORT_C CSendingServiceInfo* CopyLC() const;
+
+ /**
+ * Set service human readable name.
+ * Service name is used in editors "To"-field.
+ * @since Series 60 3.0
+ * @param aServiceName Service human readable name.
+ * @return None.
+ */
+ IMPORT_C void SetServiceNameL( const TDesC& aServiceName );
+
+ /**
+ * Returns service human readable name.
+ * Service name is used in editors "To"-field.
+ * @since Series 60 3.0
+ * @return Service human readable name.
+ */
+ IMPORT_C const TPtrC ServiceName() const;
+
+ /**
+ * Set service human readable name for the "Send"-menu.
+ * @since Series 60 3.0
+ * @param aServiceMenuName Service human readable name for the
+ * "Send"-menu.
+ * @return None.
+ */
+ IMPORT_C void SetServiceMenuNameL( const TDesC& aServiceMenuName );
+
+ /**
+ * Returns service human readable name for the "Send"-menu.
+ * @since Series 60 3.0
+ * @return Service human readable name for the "Send"-menu.
+ */
+ IMPORT_C const TPtrC ServiceMenuName() const;
+
+ /**
+ * Set service address.
+ * @since Series 60 3.0
+ * @param aServiceAddress Service address.
+ * @return None.
+ */
+ IMPORT_C void SetServiceAddressL( const TDesC& aServiceAddress );
+
+ /**
+ * Returns service address.
+ * @since Series 60 3.0
+ * @return Service address.
+ */
+ IMPORT_C const TPtrC ServiceAddress() const;
+
+ /**
+ * Set sending service id.
+ * @since Series 60 3.0
+ * @param aServiceId Service id.
+ * @return None.
+ */
+ IMPORT_C void SetServiceId( TUid aServiceId );
+
+ /**
+ * Returns sending service id.
+ * @since Series 60 3.0
+ * @return Service id.
+ */
+ IMPORT_C TUid ServiceId() const;
+
+ /**
+ * Set sending service provider id.
+ * @since Series 60 3.0
+ * @param aServiceProviderId Service provider id.
+ * @return None.
+ */
+ IMPORT_C void SetServiceProviderId( TUid aServiceProviderId );
+
+ /**
+ * Returns sending service provider id.
+ * @since Series 60 3.0
+ * @return Service provider id.
+ */
+ IMPORT_C TUid ServiceProviderId() const;
+
+
+ /**
+ * Returns sending service technology type id.
+ * @since Series 60 3.2
+ * @return Service id.
+ */
+ IMPORT_C void SetTechnologyTypeId( TUid aTechnologyType );
+ /**
+ * Returns sending service technology type id.
+ * @since Series 60 3.2
+ * @return Service id.
+ */
+ IMPORT_C TUid TechnologyTypeId() const;
+
+
+ /**
+ * Set service sending capabilities.
+ * @since Series 60 3.0
+ * @param aServiceCapabilities Service sending capabilities.
+ * @return None.
+ */
+ IMPORT_C void SetServiceCapabilities(
+ TSendingCapabilities aServiceCapabilities );
+
+ /**
+ * Returns service sending capabilities.
+ * @since Series 60 3.0
+ * @return Service sending capabilities.
+ */
+ IMPORT_C TSendingCapabilities ServiceCapabilities() const;
+
+ /**
+ * Set sending service features
+ * @since Series 60 3.2
+ * @param aServiceCapabilities Sending service features.
+ * @return None.
+ */
+ IMPORT_C void SetServiceFeatures(
+ TInt aServiceFeatures );
+
+ /**
+ * Returns service features.
+ * @since Series 60 3.2
+ * @return Sending service features.
+ */
+ IMPORT_C TInt ServiceFeatures() const;
+
+
+ private:
+
+
+ /**
+ * C++ default constructor.
+ */
+ CSendingServiceInfo();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: // Data
+
+ CSendingServiceInfoImpl* iServiceInfoImpl;
+ };
+
+#endif // CSENDINGSERVICEINFO_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/SendUi.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,385 @@
+/*
+* Copyright (c) 2002-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: Can be used to show "Send" list query and to create and send
+* messages via available sending services. Created messages are
+* sent directly or message editor is opened for editing,
+* depending on the type of the selected service.
+*
+*/
+
+
+
+
+#ifndef CSENDUI_H
+#define CSENDUI_H
+
+#include <TSendingCapabilities.h>
+
+// FORWARD DECLARATIONS
+class CEikMenuPane;
+class CSendUiImpl;
+class CMessageData;
+class CSendingServiceInfo;
+
+#define KMaxStringLength 1024;
+
+// CLASS DECLARATION
+
+
+/**
+* Offers "Send" pop-up list and message creation and sending services.
+*
+* Can be used to display "Send" list query and to create and send
+* messages via available services. Sending services can be based
+* on the MTM or ECom architecture. Created messages are sent
+* directly or message editor is opened for editing, depending on
+* the type of selected service.
+*
+* @lib SendUi.lib
+* @since Series 60 3.0
+*/
+class CSendUi : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSendUi* NewL();
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSendUi* NewLC();
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CSendUi();
+
+ public: // New functions
+
+ /**
+ * Adds "Send" menu item to menupane.
+ *
+ * @since Series 60 3.0
+ * @param aMenuPane Menupane where the "Send" menu item should be added.
+ * @param aIndex The place of the "Send" menu item in menupane.
+ * @param aCommandId Command id for the "Send" menu item.
+ * @param aRequiredCapabilities Capabilities required by services to be
+ * shown in "Send" list query. If no capabilities are required
+ * (KCapabilitiesForAllServices), all available services are
+ * shown in "Send" list query.
+ * @return None.
+ */
+ IMPORT_C void AddSendMenuItemL(
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
+
+ /**
+ * First displays "Send" pop-up list query and then creates the message.
+ * Editor is launched for editing the message or the message is sent
+ * directly without opening the editor. Functionality depends on the
+ * type of selected service.
+ *
+ * "Send" pop-up list query can be manipulated in three ways. All three
+ * methods can be used or just some of those.
+ *
+ * The first option is to set the required capabilities for services.
+ * Eg. attachments supported. Sending services not matching to required
+ * capabilities are filtered away. Capabilities are defined in
+ * TSendingCapabilities.h.
+ *
+ * The second option is content based filtering. Filtering is based on
+ * the files intended to send. Those files can be set as part of message
+ * data. Filtering is done according the predefined rules.
+ * Eg. If oversized file is intended to send, MMS is filtered away from
+ * "Send" pop-up list.
+ *
+ * The third option is to set the array of service uids not wanted to
+ * be shown in list query. These sending services are filtered away
+ * even if those match to required capabilities.
+ *
+ * @since Series 60 3.0
+ * @param aMessageData Data for the message.
+ * @param aRequiredCapabilities Capabilities required by sending services
+ * to be shown in "Send" pop-up list query. If no capabilities are
+ * required (KCapabilitiesForAllServices), all available services
+ * are shown in "Send" pop-up list query.
+ * @param aServicesToDim Array of service uids (service uid, service
+ * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
+ * list query.
+ * See predefined sending service uids in SendUiConsts.h .
+ * @param aBioTypeUid BIO message type uid. Deprecated.
+ * @param aLaunchEditorEmbedded ETrue if the editor should be launched
+ * embedded. Otherwise the editor is launched stand-alone.
+ * Note: some services sends the messages without launching the
+ * editor at all.
+ * @param aTitleText Title of the "Send" pop-up list query. If no title
+ * is defined, then the localised default title "Send:" is used.
+ * @return None.
+ */
+ IMPORT_C void ShowQueryAndSendL(
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
+ CArrayFix<TUid>* aServicesToDim = NULL,
+ TUid aBioTypeUid = KNullUid,
+ TBool aLaunchEditorEmbedded = ETrue,
+ const TDesC& aTitleText = KNullDesC );
+
+ /**
+ * Displays "Send" pop-up list query and returns the user selection.
+ *
+ * "Send" pop-up list query can be manipulated in three ways. All three
+ * methods can be used or just some of those.
+ *
+ * The first option is to set the required capabilities for services.
+ * Eg. attachments supported. Sending services not matching to required
+ * capabilities are filtered away. Capabilities are defined in
+ * TSendingCapabilities.h.
+ *
+ * The second option is content based filtering. Filtering is based on
+ * the files intended to send. Those files can be set as part of message
+ * data. Filtering is done according the predefined rules.
+ * Eg. If oversized file is intended to send, MMS is filtered away from
+ * "Send" pop-up list.
+ *
+ * The third option is to set the array of service uids not wanted to
+ * be shown in list query. These sending services are filtered away
+ * even if those match to required capabilities.
+ *
+ * @since Series 60 3.0
+ * @param aMessageData Data for the message. Attachments are used for
+ * content based filtering.
+ * @param aRequiredCapabilities Capabilities required by sending services
+ * to be shown in "Send" pop-up list query. If no capabilities are
+ * required (KCapabilitiesForAllServices), all available services
+ * are shown in "Send" pop-up list query.
+ * @param aServicesToDim Array of service uids (service uid, service
+ * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
+ * list query.
+ * See predefined sending service uids in SendUiConsts.h .
+ * @param aTitleText Title of the "Send" pop-up list query. If no title
+ * is defined, then the localised default title "Send:" is used.
+ * @return Uid of the selected service (MTM or ECom).
+ * KNullId is returned if user selects cancel.
+ */
+ IMPORT_C TUid ShowSendQueryL(
+ const CMessageData* aMessageData = NULL,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
+ CArrayFix<TUid>* aServicesToDim = NULL,
+ const TDesC& aTitleText = KNullDesC );
+
+ /**
+ * Creates the message and launches the editor for editing the message
+ * or sends the message directly without opening the editor.
+ * Functionality depends on the type of selected service.
+ *
+ * @since Series 60 3.0
+ * @param aServiceUid Uid of the sending service (MTM or ECom).
+ * @param aMessageData Data for the message.
+ * @param aBioTypeUid BIO message type uid. Deprecated.
+ * @param aLaunchEditorEmbedded ETrue if the editor should be launched
+ * embedded. Otherwise the editor is launched stand-alone.
+ * Note: some sending services sends the messages without
+ * launching the editor at all.
+ * @return None.
+ */
+ IMPORT_C void CreateAndSendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TUid aBioTypeUid = KNullUid,
+ TBool aLaunchEditorEmbedded = ETrue );
+
+ /**
+ * Validates that service is available and has required capabilities.
+ * For ex. can be used when calling application creates its own "Send"
+ * menu.
+ * @since Series 60 3.0
+ * @param aServiceUid Uid of the sending service (MTM or ECom).
+ * @param aRequiredCapabilities Capabilities required for the sending
+ * service.
+ * @return ETrue if service is available and it has required
+ * capabilities,otherwise EFalse.
+ */
+ IMPORT_C TBool ValidateServiceL(
+ TUid aServiceUid,
+ TSendingCapabilities aRequiredCapabilities );
+
+ /**
+ * Returns sending capabilities of the sending service.
+ * @since Series 60 3.0
+ * @param aServiceUid Uid of the sending service (MTM or ECom).
+ * @param aServiceCapabilities TSendingCapabilities of the sending
+ * service as a return value.
+ * @return Return KErrNone if successful, or one of the system wide
+ * errors if unsuccessful.
+ */
+ IMPORT_C TInt ServiceCapabilitiesL(
+ TUid aServiceUid,
+ TSendingCapabilities& aServiceCapabilities );
+
+ /**
+ * Can be used to check if sending of bio message is supported. Deprecated.
+ * @since Series 60 3.0
+ * @param aBioMessageUid Uid of the bio message.
+ * @return: Returns always EFalse
+ */
+ IMPORT_C TBool CanSendBioMessage( TUid aBioMessageUid ) const;
+
+ /**
+ * Populates given list with the information about services
+ * provided by specified ECom service provider.
+ * Each service provider can provide 1..n services.
+ * Ownership of the pointed objects are transfered to caller.
+ *
+ * Can be used for ex. when creating own "Send" menu, which needs to
+ * include ECom based services.
+ *
+ * NOTE: Can be used only for ECom based services, also for MTMs
+ *
+ * @since Series 60 2.8
+ * @param aServiceList Service list to be populated.
+ * @param aServiceProvider Id of the specified service provider.
+ * KNullId means all service providers.
+ * Service providers are defined in SendUiConsts.h
+ * @return none
+ */
+ IMPORT_C void AvailableServicesL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ TUid aServiceProvider = KNullUid);
+
+ // Menu type enumeration
+ enum TSendUiMenuType
+ {
+ ESendMenu,
+ EWriteMenu
+ };
+
+ /**
+ * Adds menu item of given type to menupane.
+ *
+ * @since Series 60 3.0
+ * @param aMenuType Type of the menu, "ESendMenu" or "EWriteMenu"
+ * @param aMenuPane Menupane where the menu item should be added.
+ * @param aIndex The place of the menu item in menupane.
+ * @param aCommandId Command id for the menu item.
+ * @param aRequiredCapabilities Capabilities required from services to be
+ * shown in list query. If no capabilities are required
+ * (KCapabilitiesForAllServices), all available services are
+ * shown in list query.
+ * @return None.
+ */
+ IMPORT_C void AddTypedMenuItemL(
+ TSendUiMenuType aMenuType,
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
+
+ /**
+ * Displays list query and creates message.
+ * See ShowQueryAndSendL.
+ *
+ * @since Series 60 3.0
+ * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
+ * @param aMessageData Data for the message.
+ * @param aRequiredCapabilities Capabilities required by sending services
+ * to be shown in "Send" pop-up list query. If no capabilities are
+ * required (KCapabilitiesForAllServices), all available services
+ * are shown in "Send" pop-up list query.
+ * @param aServicesToDim Array of service uids (service uid, service
+ * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
+ * list query.
+ * See predefined sending service uids in SendUiConsts.h .
+ * @param aBioTypeUid BIO message type uid. Deprecated.
+ * @param aLaunchEditorEmbedded ETrue if the editor should be launched
+ * embedded. Otherwise the editor is launched stand-alone.
+ * Note: some services sends the messages without launching the
+ * editor at all.
+ * @param aTitleText Title of the list query. If no title is defined,
+ * then the localised default title is used, e.g. "Send" or
+ * "Write".
+ * @return None.
+ */
+ IMPORT_C void ShowTypedQueryAndSendL(
+ TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
+ CArrayFix<TUid>* aServicesToDim = NULL,
+ TUid aBioTypeUid = KNullUid,
+ TBool aLaunchEditorEmbedded = ETrue,
+ const TDesC& aTitleText = KNullDesC );
+
+ /**
+ * Displays list query and returns the user selection.
+ * See ShowSendQueryL.
+ *
+ * @since Series 60 3.0
+ * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
+ * @param aMessageData Data for the message. Attachments are used for
+ * content based filtering.
+ * @param aRequiredCapabilities Capabilities required by sending services
+ * to be shown in list query. If no capabilities are required
+ * (KCapabilitiesForAllServices), all available services are
+ * shown in list query.
+ * @param aServicesToDim Array of service uids (service uid, service
+ * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
+ * list query.
+ * See predefined sending service uids in SendUiConsts.h .
+ * @param aTitleText Title of the list query. If no title is defined,
+ * then the localised default title is used, e.g. "Send" or
+ * "Write"
+ * @return Uid of the selected service (MTM or ECom).
+ * KNullId is returned if user selects cancel.
+ */
+ IMPORT_C TUid ShowTypedQueryL(
+ TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData = NULL,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
+ CArrayFix<TUid>* aServicesToDim = NULL,
+ const TDesC& aTitleText = KNullDesC );
+
+ /**
+ * Returns the technology type of a service
+ *
+ * @since Series 60 3.0
+ * @param aServiceId Service of interest
+ * @return Technology type of the provided service. NULL if Mtm
+ * service doesn't exist or service is ECOM based.
+ */
+ IMPORT_C TUid TechnologyType( TUid aServiceUid ) const;
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CSendUi();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: // Data
+ // SendUi API implmentation. Owned.
+ CSendUiImpl* iSendUiImpl;
+ };
+
+#endif // CSENDUI_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/SendUiConsts.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* 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: Uid definitions for SendUI services.
+*
+*/
+
+
+
+#ifndef SENDUICONSTS_H
+#define SENDUICONSTS_H
+
+// CONSTANTS
+#define KSenduiMtmSmtpUidValue 0x10001028
+#define KSenduiMtmImap4UidValue 0x1000102A
+#define KSenduiMtmPop3UidValue 0x10001029
+#define KSenduiMtmSmsUidValue 0x1000102C
+#define KSenduiMtmMmsUidValue 0x100058E1
+#define KSenduiMtmIrUidValue 0x100053A4
+#define KSenduiMtmBtUidValue 0x10009ED5
+#define KSenduiMtmPushMtm1UidValue 0x10009158
+#define KSenduiMtmPushMtm2UidValue 0x10009158
+#define KSenduiMtmPushMtm3UidValue 0x10009158
+#define KSenduiMtmPushMtmUidValue 0x10009158
+#define KSenduiMtmBioUidValue 0x10001262
+#define KSenduiMailEditorUidValue 0x101F4CD6
+#define KSenduiMMSEditorUidValue 0x100058DE // Deprecated since 3.2
+#define KSenduiMMSNotificationUidValue 0x100059C8
+#define KSenduiMtmFaxUidValue 0x1000102B
+#define KSenduiMtmSyncMLEmailUidValue 0x101f7c5c
+#define KMmsUploadService1 0x101F8835
+#define KMmsUploadService2 0x101F8836
+#define KMmsUploadService3 0x101F8837
+#define KMmsUploadService4 0x101F8838
+#define KSenduiMtmRoUidValue 0x101F6DC2
+#define KSenduiMtmPostcardUidValue 0x10207245
+#define KDrmLinkSenderValue 0x10207388
+#define KSenduiMtmAudioMessageUidValue 0x1020745B
+#define KSenduiMtmUniMessageUidValue 0x102072D6
+#define KSenduiUniEditorUidValue 0x102072D8
+#define KSendUiGenericMtmPluginUidValue 0x102823B7
+#define KSenduiMtmOnlineAlbumUidValue 0x200009D5
+
+// Technology types
+#define KSenduiTechnologySmsUidValue 0x10008A30
+#define KSenduiTechnologyMmsUidValue 0x100058E2
+#define KSenduiTechnologyMailUidValue 0x10001671
+#define KSenduiTechnologyUniEditorUidValue 0x102072D5
+#define KSenduiTechnologyIrUidValue 0x1000539F
+#define KSenduiTechnologyBtUidValue 0x10009ED6
+#define KSenduiTechnologyIMUidValue 0x2000B4E8
+
+// MTMs
+const TUid KSenduiMtmSmtpUid = { KSenduiMtmSmtpUidValue };
+const TUid KSenduiMtmImap4Uid = { KSenduiMtmImap4UidValue };
+const TUid KSenduiMtmPop3Uid = { KSenduiMtmPop3UidValue };
+const TUid KSenduiMtmSmsUid = { KSenduiMtmSmsUidValue };
+const TUid KSenduiMtmMmsUid = { KSenduiMtmMmsUidValue };
+const TUid KSenduiMtmIrUid = { KSenduiMtmIrUidValue };
+const TUid KSenduiMtmBtUid = { KSenduiMtmBtUidValue };
+const TUid KSenduiMtmPushMtm1Uid = { KSenduiMtmPushMtm1UidValue };
+const TUid KSenduiMtmPushMtm2Uid = { KSenduiMtmPushMtm2UidValue };
+const TUid KSenduiMtmPushMtm3Uid = { KSenduiMtmPushMtm3UidValue };
+const TUid KSenduiMtmPushMtmUid = { KSenduiMtmPushMtmUidValue };
+const TUid KSenduiMtmFaxUid = { KSenduiMtmFaxUidValue };
+const TUid KSenduiMtmSyncMLEmailUid = { KSenduiMtmSyncMLEmailUidValue };
+const TUid KSenduiMtmBioUid = { KSenduiMtmBioUidValue };
+const TUid KSenduiMtmRoUid = { KSenduiMtmRoUidValue };
+const TUid KSenduiMMSNotificationUid = { KSenduiMMSNotificationUidValue };
+const TUid KSenduiMtmPostcardUid = { KSenduiMtmPostcardUidValue };
+const TUid KSenduiMtmAudioMessageUid = { KSenduiMtmAudioMessageUidValue };
+const TUid KSenduiMtmUniMessageUid = { KSenduiMtmUniMessageUidValue };
+const TUid KSenduiMtmOnlineAlbumUid = { KSenduiMtmOnlineAlbumUidValue };
+
+
+// ECom services
+const TUid KMmsDirectUpload = { 0x101F87F5 };
+const TUid KMmsIndirectUpload = { 0x101F87F7 };
+const TUid KMmsUploadService1Id = { KMmsUploadService1 };
+const TUid KMmsUploadService2Id = { KMmsUploadService2 };
+const TUid KMmsUploadService3Id = { KMmsUploadService3 };
+const TUid KMmsUploadService4Id = { KMmsUploadService4 };
+const TUid KMeetingRequestSender = { 0x101FD69A };
+const TUid KDrmLinkSender = { KDrmLinkSenderValue };
+const TUid KGenericMtmPlugin = { KSendUiGenericMtmPluginUidValue};
+
+// Technology types
+const TUid KSenduiTechnologySmsUid = { KSenduiTechnologySmsUidValue };
+const TUid KSenduiTechnologyMmsUid = { KSenduiTechnologyMmsUidValue };
+const TUid KSenduiTechnologyMailUid = { KSenduiTechnologyMailUidValue };
+const TUid KSenduiTechnologyUniEditorUid = { KSenduiTechnologyUniEditorUidValue };
+const TUid KSenduiTechnologyIrUid = { KSenduiTechnologyIrUidValue };
+const TUid KSenduiTechnologyBtUid = { KSenduiTechnologyBtUidValue };
+const TUid KSenduiTechnologyIMUid = { KSenduiTechnologyIMUidValue };
+
+// Message data types
+const TUid KSenduiMsgDataBase = { 0x101FD695 };
+const TUid KSenduiMsgDataMeetingRequest = { 0x101FD696 };
+
+// Editors
+const TUid KSenduiMailEditorUid = { KSenduiMailEditorUidValue };
+const TUid KSenduiMMSEditorUid = { KSenduiMMSEditorUidValue }; // Deprecated since 3.2
+const TUid KSenduiUniEditorUid = { KSenduiUniEditorUidValue };
+
+#endif // SENDUICONSTS_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/SenduiMtmUids.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2002-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: Link to SendUi service uids.
+*
+*/
+
+
+
+
+#ifndef INC_SENDUIMTMUIDS_H
+#define INC_SENDUIMTMUIDS_H
+
+#include <e32std.h>
+#include <SendUiConsts.h>
+
+#endif
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/TSendingCapabilities.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2002-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: Sending capabilities for sending services. Used by SendUi to
+* filter sending services from "Send" pop-up list query.
+*
+*/
+
+
+
+
+#ifndef TSENDINGCAPABILITIES_H
+#define TSENDINGCAPABILITIES_H
+
+// INCLUDES
+#include <e32base.h>
+
+// MACROS
+#define KCapabilitiesForAllServices TSendingCapabilities::CapabilitiesForAllServices()
+
+// CLASS DECLARATION
+
+/**
+* Sending capabilities for sending services.
+* Used by SendUi to filter sending services from "Send" pop-up list query.
+*
+* @lib CSendUi.lib
+* @since Series 60 3.0
+*/
+class TSendingCapabilities
+ {
+ public:
+
+ enum TSendingFlags
+ {
+ EAllServices = 0,
+ ESupportsAttachments = 1,
+ ESupportsBodyText = 2,
+ ESupportsBioSending = 4,
+ ESupportsEditor = 8
+ };
+
+ public: // Constructors and destructor
+
+ /**
+ * Default C++ constructor
+ */
+ IMPORT_C TSendingCapabilities();
+
+ /**
+ * C++ constructor
+ * @param aBodySize Maximum body size.
+ * @param aMessageSize Maximum whole message size (inc. attachments).
+ * @param aFlags: TSendingFlags.
+ */
+ IMPORT_C TSendingCapabilities(
+ TInt aBodySize,
+ TInt aMessageSize,
+ TInt aFlags );
+
+ public: // New functions
+
+ static inline TSendingCapabilities CapabilitiesForAllServices();
+
+ /**
+ * Overloaded equal operator.
+ * @param aSendingCapabilities Sending capabilities to be compared
+ * @return ETrue if equal, otherwise, EFalse
+ */
+ IMPORT_C TBool operator==(
+ const TSendingCapabilities& aSendingCapabilities ) const;
+
+ /**
+ * Overloaded not equal operator.
+ * @param aSendingCapabilities Sending capabilities to be compared
+ * @return ETrue if not equal, otherwise, EFalse
+ */
+ IMPORT_C TBool operator!=(
+ const TSendingCapabilities& aSendingCapabilities ) const;
+
+ public:
+
+ TInt iBodySize;
+ TInt iMessageSize;
+ TInt iFlags;
+ };
+
+#include "TSendingCapabilities.inl"
+
+#endif // TSENDINGCAPABILITIES_H
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/inc/TSendingCapabilities.inl Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2002-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: Sending capabilities for sending services. Used by SendUi to
+* filter sending services from "Send" pop-up list query.
+*
+*/
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+inline TSendingCapabilities TSendingCapabilities::CapabilitiesForAllServices()
+ {
+ TSendingCapabilities capabilities =
+ TSendingCapabilities( 0, 0, EAllServices );
+
+ return capabilities;
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/send_ui_api.metaxml Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,18 @@
+<?xml version="1.0" ?>
+<api id="4f3a5d2566728a61c3b493f5465562df" dataversion="2.0">
+ <name>Send UI API</name>
+ <description>Provides "Send via" interface to create and send different messages. Offers methods to create "Send via" list query and launch message editors.</description>
+ <type>c++</type>
+ <collection>messagingappbase</collection>
+ <libs>
+ <lib name="sendui.lib" />
+ </libs>
+ <release category="public" sinceversion="0"/>
+ <attributes>
+ <!-- This indicates wether the api provedes separate html documentation -->
+ <!-- or is the additional documentation generated from headers. -->
+ <!-- If you are unsuere then the value is "no" -->
+ <htmldocprovided>no</htmldocprovided>
+ <adaptation>no</adaptation>
+ </attributes>
+</api>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/Init/TestFramework.ini Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,200 @@
+#
+# 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'.
+# + XML, Test report will be xml type, for example 'TestReport.xml'.
+# Note, that xml format is available only when output is set to FILE.
+#
+# - 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= TestReport
+
+TestReportFormat= TXT # Possible values: TXT, HTML or XML
+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
+SeparateProcesses= YES # Possible values: YES or NO (default: NO)
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# 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
+
+# Tests for SendUIAPI
+[New_Module]
+ModuleName= testcombiner
+TestCaseFile= c:\testframework\tcSendUIAPITestCombiner.cfg
+[End_Module]
+
+# Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= c:\testframework\init.txt
+
+#TestModuleXXX 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
+#AddTestCaseTitle= YES # Possible values: YES or NO
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/eabi/SendUIAPITestu.def Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/30_ui_SendUIAPITest.cfg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,92 @@
+
+[Test]
+title SendUIAPITest-MessageData Object Creation
+create SendUIAPITest Testobject
+Testobject MessageDataNewL
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check MessageData Subject
+create SendUIAPITest Testobject
+Testobject MessageDataSetSubjectL Automation
+Testobject MessageDataSubject Automation
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData Add Attachment
+create SendUIAPITest Testobject
+Testobject MessageDataAppendAttachmentL Attachment.txt
+Testobject MessageDataAttachmentArray
+Testobject MessageDataClearAttachmentArray 0
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData AppendToAddressArray
+create SendUIAPITest Testobject
+Testobject MessageDataAppendToAddressL addressone aliasone
+Testobject MessageDataToAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendCCAddress
+create SendUIAPITest Testobject
+Testobject MessageDataAppendCcAddressL ccAddressone ccAliasone
+Testobject MessageDataCcAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendBCCAddress
+create SendUIAPITest Testobject
+Testobject MessageDataAppendBccAddressL bccAddress bccAliasone
+Testobject MessageDataBccAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check Message Boby text
+create SendUIAPITest Testobject
+Testobject MessageDataSetBodyTextL Bodytext
+Testobject MessageDataBodyText 8
+Testobject MessageDataAppendAttachmentHandleL Attachment.txt
+Testobject MessageDataAttachmentHandleArray 1
+Testobject MessageDataDataType
+Testobject MessageDataClearAddresses
+Testobject MessageDataExternalizeLnInternalizeL SubjectOne SubjectTwo
+Testobject MessageDataSetOpaqueDataL 5
+Testobject MessageDataOpaqueDataL 5
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- Message Address APIs
+create SendUIAPITest Testobject
+Testobject MessageAddressNewL
+Testobject MessageAddressSetAddressL addressonedesc
+Testobject MessageAddressAddress addressonedesc
+Testobject MessageAddressSetAliasL aliasdesc
+Testobject MessageAddressAlias aliasdesc
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- TSendingCapabilities APIs
+create SendUIAPITest Testobject
+Testobject TSendingCapabilities
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendingServiceInfo APIs
+create SendUIAPITest Testobject
+Testobject SendingServiceInfoCopyLC
+Testobject SendingServiceInfoSetTechnologyTypeId
+Testobject SendingServiceInfoServiceID
+Testobject SendingServiceInfoServiceProviderID
+Testobject SendingServiceInfoServiceCapabilities
+delete TestObject
+[Endtest]
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/32_ui_SendUIAPITest.cfg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,96 @@
+
+[Test]
+title SendUIAPITest-MessageData Object Creation
+create SendUIAPITest Testobject
+Testobject MessageDataNewL
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check MessageData Subject
+create SendUIAPITest Testobject
+Testobject MessageDataSetSubjectL Automation
+Testobject MessageDataSubject Automation
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData Add Attachment
+create SendUIAPITest Testobject
+Testobject MessageDataAppendAttachmentL Attachment.txt
+Testobject MessageDataAttachmentArray
+Testobject MessageDataClearAttachmentArray 0
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData AppendToAddressArray
+create SendUIAPITest Testobject
+Testobject MessageDataAppendToAddressL addressone aliasone
+Testobject MessageDataToAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendCCAddress
+create SendUIAPITest Testobject
+Testobject MessageDataAppendCcAddressL ccAddressone ccAliasone
+Testobject MessageDataCcAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendBCCAddress
+create SendUIAPITest Testobject
+Testobject MessageDataAppendBccAddressL bccAddress bccAliasone
+Testobject MessageDataBccAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check Message Boby text
+create SendUIAPITest Testobject
+Testobject MessageDataSetBodyTextL Bodytext
+Testobject MessageDataBodyText 8
+Testobject MessageDataAppendAttachmentHandleL Attachment.txt
+Testobject MessageDataAttachmentHandleArray 1
+Testobject MessageDataDataType
+Testobject MessageDataClearAddresses
+Testobject MessageDataExternalizeLnInternalizeL SubjectOne SubjectTwo
+Testobject MessageDataSetOpaqueDataL 5
+Testobject MessageDataOpaqueDataL 5
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- Message Address APIs
+create SendUIAPITest Testobject
+Testobject MessageAddressNewL
+Testobject MessageAddressSetAddressL addressonedesc
+Testobject MessageAddressAddress addressonedesc
+Testobject MessageAddressSetAliasL aliasdesc
+Testobject MessageAddressAlias aliasdesc
+Testobject MessageAddressExternalizeL
+Testobject MessageAddressSetAddressL addresstwodesc
+Testobject MessageAddressInternalizeL
+Testobject MessageAddressAddress addressonedesc
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- TSendingCapabilities APIs
+create SendUIAPITest Testobject
+Testobject TSendingCapabilities
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendingServiceInfo APIs
+create SendUIAPITest Testobject
+Testobject SendingServiceInfoCopyLC
+Testobject SendingServiceInfoSetTechnologyTypeId
+Testobject SendingServiceInfoServiceID
+Testobject SendingServiceInfoServiceProviderID
+Testobject SendingServiceInfoServiceCapabilities
+delete TestObject
+[Endtest]
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/SendUIAPITest.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2002-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: SendUIAPITest.mmp
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+
+
+TARGET SendUIAPITest.dll
+TARGETTYPE dll
+UID 0x1000008D 0x101FB3E8
+
+CAPABILITY ALL -TCB
+VENDORID VID_DEFAULT
+
+//TARGETPATH ?target_path
+DEFFILE SendUIAPITest.def
+
+USERINCLUDE ../inc
+APP_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH ../src
+
+SOURCE SendUIAPITest.cpp
+SOURCE SendUIAPITestBlocks.cpp
+
+LIBRARY euser.lib
+LIBRARY stiftestinterface.lib
+LIBRARY stiftestengine.lib
+LIBRARY SENDUI.lib
+//LIBRARY SenduiDataUtils.lib
+//LIBRARY ServiceHandler.lib
+LIBRARY cone.lib
+LIBRARY ecom.lib
+LIBRARY bafl.lib
+LIBRARY eikcore.lib
+LIBRARY etext.lib
+LIBRARY efsrv.lib
+LIBRARY estor.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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/SendUIAPITest.xml Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,9081 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!DOCTYPE PROJECT [
+ <!ELEMENT PROJECT (TARGETLIST, TARGETORDER, GROUPLIST, DESIGNLIST?)>
+ <!ELEMENT TARGETLIST (TARGET+)>
+ <!ELEMENT TARGET (NAME, SETTINGLIST, FILELIST?, LINKORDER?, SEGMENTLIST?, OVERLAYGROUPLIST?, SUBTARGETLIST?, SUBPROJECTLIST?, FRAMEWORKLIST?, PACKAGEACTIONSLIST?)>
+ <!ELEMENT NAME (#PCDATA)>
+ <!ELEMENT USERSOURCETREETYPE (#PCDATA)>
+ <!ELEMENT PATH (#PCDATA)>
+ <!ELEMENT FILELIST (FILE*)>
+ <!ELEMENT FILE (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?, ROOTFILEREF?, FILEKIND?, FILEFLAGS?)>
+ <!ELEMENT PATHTYPE (#PCDATA)>
+ <!ELEMENT PATHROOT (#PCDATA)>
+ <!ELEMENT ACCESSPATH (#PCDATA)>
+ <!ELEMENT PATHFORMAT (#PCDATA)>
+ <!ELEMENT ROOTFILEREF (PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
+ <!ELEMENT FILEKIND (#PCDATA)>
+ <!ELEMENT FILEFLAGS (#PCDATA)>
+ <!ELEMENT FILEREF (TARGETNAME?, PATHTYPE, PATHROOT?, ACCESSPATH?, PATH, PATHFORMAT?)>
+ <!ELEMENT TARGETNAME (#PCDATA)>
+ <!ELEMENT SETTINGLIST ((SETTING|PANELDATA)+)>
+ <!ELEMENT SETTING (NAME?, (VALUE|(SETTING+)))>
+ <!ELEMENT PANELDATA (NAME, VALUE)>
+ <!ELEMENT VALUE (#PCDATA)>
+ <!ELEMENT LINKORDER (FILEREF*)>
+ <!ELEMENT SEGMENTLIST (SEGMENT+)>
+ <!ELEMENT SEGMENT (NAME, ATTRIBUTES?, FILEREF*)>
+ <!ELEMENT ATTRIBUTES (#PCDATA)>
+ <!ELEMENT OVERLAYGROUPLIST (OVERLAYGROUP+)>
+ <!ELEMENT OVERLAYGROUP (NAME, BASEADDRESS, OVERLAY*)>
+ <!ELEMENT BASEADDRESS (#PCDATA)>
+ <!ELEMENT OVERLAY (NAME, FILEREF*)>
+ <!ELEMENT SUBTARGETLIST (SUBTARGET+)>
+ <!ELEMENT SUBTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
+ <!ELEMENT SUBPROJECTLIST (SUBPROJECT+)>
+ <!ELEMENT SUBPROJECT (FILEREF, SUBPROJECTTARGETLIST)>
+ <!ELEMENT SUBPROJECTTARGETLIST (SUBPROJECTTARGET*)>
+ <!ELEMENT SUBPROJECTTARGET (TARGETNAME, ATTRIBUTES?, FILEREF?)>
+ <!ELEMENT FRAMEWORKLIST (FRAMEWORK+)>
+ <!ELEMENT FRAMEWORK (FILEREF, DYNAMICLIBRARY?, VERSION?)>
+ <!ELEMENT PACKAGEACTIONSLIST (PACKAGEACTION+)>
+ <!ELEMENT PACKAGEACTION (#PCDATA)>
+ <!ELEMENT LIBRARYFILE (FILEREF)>
+ <!ELEMENT VERSION (#PCDATA)>
+ <!ELEMENT TARGETORDER (ORDEREDTARGET|ORDEREDDESIGN)*>
+ <!ELEMENT ORDEREDTARGET (NAME)>
+ <!ELEMENT ORDEREDDESIGN (NAME, ORDEREDTARGET+)>
+ <!ELEMENT GROUPLIST (GROUP|FILEREF)*>
+ <!ELEMENT GROUP (NAME, (GROUP|FILEREF)*)>
+ <!ELEMENT DESIGNLIST (DESIGN+)>
+ <!ELEMENT DESIGN (NAME, DESIGNDATA)>
+ <!ELEMENT DESIGNDATA (#PCDATA)>
+]>
+<?codewarrior exportversion="1.0.1" ideversion="5.0" ?>
+<PROJECT>
+ <TARGETLIST>
+ <TARGET>
+ <NAME>WINSCW UDEB</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\bwins</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\UDEB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb\epoc.exe</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>WINSCW UDEB</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>Symbian_OS.hrh</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE>__SYMBIAN32__,__S60_50__,__S60_3X__,__SERIES60_3X__,__CW32__,__WINS__,__WINSCW__,__DLL__,_DEBUG,_UNICODE,__SUPPORT_CPP_EXCEPTIONS__,</VALUE></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE>-wchar_t off -align 4 -warnings on -w nohidevirtual, nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -O0 -inline off -nostdinc</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>WINSCW UREL</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\bwins</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\UREL</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\WINSCW\UDEB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>CodeWarrior</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel\epoc.exe</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>WINSCW UREL</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\winscw\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>Symbian_OS.hrh</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE>__SYMBIAN32__,__S60_50__,__S60_3X__,__SERIES60_3X__,__CW32__,__WINS__,__WINSCW__,__DLL__,NDEBUG,_UNICODE,__SUPPORT_CPP_EXCEPTIONS__,</VALUE></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE>-wchar_t off -align 4 -warnings on -w nohidevirtual, nounusedexpr -msgstyle gcc -enum int -str pool -exc ms -trigraphs on -O4,s -nostdinc</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>ARM4 UREL</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\bmarm</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\UREL</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>ARM4 UREL</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>Symbian_OS.hrh</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE>-s -fomit-frame-pointer -O -march=armv4</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{00010000}.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EGCC.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARM4UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EGCC.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARM4UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>ARM4 UDEB</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\bmarm</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\UDEB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\ARM4\UREL</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>ARM4 UDEB</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\arm4\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>Symbian_OS.hrh</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>Metrowerks x86 Compiler</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE>-O -march=armv4</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{00010000}.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EGCC.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARM4UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EGCC.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARM4UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>ARMV5 UREL</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\eabi</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\UREL</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\ARMV5\LIB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\rvct2_2</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>ARMV5 UREL</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>rvct2_2.h</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>ARM RVCT2_2</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE> --diag_suppress 66,161,611,654,997,1152,1300,1464,1488,6318,6331 --diag_error 1267 --thumb --fpu softvfp --exceptions --exceptions_unwind -D__MARM_THUMB__ -D__MARM_INTERWORK__ --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --no_vfe --apcs /inter --dllimport_runtime -c -DNDEBUG -D_UNICODE -D__SYMBIAN32__ -D__S60_50__ -D__S60_3X__ -D__SERIES60_3X__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D__MARM_ARMV5__ -D__DLL__ -DNDEBUG -D_UNICODE -D__SUPPORT_CPP_EXCEPTIONS__ -D__PRODUCT_INCLUDE__=\"Symbian_OS.hrh\"</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{000a0000}.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>ARMV5 UDEB</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\eabi</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\UDEB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\ARMV5\LIB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\rvct2_2</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>ARMV5 UDEB</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>rvct2_2.h</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>ARM RVCT2_2</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE> --diag_suppress 66,161,611,654,997,1152,1300,1464,1488,6318,6331 --diag_error 1267 --thumb --fpu softvfp --exceptions --exceptions_unwind -D__MARM_THUMB__ -D__MARM_INTERWORK__ --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --no_vfe --apcs /inter --dllimport_runtime -c -D_DEBUG -D_UNICODE -D__SYMBIAN32__ -D__S60_50__ -D__S60_3X__ -D__SERIES60_3X__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D__MARM_ARMV5__ -D__DLL__ -D_DEBUG -D_UNICODE -D__SUPPORT_CPP_EXCEPTIONS__ -D__PRODUCT_INCLUDE__=\"Symbian_OS.hrh\"</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{000a0000}.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>ARMV5_ABIV1 UREL</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\eabi</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\UREL</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\ARMV5\LIB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\rvct2_2</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>ARMV5_ABIV1 UREL</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5_abiv1\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5_abiv1\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5_abiv1\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>rvct2_2.h</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>ARM RVCT2_2</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE> --diag_suppress 66,161,611,654,997,1152,1300,1464,1488,6318,6331 --diag_error 1267 --thumb --fpu softvfp --exceptions --exceptions_unwind -D__MARM_THUMB__ -D__MARM_INTERWORK__ --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --no_vfe --apcs /inter --dllimport_runtime -c -DNDEBUG -D_UNICODE -D__SYMBIAN32__ -D__S60_50__ -D__S60_3X__ -D__SERIES60_3X__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D__MARM_ARMV5__ -D__DLL__ -DNDEBUG -D_UNICODE -D__SUPPORT_CPP_EXCEPTIONS__ -D__PRODUCT_INCLUDE__=\"Symbian_OS.hrh\"</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{000a0000}.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5_ABIV1UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5_ABIV1UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>ARMV5_ABIV1 UDEB</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\eabi</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\UDEB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\ARMV5\LIB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\rvct2_2</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>ARMV5_ABIV1 UDEB</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5_abiv1\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5_abiv1\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5_abiv1\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>rvct2_2.h</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>ARM RVCT2_2</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE> --diag_suppress 66,161,611,654,997,1152,1300,1464,1488,6318,6331 --diag_error 1267 --thumb --fpu softvfp --exceptions --exceptions_unwind -D__MARM_THUMB__ -D__MARM_INTERWORK__ --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --no_vfe --apcs /inter --dllimport_runtime -c -D_DEBUG -D_UNICODE -D__SYMBIAN32__ -D__S60_50__ -D__S60_3X__ -D__SERIES60_3X__ -D__ARMCC__ -D__EPOC32__ -D__MARM__ -D__EABI__ -D__ARMCC_2__ -D__ARMCC_2_2__ -D__MARM_ARMV5__ -D__DLL__ -D_DEBUG -D_UNICODE -D__SUPPORT_CPP_EXCEPTIONS__ -D__PRODUCT_INCLUDE__=\"Symbian_OS.hrh\"</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{000a0000}.lib</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5_ABIV1UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5_ABIV1UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>GCCE UREL</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\eabi</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\UREL</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\ARMV5\LIB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\gcce</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>C:\Program Files\CSL Arm Toolchain\bin\..\lib\gcc\arm-none-symbianelf\3.4.3\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>GCCE UREL</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\gcce\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\gcce\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\gcce\urel</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>gcce.h</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>ARM GCCE</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE>-O2 -fno-unit-at-a-time -fexceptions -Wall -Wno-ctor-dtor-privacy -Wno-unknown-pragmas -march=armv5t -mapcs -mthumb-interwork -pipe -nostdinc -c -mthumb -msoft-float -D__MARM_THUMB__ -D__MARM_INTERWORK__ -DNDEBUG -D_UNICODE -D__GCCE__ -D__SYMBIAN32__ -D__S60_50__ -D__S60_3X__ -D__SERIES60_3X__ -D__GCCE__ -D__EPOC32__ -D__MARM__ -D__EABI__ -D__MARM_ARMV5__ -D__DLL__ -DNDEBUG -D_UNICODE -D__SUPPORT_CPP_EXCEPTIONS__ -D__MARM_ARMV5__ -D__PRODUCT_INCLUDE__=\"Symbian_OS.hrh\"</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{000a0000}.dso</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>usrt2_2.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>dfpaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>dfprvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>drtaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>scppnwdl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>drtrvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestGCCEUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>usrt2_2.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>dfpaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>dfprvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drtaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>scppnwdl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drtrvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestGCCEUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+ <NAME>GCCE UDEB</NAME>
+ <SETTINGLIST>
+
+ <!-- Settings for "Source Trees" panel -->
+ <SETTING><NAME>UserSourceTrees</NAME></SETTING>
+
+ <!-- Settings for "Access Paths" panel -->
+ <SETTING><NAME>AlwaysSearchUserPaths</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>InterpretDOSAndUnixPaths</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RequireFrameworkStyleIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SourceRelativeIncludes</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UserSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\inc</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\eabi</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\src</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+ <SETTING><NAME>SystemSearchPaths</NAME>
+ <SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\internal</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\armv5\UDEB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\release\ARMV5\LIB</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\gcce</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>epoc32\include\variant</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING><SETTING>
+<SETTING><NAME>SearchPath</NAME>
+<SETTING><NAME>Path</NAME><VALUE>C:\Program Files\CSL Arm Toolchain\bin\..\lib\gcc\arm-none-symbianelf\3.4.3\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+</SETTING><SETTING><NAME>Recursive</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>FrameworkPath</NAME><VALUE>false</VALUE></SETTING>
+<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
+</SETTING></SETTING>
+
+ <!-- Settings for "Debugger Runtime" panel -->
+ <SETTING><NAME>MWRuntimeSettings_WorkingDirectory</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_CommandLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>MWRuntimeSettings_HostApplication</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>MWRuntimeSettings_EnvVars</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Target Settings" panel -->
+ <SETTING><NAME>Linker</NAME><VALUE>Symbian Linker v2</VALUE></SETTING>
+ <SETTING><NAME>PreLinker</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PostLinker</NAME><VALUE>Symbian Installer v2</VALUE></SETTING>
+ <SETTING><NAME>Targetname</NAME><VALUE>GCCE UDEB</VALUE></SETTING>
+ <SETTING><NAME>OutputDirectory</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\gcce\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SaveEntriesUsingRelativePaths</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "File Mappings" panel -->
+ <SETTING><NAME>FileMappings</NAME>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>._ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.c</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cfg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cia</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cpp</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cwlink</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.cxx</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.def</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.h</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.hrh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.i</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.iby</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ii</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inf</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ini</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.inl</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.loc</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.mmpi</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pch++</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.pkg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.policy</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.ra</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.resources</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Resource v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>XML</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rh</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rls</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rss</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.rsg</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.s</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Compiler v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.script</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileType</NAME><VALUE>TEXT</VALUE></SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.txt</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE/></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE>C/C++</VALUE></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>true</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.a</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.lib</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.dso</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ <SETTING>
+ <SETTING><NAME>FileExtension</NAME><VALUE>.o</VALUE></SETTING>
+ <SETTING><NAME>Compiler</NAME><VALUE>Symbian Object Importer v2</VALUE></SETTING>
+ <SETTING><NAME>EditLanguage</NAME><VALUE/></SETTING>
+ <SETTING><NAME>Precompile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Launchable</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ResourceFile</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>IgnoredByMake</NAME><VALUE>false</VALUE></SETTING>
+ </SETTING>
+ </SETTING>
+
+ <!-- Settings for "Build Extras" panel -->
+ <SETTING><NAME>CacheModDates</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>DumpBrowserInfo</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSubprojects</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>UseThirdPartyDebugger</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>BrowserGenerator</NAME><VALUE>2</VALUE></SETTING>
+ <SETTING><NAME>DebuggerAppPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DebuggerCmdLineArgs</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DebuggerWorkingDir</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CodeCompletionPrefixFileName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeCompletionMacroFileName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Debugger Target" panel -->
+ <SETTING><NAME>ConsoleEncoding</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>LogSystemMessages</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>AutoTargetDLLsPopUp</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>StopAtWatchpoints</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>PauseWhileRunning</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>PauseInterval</NAME><VALUE>5</VALUE></SETTING>
+ <SETTING><NAME>PauseUIFlags</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>AltExePath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>StopAtTempBPOnLaunch</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CacheSymbolics</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>TempBPFunctionName</NAME><VALUE>E32Main</VALUE></SETTING>
+ <SETTING><NAME>TempBPType</NAME><VALUE>1</VALUE></SETTING>
+
+ <!-- Settings for "Remote Debug" panel -->
+ <SETTING><NAME>Enabled</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>ConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>DownloadPath</NAME><VALUE>C:\sys\bin\</VALUE></SETTING>
+ <SETTING><NAME>LaunchRemoteApp</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>RemoteAppPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CoreID</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>JTAGClockSpeed</NAME><VALUE>8000</VALUE></SETTING>
+ <SETTING><NAME>IsMultiCore</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>UseGlobalOSDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OSDownloadConnectionName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>OSDownloadPath</NAME><VALUE/></SETTING>
+ <SETTING><NAME>AltDownload</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>AltDownloadConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "x86 Exceptions" panel -->
+ <SETTING><NAME>MWDebugger_X86_Exceptions</NAME>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ <SETTING><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Auto-target" panel -->
+ <SETTING><NAME>OtherExecutables</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Analyzer Connections" panel -->
+ <SETTING><NAME>AnalyzerConnectionName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Custom Keywords" panel -->
+ <SETTING><NAME>CustomColor1</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor2</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor3</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>CustomColor4</NAME>
+ <SETTING><NAME>Red</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>Green</NAME><VALUE>32767</VALUE></SETTING>
+ <SETTING><NAME>Blue</NAME><VALUE>0</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>BraekPoinType_II</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>IDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>IDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDexecutable</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDinitialized</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>SDuninitialized</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>SDconstant</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>VerifyMemWrites</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ShowMPC107regs</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME><VALUE/></SETTING>
+ <SETTING><NAME>BreakpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>WatchpointType</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+ <SETTING><NAME>ByteOrderType</NAME><VALUE>0</VALUE></SETTING>
+ <PANELDATA><NAME>CodeTest SYMBIAN Instrumenter</NAME><VALUE>
+ 0200020000000100000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000433A5C0000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000637466696C657300000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000636F6465746573742E6964620000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000
+ </VALUE></PANELDATA>
+
+ <!-- Settings for "Symbian Installation" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\gcce\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Installer Panel v2" panel -->
+ <SETTING><NAME>SymbianInstallationOutputFilename</NAME><VALUE>Application.sis</VALUE></SETTING>
+ <SETTING><NAME>SymbianInstallationOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Project</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>SymbianInstallationContentSearchLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\release\gcce\udeb</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianInstallationPassword</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianInstallationCreateStubFile</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Resource Panel" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Resources Panel v2" panel -->
+ <SETTING><NAME>SymbianResourcesMMPFileLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>50psdk\send_ui_api\group</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesBinaryOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\data</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+ <SETTING><NAME>SymbianResourcesHeaderFileOutputLocation</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>epoc32\include</VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Remote Download" panel -->
+ <SETTING><NAME>FileList</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian ARM Debugger" panel -->
+ <SETTING><NAME>Processor</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>UseInitFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>UseConfigFile</NAME><VALUE>0</VALUE></SETTING>
+ <SETTING><NAME>ResetTarget</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>InitializationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>ConfigurationFile</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Generic</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>TargetOS</NAME><VALUE>1</VALUE></SETTING>
+ <SETTING><NAME>RTOSPluginName</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Common Panel" panel -->
+ <SETTING><NAME>ShowCommandLine</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SymbianEpocToolsPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE></VALUE></SETTING>
+<SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+<SETTING><NAME>PathRoot</NAME><VALUE>s60 S60_5th_Edition_SDK_v0.9</VALUE></SETTING>
+</SETTING>
+
+ <!-- Settings for "Symbian Compiler Panel" panel -->
+ <SETTING><NAME>PrefixFile</NAME><VALUE>gcce.h</VALUE></SETTING>
+ <SETTING><NAME>CompilerXMLDescriptor</NAME><VALUE>ARM GCCE</VALUE></SETTING>
+ <SETTING><NAME>Macros</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CodeTEST</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>EnableSWIC</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Arguments</NAME><VALUE> -fexceptions -Wall -Wno-ctor-dtor-privacy -Wno-unknown-pragmas -march=armv5t -mapcs -mthumb-interwork -pipe -nostdinc -c -mthumb -msoft-float -D__MARM_THUMB__ -D__MARM_INTERWORK__ -D_DEBUG -D_UNICODE -D__GCCE__ -D__SYMBIAN32__ -D__S60_50__ -D__S60_3X__ -D__SERIES60_3X__ -D__GCCE__ -D__EPOC32__ -D__MARM__ -D__EABI__ -D__MARM_ARMV5__ -D__DLL__ -D_DEBUG -D_UNICODE -D__SUPPORT_CPP_EXCEPTIONS__ -D__MARM_ARMV5__ -D__PRODUCT_INCLUDE__=\"Symbian_OS.hrh\"</VALUE></SETTING>
+ <SETTING><NAME>CIAArgs</NAME><VALUE/></SETTING>
+
+ <!-- Settings for "Symbian Debugging" panel -->
+ <SETTING><NAME>Parse Log File</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log File Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Symbian SDK Folder</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Log Unresolved Modules</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Log Unresolved Sym Files</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Non-XIP Executables</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Kernel Debugging" panel -->
+ <SETTING><NAME>Start Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Run From Start Address</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Download Image</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>OS Image Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Download Address</NAME><VALUE>0x00000000</VALUE></SETTING>
+ <SETTING><NAME>Ask First</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Debug Bootrom</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>Bootrom Sym File</NAME>
+ <SETTING><NAME>Path</NAME><VALUE/></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Linker Panel" panel -->
+ <SETTING><NAME>LinkOutputFile</NAME><VALUE>SendUIAPITest.dll</VALUE></SETTING>
+ <SETTING><NAME>LinkCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibrary</NAME><VALUE>SendUIAPITest{000a0000}.dso</VALUE></SETTING>
+ <SETTING><NAME>canDebug</NAME><VALUE>true</VALUE></SETTING>
+ <SETTING><NAME>canRun</NAME><VALUE>false</VALUE></SETTING>
+
+ <!-- Settings for "Symbian RomBuild Panel" panel -->
+ <SETTING><NAME>CommandLine</NAME><VALUE>buildrom -D_DEBUG devkit lubbock techview -olubbock_gui.img</VALUE></SETTING>
+ <SETTING><NAME>OutputPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>DisplayMessages</NAME><VALUE>true</VALUE></SETTING>
+
+ <!-- Settings for "Symbian Target" panel -->
+ <SETTING><NAME>TargetArchitecture</NAME><VALUE>WINSCW</VALUE></SETTING>
+ <SETTING><NAME>LogMessages</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>SuppressWarnings</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>GenerateSymbolics</NAME><VALUE>false</VALUE></SETTING>
+ <SETTING><NAME>CompilerPrefix</NAME><VALUE/></SETTING>
+ <SETTING><NAME>CompilerCmdLine</NAME><VALUE/></SETTING>
+ <SETTING><NAME>SymbianImportLibraryPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+
+ <!-- Settings for "Symbian Tools" panel -->
+ <SETTING><NAME>Gnu Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Epoc32 Tools Path</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>C:\</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>Windows</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ </SETTINGLIST>
+ <FILELIST>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>euser.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>cone.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>ecom.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>bafl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>eikcore.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>etext.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>efsrv.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>estor.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>usrt2_2.lib</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>dfpaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>dfprvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>drtaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>scppnwdl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>drtrvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Library</FILEKIND><FILEFLAGS>Debug</FILEFLAGS></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestGCCEUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+</FILELIST>
+ <LINKORDER>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>euser.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>cone.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>ecom.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>bafl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>eikcore.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>etext.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>efsrv.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>estor.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>usrt2_2.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>dfpaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>dfprvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drtaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>scppnwdl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>drtrvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestGCCEUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</LINKORDER>
+ </TARGET><TARGET>
+<NAME>Build All</NAME><SETTINGLIST><SETTING><NAME>Linker</NAME><VALUE>None</VALUE></SETTING>
+<SETTING><NAME>Targetname</NAME><VALUE>Build All</VALUE></SETTING>
+</SETTINGLIST>
+<FILELIST></FILELIST>
+<LINKORDER></LINKORDER>
+<SUBTARGETLIST><SUBTARGET><TARGETNAME>WINSCW UDEB</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>WINSCW UREL</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>ARM4 UDEB</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>ARM4 UREL</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>ARMV5 UDEB</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>ARMV5 UREL</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>ARMV5_ABIV1 UDEB</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>GCCE UDEB</TARGETNAME></SUBTARGET>
+<SUBTARGET><TARGETNAME>GCCE UREL</TARGETNAME></SUBTARGET>
+</SUBTARGETLIST></TARGET></TARGETLIST>
+
+ <TARGETORDER>
+<ORDEREDTARGET><NAME>WINSCW UDEB</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>WINSCW UREL</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>ARM4 UDEB</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>ARM4 UREL</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>ARMV5 UDEB</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>ARMV5 UREL</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>ARMV5_ABIV1 UDEB</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>ARMV5_ABIV1 UREL</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>GCCE UDEB</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>GCCE UREL</NAME></ORDEREDTARGET>
+<ORDEREDTARGET><NAME>Build All</NAME></ORDEREDTARGET>
+</TARGETORDER>
+
+ <GROUPLIST><FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.mmp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<GROUP><NAME>Source</NAME>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestBlocks.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest_UID_.cpp</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestu.def</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+<GROUP><NAME>Headers</NAME>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITest.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+<GROUP><NAME>Link</NAME>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestWINSCWUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestWINSCWUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARM4UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARM4UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5_ABIV1UREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestARMV5_ABIV1UDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestGCCEUREL.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SendUIAPITestGCCEUDEB.cwlink</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+<GROUP><NAME>Libraries</NAME>
+<GROUP><NAME>WINSCW</NAME>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+<GROUP><NAME>ARM4</NAME>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EGCC.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARM4 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EGCC.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+<GROUP><NAME>ARMV5</NAME>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+<GROUP><NAME>ARMV5_ABIV1</NAME>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>euser.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>cone.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>ecom.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>bafl.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>eikcore.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>etext.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>efsrv.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>estor.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>ARMV5_ABIV1 UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+<GROUP><NAME>GCCE</NAME>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>euser.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestinterface.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>stiftestengine.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>SENDUI.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>cone.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>ecom.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>bafl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>eikcore.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>etext.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>efsrv.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>estor.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>usrt2_2.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>dfpaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>dfprvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>drtaeabi.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>scppnwdl.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>drtrvct2_2.dso</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UREL</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLL.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>usrt2_2.lib</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>GCCE UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>EDLLSTUB.LIB</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+</GROUP>
+</GROUP>
+</GROUPLIST>
+
+</PROJECT>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/TestFramework.ini Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,200 @@
+#
+# 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'.
+# + XML, Test report will be xml type, for example 'TestReport.xml'.
+# Note, that xml format is available only when output is set to FILE.
+#
+# - 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= TestReport
+
+TestReportFormat= TXT # Possible values: TXT, HTML or XML
+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
+SeparateProcesses= YES # Possible values: YES or NO (default: NO)
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# 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_SendUIAPITest.cfg
+[End_Module]
+
+
+# Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= c:\testframework\init.txt
+
+#TestModuleXXX 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
+#AddTestCaseTitle= YES # Possible values: YES or NO
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2002-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: Bld.inf
+*
+*/
+
+
+
+
+
+
+
+
+
+#include<bc_plat.h>
+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
+*/
+sendui_c.bat /epoc32/winscw/c/sendui_c.bat
+sendui_z.bat /epoc32/winscw/c/sendui_z.bat
+testframework.ini /epoc32/winscw/c/testframework/TestFramework_sendui.ini
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+32_ui_SendUIAPITest.cfg /epoc32/winscw/c/testframework/ui_SendUIAPITest.cfg
+#else
+30_ui_SendUIAPITest.cfg /epoc32/winscw/c/testframework/ui_SendUIAPITest.cfg
+#endif
+
+
+../Data/MMC/SendUIAPITest/Attachment.txt /epoc32/winscw/c/Data/TestData/SendUIAPITest/Attachment.txt
+
+PRJ_TESTMMPFILES
+// NOTE: If using ARS requirements .mmp file operation should be done under this.
+// 'abld test build'
+
+PRJ_MMPFILES
+// 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
+*/
+SendUIAPITest.mmp
+
+// End of File
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/sendui_c.bat Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,22 @@
+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: sendui_c.batrem
+
+copy C:\TestFramework\TestFramework_sendui.ini C:\TestFramework\TestFramework.ini
+md e:\BCTest
+md e:\BCTest\Results
+
+ATSINTERFACE.EXE -testmodule testscripter -config C:\TestFramework\ui_SendUIAPITest.cfg
+copy c:\Logs\TestFramework\TestReport.txt e:\BCTest\results\Messaging_SendUI.txt
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/group/sendui_z.bat Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,24 @@
+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: sendui_z.batrem
+
+copy z:\TestFramework\TestFramework_sendui.ini C:\TestFramework\TestFramework.ini
+md e:\BCTest
+md e:\BCTest\Results
+
+ATSINTERFACE.EXE -testmodule testcombiner -config C:\TestFramework\ui_SendUIAPITest.cfg
+copy c:\Logs\TestFramework\TestReport.txt e:\BCTest\results\Messaging_SendUI.txt
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/inc/SendUIAPITest.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,518 @@
+/*
+* Copyright (c) 2002-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: SendUIAPITest declaration
+
+*
+*/
+
+
+
+
+
+
+
+
+
+
+#ifndef SENDUIAPITEST_H
+#define SENDUIAPITEST_H
+
+// INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+#include <CMessageData.h>
+
+#include <bc_plat.h>
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+
+// MACROS
+//#define ?macro ?macro_def
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+#define TEST_CLASS_VERSION_MAJOR 32
+#else if
+#define TEST_CLASS_VERSION_MAJOR 30
+#endif
+
+#define TEST_CLASS_VERSION_MINOR 9
+#define TEST_CLASS_VERSION_BUILD 6
+
+// Logging path
+_LIT( KSendUIAPITestLogPath, "\\logs\\testframework\\SendUIAPITest\\" );
+// Log file
+_LIT( KSendUIAPITestLogFile, "SendUIAPITest.txt" );
+_LIT( KSendUIAPITestLogFileWithTitle, "SendUIAPITest_[%S].txt" );
+
+// FUNCTION PROTOTYPES
+//?type ?function_name(?arg_list);
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+class CMessageAddress;
+class CMessageData;
+class CSendUIAPITest;
+class CSendingServiceInfo;
+
+// DATA TYPES
+//enum ?declaration
+//typedef ?declaration
+//extern ?data_type;
+
+// CLASS DECLARATION
+
+
+/**
+* CSendUIAPITest test class for STIF Test Framework TestScripter.
+* ?other_description_lines
+*
+* @lib ?library
+* @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CSendUIAPITest) : public CScriptBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CSendUIAPITest* NewL( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendUIAPITest();
+
+ public: // New functions
+
+ /**
+ * ?Function to create CMessageData object
+ * @since ?Series60_version
+ * @param ?void ?no input param
+ * @CMessageData* ?CMessageData pointer object
+ */
+ CMessageData* InitL(void);
+
+
+ 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.
+ */
+ CSendUIAPITest( 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.
+ */
+
+ /**
+ * Example test method.
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt ExampleL( CStifItemParser& aItem );
+
+ /**
+ * Method used to log version of test class
+ */
+ void SendTestClassVersion();
+
+ /**
+ * Method used to call SetSubjectL of CMessageData
+ */
+ virtual TInt MsgDataSetSubjectL( TPtrC& aSubject );
+
+ /**
+ * Method used to call SubjectL of CMessageData and Compare
+ */
+ virtual TInt MsgDataCompSubjectL( TPtrC& aSubject );
+
+ /**
+ * Test Case for Calling CMessageData's NewL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+
+ virtual TInt TestMessageDataNewL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's SetSubjectL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataSetSubjectL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's Subject fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataSubjectL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendAttachmentL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendAttachmentL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AttachmentArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAttachmentArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ClearAttachmentArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataClearAttachmentArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendToAddressL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendToAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ToAddressArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataToAddressArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendCcAddressL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendCcAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's CcAddressArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataCcAddressArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendBccAddressL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendBccAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's BccAddressArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataBccAddressArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's SetBodyTextL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataSetBodyTextL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's BodyText fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataBodyTextL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendAttachmentHandleL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestAppendAttachmentHandleL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AttachmentHandleArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestAttachmentHandleArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's DataType fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestDataTypeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ClearAddresses fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt ClearAddressesL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ExternalizeL and InternalizeL funs
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestExternalizeLnInternalizeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ExternalizeL fun
+ * @since ?Series60_version
+ * @param void
+ * @return Symbian OS error code.
+ */
+ virtual TInt ExternalizeL( void );
+
+ /**
+ * Test Case for Calling CMessageData's InternalizeL fun
+ * @since ?Series60_version
+ * @param void
+ * @return Symbian OS error code.
+ */
+ virtual TInt InternalizeL( void );
+
+
+
+ /**
+ * Test Case for Calling CMessageData's SetOpaqueDataL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestSetOpaqueDataL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's OpaqueDataL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestOpaqueDataL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's NewL Construction
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCMessageAddressNewL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's SetAddressL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsSetAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's Address
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsAddress( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's SetAliasL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsSetAliasL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's AliasL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsAlias( CStifItemParser& aItem );
+
+
+ /**
+ * Test Case for Calling TSendingCapabilities functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestTSendingCapabilities( CStifItemParser& aItem );
+
+
+ /**
+ * Test Case for Calling CMessageAddress's ExternalizeL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsExternalizeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's InternalizeL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsInternalizeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's CopyLC functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCopyLC( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's SetTechnologyTypeId functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestSetTechnologyTypeIdL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's ServiceID functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestServiceIDL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's ServiceProviderID functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestServiceProviderIDL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's ServiceCapabilities functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestServiceCapabilitiesL( CStifItemParser& aItem );
+
+ //ADD NEW METHOD DEC HERE
+ //[TestMethods] - Do not remove
+
+ public: // Data
+ // ?one_line_short_description_of_data
+ //?data_declaration;
+
+ protected: // Data
+ // ?one_line_short_description_of_data
+ //?data_declaration;
+
+ private: // Data
+ //CMessageData memeber variable
+ CMessageData* iMessageData;
+ //Buffer to read and write from stream
+ CBufBase* ibuffer;
+ //CMessageAddress variable
+ CMessageAddress* iMessageAddress;
+ //Buffer to read and write from stream
+ CBufBase* iMsgAdrbuffer;
+ //?data_declaration;
+
+ // 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 // SendUIAPITest_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/sis/50_msg_sendui.pkg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,36 @@
+;
+; 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: 50_msg_sendui.pkg;
+&EN
+
+; Installation header
+; Only one component name as we only support English
+; UID is the main app's UID
+
+#{"msg_sendui"},(0x200184B4),1,0,0,TYPE=SA
+[0x101F7961],3,*,*,{"Series60ProductID"}
+
+; Non-localised vendor name
+:"Nokia Corporation"
+
+; Localised vendor names
+%{"Nokia Corporation"}
+
+;Files to install
+;
+"\epoc32\release\armv5\urel\SendUIAPITest.dll"-"C:\sys\bin\SendUIAPITest.dll"
+"\Epoc32\winscw\c\testframework\ui_SendUIAPITest.cfg"-"C:\TestFramework\ui_SendUIAPITest.cfg"
+"\Epoc32\winscw\c\testframework\TestFramework_sendui.ini"-"C:\TestFramework\TestFramework_sendui.ini"
+"..\Data\MMC\SendUIAPITest\Attachment.txt"-"e:\testing\data\SendUIAPITest\Attachment.txt"
+"..\group\sendui_c.bat"-"!:\sendui.bat"
Binary file messagingfw/deprecate/send_ui_api/tsrc/bc/sis/50_msg_sendui.sis has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/src/SendUIAPITest.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,277 @@
+/*
+* Copyright (c) 2002-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: SendUIAPITest implementation
+
+*
+*/
+
+
+
+
+
+
+
+
+
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "SendUIAPITest.h"
+#include <SettingServerClient.h>
+
+// 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 ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::CSendUIAPITest
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUIAPITest::CSendUIAPITest(
+ CTestModuleIf& aTestModuleIf ):
+ CScriptBase( aTestModuleIf ),
+ iMessageData( NULL ),
+ iMessageAddress( NULL )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUIAPITest::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(KSendUIAPITestLogFileWithTitle, &title);
+ }
+ else
+ {
+ logFileName.Copy(KSendUIAPITestLogFile);
+ }
+
+ iLog = CStifLogger::NewL( KSendUIAPITestLogPath,
+ logFileName,
+ CStifLogger::ETxt,
+ CStifLogger::EFile,
+ EFalse );
+
+
+ SendTestClassVersion();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendUIAPITest* CSendUIAPITest::NewL(
+ CTestModuleIf& aTestModuleIf )
+ {
+ CSendUIAPITest* self = new (ELeave) CSendUIAPITest( aTestModuleIf );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ return self;
+
+ }
+
+// Destructor
+CSendUIAPITest::~CSendUIAPITest()
+ {
+
+ // Delete resources allocated from test methods
+ Delete();
+
+ // Delete logger
+ delete iLog;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?MsgDataSetSubjectL
+// ?Test Case for Calling CMessageData's SetSubjectL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::MsgDataSetSubjectL( TPtrC& aSubject )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KMsgDataSetSubjectL, "In MsgDataSetSubjectL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KMsgDataSetSubjectL );
+ // Print to log file
+ iLog->Log( KMsgDataSetSubjectL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Set the subject
+ TRAPD(err,messagedata->SetSubjectL(&aSubject));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+
+ else
+ {
+ return err;
+ }
+
+ }
+
+ // -----------------------------------------------------------------------------
+// CSendUIAPITest::?MsgDataCompSubjectL
+// ?Test Case for Calling CMessageData's Subject fun and comparing it with passed param
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::MsgDataCompSubjectL( TPtrC& aSubject )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KMsgDataCompSubjectL, "In MsgDataCompSubjectL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KMsgDataCompSubjectL );
+ // Print to log file
+ iLog->Log( KMsgDataCompSubjectL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the subject from message data
+ TPtrC msgdatasubject = messagedata->Subject();
+
+ //Compare the two subjects
+ if(msgdatasubject == aSubject)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+//-----------------------------------------------------------------------------
+// CSendUIAPITest::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CSendUIAPITest::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("SendUIAPITest.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* ) CSendUIAPITest::NewL( aTestModuleIf );
+
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bc/src/SendUIAPITestBlocks.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,1595 @@
+/*
+* Copyright (c) 2002-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: SendUIAPITestBlocks implementation
+
+*
+*/
+
+
+
+
+
+
+
+
+
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include "SendUIAPITest.h"
+#include <SendUi.h>
+#include <EIKENV.H>
+#include <CMessageData.h>
+#include <CMessageAddress.h>
+#include <TSendingCapabilities.h>
+#include <TXTRICH.H>
+#include <EIKDEF.H>
+#include <eikmobs.h>
+#include <f32file.h>
+#include <S32MEM.H>
+#include <CSendingServiceInfo.h>
+#include <SendUiConsts.h>
+
+
+// EXTERNAL DATA STRUCTURES
+//extern ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+_LIT( KTestText, "TestText1234567910");
+const TInt KMessageBufferSize = 4 * sizeof(TUint32);
+const TInt KFilePathSize = 256;
+const TUid KServideId = {0x10005522};
+
+
+// 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
+// -----------------------------------------------------------------------------
+//
+CMessageData* CSendUIAPITest::InitL(
+ )
+ {
+ if(!iMessageData)
+ {
+ iMessageData = CMessageData::NewL();
+ }
+ return iMessageData;
+ }
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CSendUIAPITest::Delete()
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KDelete, "In Delete" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KDelete );
+ // Print to log file
+ iLog->Log( KDelete );
+
+ if(iMessageData)
+ {
+ // Delete Message Data Object
+ _LIT( KDeleteObj, "Delete CMessageData Object" );
+ iLog->Log( KDeleteObj );
+ delete iMessageData;
+ iMessageData = NULL;
+ }
+ if(iMessageAddress)
+ {
+ // Print to log file
+ _LIT( KDeleteMsgAdrObj, "Delete CMessageAddress Object" );
+ iLog->Log( KDeleteMsgAdrObj );
+ delete iMessageAddress;
+ iMessageAddress = NULL;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CSendUIAPITest::RunMethodL(
+ CStifItemParser& aItem )
+ {
+
+ static TStifFunctionInfo const KFunctions[] =
+ {
+ // Copy this line for every implemented function.
+ // First string is the function name used in TestScripter script file.
+ // Second is the actual implementation member function.
+ //ENTRY( "Example", CSendUIAPITest::ExampleL ),
+ //CMessageData
+ ENTRY( "MessageDataNewL", CSendUIAPITest::TestMessageDataNewL ),
+ ENTRY( "MessageDataSetSubjectL", CSendUIAPITest::TestMessageDataSetSubjectL ),
+ ENTRY( "MessageDataSubject", CSendUIAPITest::TestMessageDataSubjectL ),
+ ENTRY( "MessageDataAppendAttachmentL", CSendUIAPITest::TestMessageDataAppendAttachmentL ),
+ ENTRY( "MessageDataAttachmentArray", CSendUIAPITest::TestMessageDataAttachmentArrayL ),
+ ENTRY( "MessageDataClearAttachmentArray", CSendUIAPITest::TestMessageDataClearAttachmentArrayL ),
+ ENTRY( "MessageDataAppendToAddressL", CSendUIAPITest::TestMessageDataAppendToAddressL ),
+ ENTRY( "MessageDataToAddressArray", CSendUIAPITest::TestMessageDataToAddressArrayL ),
+ ENTRY( "MessageDataAppendCcAddressL", CSendUIAPITest::TestMessageDataAppendCcAddressL ),
+ ENTRY( "MessageDataCcAddressArray", CSendUIAPITest::TestMessageDataCcAddressArrayL ),
+ ENTRY( "MessageDataAppendBccAddressL", CSendUIAPITest::TestMessageDataAppendBccAddressL ),
+ ENTRY( "MessageDataBccAddressArray", CSendUIAPITest::TestMessageDataBccAddressArrayL ),
+ ENTRY( "MessageDataSetBodyTextL", CSendUIAPITest::TestMessageDataSetBodyTextL ),
+ ENTRY( "MessageDataBodyText", CSendUIAPITest::TestMessageDataBodyTextL ),
+ ENTRY( "MessageDataAppendAttachmentHandleL", CSendUIAPITest::TestAppendAttachmentHandleL ),
+ ENTRY( "MessageDataAttachmentHandleArray", CSendUIAPITest::TestAttachmentHandleArrayL ),
+ ENTRY( "MessageDataDataType", CSendUIAPITest::TestDataTypeL ),
+ ENTRY( "MessageDataClearAddresses", CSendUIAPITest::ClearAddressesL ),
+ ENTRY( "MessageDataExternalizeLnInternalizeL", CSendUIAPITest::TestExternalizeLnInternalizeL ),
+ //CMessageAddress
+ ENTRY( "MessageAddressNewL", CSendUIAPITest::TestCMessageAddressNewL ),
+ ENTRY( "MessageAddressSetAddressL", CSendUIAPITest::TestMsgAdrsSetAddressL ),
+ ENTRY( "MessageAddressAddress", CSendUIAPITest::TestMsgAdrsAddress ),
+ ENTRY( "MessageAddressSetAliasL", CSendUIAPITest::TestMsgAdrsSetAliasL ),
+ ENTRY( "MessageAddressAlias", CSendUIAPITest::TestMsgAdrsAlias ),
+
+ ENTRY( "MessageAddressExternalizeL", CSendUIAPITest::TestMsgAdrsExternalizeL ),
+ ENTRY( "MessageAddressInternalizeL", CSendUIAPITest::TestMsgAdrsInternalizeL ),
+ ENTRY( "MessageDataSetOpaqueDataL", CSendUIAPITest::TestSetOpaqueDataL ),
+ ENTRY( "MessageDataOpaqueDataL", CSendUIAPITest::TestOpaqueDataL ),
+ ENTRY( "SendingServiceInfoCopyLC", CSendUIAPITest::TestCopyLC ),
+ ENTRY( "SendingServiceInfoSetTechnologyTypeId", CSendUIAPITest::TestSetTechnologyTypeIdL ),
+
+ //TSendingCapabilities
+ ENTRY( "TSendingCapabilities", CSendUIAPITest::TestTSendingCapabilities ),
+ //CSendingServiceInfo
+ ENTRY( "SendingServiceInfoServiceID", CSendUIAPITest::TestServiceIDL ),
+ ENTRY( "SendingServiceInfoServiceProviderID", CSendUIAPITest::TestServiceProviderIDL ),
+ ENTRY( "SendingServiceInfoServiceCapabilities", CSendUIAPITest::TestServiceCapabilitiesL ),
+ //ADD NEW ENTRY HERE
+ // [test cases entries] - Do not remove
+
+ };
+
+ const TInt count = sizeof( KFunctions ) /
+ sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::ExampleL
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CSendUIAPITest::ExampleL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KExample, "In Example" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KExample );
+ // Print to log file
+ iLog->Log( KExample );
+
+ TInt i = 0;
+ TPtrC string;
+ _LIT( KParam, "Param[%i]: %S" );
+ while ( aItem.GetNextString ( string ) == KErrNone )
+ {
+ TestModuleIf().Printf( i, KSendUIAPITest,
+ KParam, i, &string );
+ i++;
+ }
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataNewL
+// ?Test Case for Calling CMessageData's NewL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataNewL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KNewL, "In NewL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KNewL );
+ // Print to log file
+ iLog->Log( KNewL);
+
+ //Create the object of CSendUIAPITest
+ CMessageData* messagedata = InitL();
+ //Check the instance of CMessageData
+ if(messagedata)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataSetSubjectL
+// ?Test Case for Calling CMessageData's SetSubjectL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataSetSubjectL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSetSubjectL, "In SetSubjectL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSetSubjectL );
+ // Print to log file
+ iLog->Log( KSetSubjectL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TPtrC subject;
+ //Get the subject from cfg file
+ aItem.GetNextString(subject);
+ //Set the subject
+ TRAPD(err,messagedata->SetSubjectL(&subject));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataSubjectL
+// ?Test Case for Calling CMessageData's Subject fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataSubjectL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSubject, "In Subject" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSubject );
+ // Print to log file
+ iLog->Log( KSubject);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the subject from message data
+ TPtrC msgdatasubject = messagedata->Subject();
+
+ TPtrC msgsubject;
+ //Get the subject from cfg file
+ aItem.GetNextString(msgsubject);
+ //Compare the two subjects
+ if(msgdatasubject == msgsubject)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendAttachmentL
+// ?Test Case for Calling CMessageData's AppendAttachmentL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendAttachmentL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendAttachmentL, "In AppendAttachmentL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendAttachmentL );
+ // Print to log file
+ iLog->Log( KAppendAttachmentL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TPtrC filepath;
+ //Get the file path from cfg file
+ aItem.GetNextString(filepath);
+ TDesC filepathdesc(filepath);
+
+ //Append the file path in message data
+ TRAPD(err,messagedata->AppendAttachmentL(filepath));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+
+ else
+ {
+ return err;
+ }
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAttachmentArrayL
+// ?Test Case for Calling CMessageData's AttachmentArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAttachmentArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAttachmentArray, "In AttachmentArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAttachmentArray );
+ // Print to log file
+ iLog->Log( KAttachmentArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the Array of attachment file paths and check the count
+ TInt count = messagedata->AttachmentArray().Count();
+ if(count > 0)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataClearAttachmentArrayL
+// ?Test Case for Calling CMessageData's ClearAttachmentArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataClearAttachmentArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KClearAttachmentArray, "In ClearAttachmentArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KClearAttachmentArray );
+ // Print to log file
+ iLog->Log( KClearAttachmentArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Clears the array of attachment file paths
+ messagedata->ClearAttachmentArray();
+
+ TInt attacharraycount;
+ //Get the attachment arry count from cfg file
+ aItem.GetNextInt(attacharraycount);
+ //Compare the two counts
+ if(attacharraycount == messagedata->AttachmentArray().Count())
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendToAddressL
+// ?Test Case for Calling CMessageData's AppendToAddressL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendToAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendToAddressL, "In AppendToAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendToAddressL );
+ // Print to log file
+ iLog->Log( KAppendToAddressL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the address from cfg file to append
+ TPtrC addressone;
+ aItem.GetNextString(addressone);
+
+ TPtrC aliasone;
+ aItem.GetNextString(aliasone);
+
+ //Append the address to array
+ TRAPD(err, messagedata->AppendToAddressL( addressone, aliasone ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataToAddressArrayL
+// ?Test Case for Calling CMessageData's ToAddressArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataToAddressArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KToAddressArray, "In ToAddressArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KToAddressArray );
+ // Print to log file
+ iLog->Log( KToAddressArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TInt addresscount;
+ aItem.GetNextInt(addresscount);
+
+ //Get array of addresses and aliases and compare the count
+ if(addresscount == messagedata->ToAddressArray().Count() )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendCcAddressL
+// ?Test Case for Calling CMessageData's AppendCcAddressL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendCcAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendCcAddressL, "In AppendCcAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendCcAddressL );
+ // Print to log file
+ iLog->Log( KAppendCcAddressL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the two ccaddresses from cfg file
+ TPtrC ccaddressone;
+ aItem.GetNextString(ccaddressone);
+
+ TPtrC ccaliasone;
+ aItem.GetNextString(ccaliasone);
+
+ //Append the CC addresses in message data
+ TRAPD(err , messagedata->AppendCcAddressL( ccaddressone, ccaliasone ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataCcAddressArrayL
+// ?Test Case for Calling CMessageData's CcAddressArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataCcAddressArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KCcAddressArray, "In CcAddressArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCcAddressArray );
+ // Print to log file
+ iLog->Log( KCcAddressArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the count of cc address from cfg file
+ TInt ccaddresscount;
+ aItem.GetNextInt(ccaddresscount);
+
+ //Get the CC address count from message data and compare
+ if(ccaddresscount == messagedata->CcAddressArray().Count())
+ {
+ return KErrNone;
+ }
+
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendBccAddressL
+// ?Test Case for Calling CMessageData's AppendBccAddressL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendBccAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendBccAddressL, "In AppendBccAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendBccAddressL );
+ // Print to log file
+ iLog->Log( KAppendBccAddressL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the two bccaddresses from cfg file
+ TPtrC bccaddressone;
+ aItem.GetNextString(bccaddressone);
+
+ TPtrC bccaliasone;
+ aItem.GetNextString(bccaliasone);
+
+ //Append the BCC addresses to message data
+ TRAPD(err , messagedata->AppendBccAddressL( bccaddressone, bccaliasone ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataBccAddressArrayL
+// ?Test Case for Calling CMessageData's BccAddressArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataBccAddressArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KBccAddressArray, "In BccAddressArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KBccAddressArray );
+ // Print to log file
+ iLog->Log( KBccAddressArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the appended cc address count from cfg file
+ TInt ccaddresscount;
+ aItem.GetNextInt(ccaddresscount);
+
+ //Get the cc address count from message data and compare
+ if(ccaddresscount == messagedata->BccAddressArray().Count())
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataSetBodyTextL
+// ?Test Case for Calling CMessageData's SetBodyTextL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataSetBodyTextL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSetBodyTextL, "In SetBodyTextL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSetBodyTextL );
+ // Print to log file
+ iLog->Log( KSetBodyTextL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the Message body from cfg file
+ TPtrC messagesubject;
+ aItem.GetNextString(messagesubject);
+
+ CEikonEnv* eikonEnv = CEikonEnv::Static();
+ //Create the rich text object
+ CRichText* bodyText = CRichText::NewL( eikonEnv->SystemParaFormatLayerL(),
+ eikonEnv->SystemCharFormatLayerL() );
+ CleanupStack::PushL( bodyText );
+ //Insert the text from cfg file to message body
+ bodyText->InsertL( 0,messagesubject);
+
+ TRAPD(err, messagedata->SetBodyTextL(bodyText));
+ if(err == KErrNone)
+ {
+ CleanupStack::PopAndDestroy( bodyText );
+ return KErrNone;
+ }
+ else
+ {
+ CleanupStack::PopAndDestroy( bodyText );
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataBodyTextL
+// ?Test Case for Calling CMessageData's BodyText fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataBodyTextL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KBodyText, "In BodyText" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KBodyText );
+ // Print to log file
+ iLog->Log( KBodyText);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the MessageBody text length
+ TInt msgbodylen = messagedata->BodyText()->DocumentLength();
+ TInt len;
+ aItem.GetNextInt(len);
+ //If the length passed from cfg file and and Body text length same
+ if(len == msgbodylen)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestAppendAttachmentHandleL
+// ?Test Case for Calling CMessageData's AppendAttachmentHandleL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestAppendAttachmentHandleL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendAttachmentHandleL, "In AppendAttachmentHandleL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendAttachmentHandleL );
+ // Print to log file
+ iLog->Log( KAppendAttachmentHandleL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ fs.ShareProtected();
+ RFile file;
+ //Get the attachment from cfg file
+ TPtrC attachfile;
+ aItem.GetNextString(attachfile);
+ TDesC attachfiledesc(attachfile);
+
+ #ifdef __WINSCW__
+ _LIT( KTestFilePath, "c:\\Data\\TestData\\SendUIAPITest\\%S" );
+ #else
+ _LIT( KTestFilePath, "e:\\testing\\data\\SendUIAPITest\\%S" );
+ #endif
+
+ TBuf16<KFilePathSize> fileName;
+ fileName.Format( KTestFilePath, &attachfile );
+ //Open the file
+ TInt err = file.Open(fs, fileName, EFileRead);
+ if(err != KErrNone)
+ {
+ _LIT( KFileError, "Unable to Open File" );
+ iLog->Log(KFileError);
+ fs.Close();
+ return err;
+ }
+ CleanupClosePushL(file);
+ //Appends attachment handle to the array of attachment handles
+ TRAPD(errtwo, messagedata->AppendAttachmentHandleL(file));
+
+ CleanupStack::PopAndDestroy( &file );
+ fs.Close();
+ if(errtwo == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return errtwo;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestAttachmentHandleArrayL
+// ?Test Case for Calling CMessageData's AttachmentHandleArray fun
+// return Array of attachment handles.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestAttachmentHandleArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAttachmentHandleArray, "In KAttachmentHandleArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAttachmentHandleArray );
+ // Print to log file
+ iLog->Log( KAttachmentHandleArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the count of AttachmentHandle from cfg file
+ TInt attachmentHandleCnt;
+ aItem.GetNextInt(attachmentHandleCnt);
+
+ const RArray<RFile>& attachments = messagedata->AttachmentHandleArray();
+ //Compare the two counts
+ if ( attachments.Count() == attachmentHandleCnt )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?DataTypeL
+// ?Test Case for Calling CMessageData's DataType fun
+// return Data type id.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestDataTypeL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KDataType, "In DataType" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KDataType );
+ // Print to log file
+ iLog->Log( KDataType);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ TUid dType = messagedata->DataType() ;
+ if ( dType != KNullUid )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?ClearAddressesL
+// ?Test Case for Calling CMessageData's ClearAddresses fun
+// Clears all addressee arrays.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::ClearAddressesL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KClearAddresses, "In ClearAddresses" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KClearAddresses );
+ // Print to log file
+ iLog->Log( KClearAddresses);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ messagedata->ClearAddresses();
+ if ( messagedata->ToAddressArray().Count() == 0 )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestExternalizeLnInternalizeL
+// ?Test Case for Calling CMessageData's ExternalizeL and InternalizeL funs
+// Externalizes and Internalize message data to and from stream
+// -----------------------------------------------------------------------------
+//
+TInt CSendUIAPITest::TestExternalizeLnInternalizeL(CStifItemParser& aItem)
+ {
+ // Print to UI
+ #if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KTestExternalizeLnInternalizeL, "In TestExternalizeLnInternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestExternalizeLnInternalizeL );
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the two suject from cfg file
+ TPtrC subjectone;
+ aItem.GetNextString(subjectone);
+ TPtrC subjecttwo;
+ aItem.GetNextString(subjecttwo);
+
+ //Set the first subject to message data
+ MsgDataSetSubjectL( subjectone);
+ //Externalize the message data class so that first subject is stored
+ ExternalizeL();
+ //Set the second subject to message data
+ MsgDataSetSubjectL( subjecttwo );
+ //Internalize the message data class so that stored data can be retrived
+ InternalizeL();
+ //Get the message-data class stored data and compare with the one stored earlier
+ if(MsgDataCompSubjectL(subjectone) == KErrNone)
+ {
+ //Twwo datas are same
+ return KErrNone;
+ }
+ else
+ {
+ //Twwo datas differ
+ return KErrGeneral;
+ }
+ #endif
+ iLog->Log(_L("test case TestExternalizeLnInternalizeL not intended for 3.0 and 3.1"));
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?ExternalizeL
+// ?Test Case for Calling CMessageData's ExternalizeL fun
+// Externalizes message data to a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::ExternalizeL(void)
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KExternalizeL, "In ExternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KExternalizeL );
+ // Print to log file
+ iLog->Log( KExternalizeL);
+
+ ibuffer = CBufFlat::NewL( KMessageBufferSize );
+ CleanupStack::PushL( ibuffer );
+ //Create a Read Buffer Stream
+ RBufWriteStream bufStream;
+ //Open the Stream
+ bufStream.Open( *ibuffer );
+ //Externalise the MessageData object
+ TInt err(KErrNone);
+ #if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ TRAP(err , iMessageData->ExternalizeL(bufStream ));
+ #endif
+ //Comit and Close the Write Stream
+ bufStream.CommitL();
+ bufStream.Close();
+ CleanupStack::Pop( ibuffer );
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?InternalizeL
+// ?Test Case for Calling CMessageData's InternalizeL fun
+// Internalizes message data to from a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::InternalizeL(void)
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KInternalizeL, "In InternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KInternalizeL );
+ // Print to log file
+ iLog->Log( KInternalizeL);
+
+ //Create the Read stream and Open it
+ RBufReadStream bufStream;
+ bufStream.Open(*ibuffer);
+ //Internalise the MessageData Object
+ TInt err(KErrNone);
+ #if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ TRAP(err, iMessageData->InternalizeL(bufStream));
+ #endif
+ //Release and Close the Read Stream
+ bufStream.Release();
+ bufStream.Close();
+ delete ibuffer;
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestSetOpaqueDataL
+// ?Test Case for Calling CMessageData's SetOpaqueDataL fun
+// Set opaque data
+// -----------------------------------------------------------------------------
+//
+
+
+TInt CSendUIAPITest::TestSetOpaqueDataL( CStifItemParser& aItem )
+ {
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSetOpaqueDataL, "In SetOpaqueDataL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSetOpaqueDataL );
+ // Print to log file
+ iLog->Log( KSetOpaqueDataL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TPtrC data;
+ //Get the opaque data from cfg file
+ aItem.GetNextString(data);
+ // Copy the data to Tbuf8
+ TBuf8<KMessageBufferSize> opaqueData;
+ opaqueData.Copy(data);
+
+ TUid dType = messagedata->DataType() ;
+ //Set the Opaque Data to MessageData
+ TRAPD( err , messagedata->SetOpaqueDataL(&opaqueData, dType ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+#endif
+iLog->Log(_L("test case TestSetOpaqueDataL not intended for 3.0 and 3.1"));
+return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestOpaqueDataL
+// ?Test Case for Calling CMessageData's OpaqueData fun
+// Get opaque data
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestOpaqueDataL( CStifItemParser& aItem )
+ {
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KOpaqueData, "In OpaqueData" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KOpaqueData );
+ // Print to log file
+ iLog->Log( KOpaqueData);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ TPtrC data;
+ //Get the opaque data to compare from cfg file
+ aItem.GetNextString(data);
+ // Copy the data to Tbuf8
+ TBuf8<KMessageBufferSize> opaqueData;
+ opaqueData.Copy(data);
+ //Get the opaque data from MessageData
+ TPtrC8 ptr = messagedata->OpaqueData();
+ //Compare the two values
+ if(ptr.Compare(opaqueData) == 0)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+#endif
+iLog->Log(_L("test case TestOpaqueDataL not intended for 3.0 and 3.1"));
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestCMessageAddressNewL
+// ?Test Case for Two-phased constructor
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCMessageAddressNewL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressNewL, "In TestCMessageAddressNewL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressNewL );
+ // Print to log file
+ iLog->Log( KCMessageAddressNewL);
+
+ //Construct CMessageAddress object
+ iMessageAddress = CMessageAddress::NewL();
+ if(iMessageAddress)
+ {
+ _LIT( KCMessageAddressNewL, "CMessageAddress NewL succesfulley called" );
+ iLog->Log( KCMessageAddressNewL);
+ return KErrNone;
+ }
+ else
+ {
+ _LIT( KCMessageAddressNewLFail, "CMessageAddress NewL failed" );
+ iLog->Log( KCMessageAddressNewLFail);
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsSetAddressL
+// ?Test Case for API SetAddressL that Sets real address
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsSetAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressSetAddressL, "In TestCMessageAddressSetAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressSetAddressL );
+ // Print to log file
+ iLog->Log( KCMessageAddressSetAddressL);
+ TPtrC address;
+ //Get the address from cfg file
+ aItem.GetNextString(address);
+ //Set the same address to CMessageAddress object
+ TRAPD( err, iMessageAddress->SetAddressL( address ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsAddress
+// ?Test Case for API Address that get real address
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsAddress( CStifItemParser& aItem )
+ {
+ // Print to UI
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressAddress, "In TestCMessageAddressAddress" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressAddress );
+ // Print to log file
+ iLog->Log( KCMessageAddressAddress);
+
+ TPtrC address;
+ ////Get the address from cfg file
+ aItem.GetNextString(address);
+ //Get the address in CMessageAddress and compare with above
+ if(iMessageAddress->Address().Compare(address) == 0 )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+#endif
+ return KErrNone;
+ iLog->Log(_L("test case TestMsgAdrsAddress not intended for 3.0 and 3.1"));
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsSetAliasL
+// ?Test Case for API SetAliasL that Sets alias for the real address.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsSetAliasL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressSetAliasL, "In TestCMessageAddressSetAliasL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressSetAliasL );
+ // Print to log file
+ iLog->Log( KCMessageAddressSetAliasL);
+ TPtrC alias;
+ //Get the alias for address from cfg file
+ aItem.GetNextString(alias);
+ //Set the alias to CMessageAddress's address
+ TRAPD( err, iMessageAddress->SetAliasL( alias ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsAliasL
+// ?Test Case for API Alias that returns alias for the address.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsAlias( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressAlias, "In TestCMessageAddressAlias" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressAlias );
+ // Print to log file
+ iLog->Log( KCMessageAddressAlias);
+
+ TPtrC alias;
+ ////Get the address from cfg file
+ aItem.GetNextString(alias);
+ //Get the address in CMessageAddress and compare with above
+ if(iMessageAddress->Alias().Compare(alias) == 0 )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsExternalizeL
+// ?Test Case for API ExternalizeL that Externalizes address data to a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsExternalizeL( CStifItemParser& aItem )
+ {
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressExternalizeL, "In TestCMessageAddressExternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressExternalizeL );
+ // Print to log file
+ iLog->Log( KCMessageAddressExternalizeL);
+
+ iMsgAdrbuffer = CBufFlat::NewL( KMessageBufferSize );
+
+ //Create a Read Buffer Stream
+ RBufWriteStream bufStream;
+ //Open the Stream
+ bufStream.Open( *iMsgAdrbuffer );
+ //Externalise the MessageData object
+ TRAPD(err , iMessageAddress->ExternalizeL(bufStream ));
+ //Comit and Close the Write Stream
+ bufStream.CommitL();
+ bufStream.Close();
+
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+#endif
+iLog->Log(_L("test case TestMsgAdrsExternalizeL not intended for 3.0 and 3.1"));
+return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsInternalizeL
+// ?Test Case for API InternalizeL that Internalizes message data from a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsInternalizeL( CStifItemParser& aItem )
+ {
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressInternalizeL, "In TestCMessageAddressInternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressInternalizeL );
+ // Print to log file
+ iLog->Log( KCMessageAddressInternalizeL);
+
+ RBufReadStream bufStream;
+ bufStream.Open(*iMsgAdrbuffer);
+ //Internalise the MessageData Object
+ TRAPD(err, iMessageAddress->InternalizeL(bufStream));
+ //Release and Close the Read Stream
+ bufStream.Release();
+ bufStream.Close();
+ if(iMsgAdrbuffer)
+ {
+ delete iMsgAdrbuffer;
+ iMsgAdrbuffer = NULL;
+ }
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+#endif
+iLog->Log(_L("test case TestMsgAdrsInternalizeL not intended for 3.0 and 3.1"));
+return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestTSendingCapabilities
+// ?Test Case for functions in TSendingCapabilities
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestTSendingCapabilities( CStifItemParser& aItem )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest TSendingCapabilities" );
+ _LIT( KTSendingCapabilities, "In TestTSendingCapabilities" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTSendingCapabilities );
+ // Print to log file
+ iLog->Log( KTSendingCapabilities);
+
+ _LIT( KTSendingCapabilitiesObj, "Creating TSendingCapabilities Object" );
+ iLog->Log( KTSendingCapabilitiesObj);
+
+ _LIT( KTSendingCapabilitiesCtor, "Calling TSendingCapabilities Constructor" );
+ iLog->Log( KTSendingCapabilitiesCtor);
+
+ //Create TSendingCapabilities Object
+ TSendingCapabilities capabilitiesone;
+
+ _LIT( KTSendingCapabilitiesCtord, "TSendingCapabilities Constructor called successfully" );
+ iLog->Log( KTSendingCapabilitiesCtord);
+
+ _LIT( KTSendingCapabilitiesParamCtor, "Calling TSendingCapabilities Paramaterised Constructor" );
+ iLog->Log( KTSendingCapabilitiesParamCtor);
+
+ //Create TSendingCapabilities Object with parameters
+ TSendingCapabilities capabilitiestwo = TSendingCapabilities( 0, KMaxTInt,
+ TSendingCapabilities::ESupportsAttachments );
+
+ _LIT( KTSendingCapabilitiesParamCtord, "TSendingCapabilities Paramaterised Constructor called successfully" );
+ iLog->Log( KTSendingCapabilitiesParamCtord);
+
+ //Create another TSendingCapabilities Object with parameters
+ TSendingCapabilities capabilitiesthree = TSendingCapabilities( 0, KMaxTInt,
+ TSendingCapabilities::ESupportsAttachments );
+
+ _LIT( KTSendingCapabilitiesEqualOptr, "Calling TSendingCapabilities EqualTo Operator" );
+ iLog->Log( KTSendingCapabilitiesEqualOptr);
+
+ //Comapre the two object with Equal to operator
+ if( capabilitiestwo == capabilitiesthree )
+ {
+ _LIT( KTSendingCapabilitiesEqual, "Two TSendingCapabilities Objects are Equal" );
+ iLog->Log( KTSendingCapabilitiesEqual);
+ }
+ _LIT( KTSendingCapabilitiesNotEqualOptr, "Calling TSendingCapabilities Not EqualTo Operator" );
+ iLog->Log( KTSendingCapabilitiesNotEqualOptr);
+
+ //Comapre the two object with Not Equal to operator
+ if( capabilitiesone != capabilitiestwo )
+ {
+ _LIT( KTSendingCapabilitiesNotEqual, "Two TSendingCapabilities Objects are Not Equal" );
+ iLog->Log( KTSendingCapabilitiesNotEqual);
+ }
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCopyLC
+// Test SetServiceMenuNameL,SetServiceAddressL,SetServiceNameL,SetServiceFeatures and
+// CopyLCtest method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCopyLC( CStifItemParser& aItem )
+ {
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestCopyLC, "In TestCopyLC" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCopyLC );
+ // Print to log file
+ iLog->Log( KTestCopyLC);
+
+ _LIT( KNewL, "Calling CSendingServiceInfo::NewL" );
+ iLog->Log( KNewL);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceMenuNameL, "Calling CSendingServiceInfo's SetServiceMenuNameL" );
+ iLog->Log( KSetServiceMenuNameL);
+ serviceInfo->SetServiceMenuNameL( KTestText );
+
+ _LIT( KSetServiceAddressL, "Calling CSendingServiceInfo's SetServiceAddressL" );
+ iLog->Log( KSetServiceAddressL);
+ serviceInfo->SetServiceAddressL( KTestText );
+
+ _LIT( KSetServiceNameL, "Calling CSendingServiceInfo's SetServiceNameL" );
+ iLog->Log( KSetServiceNameL);
+ serviceInfo->SetServiceNameL( KTestText );
+
+ _LIT( KSetServiceFeatures, "Calling CSendingServiceInfo's SetServiceFeatures" );
+ iLog->Log( KSetServiceFeatures);
+ serviceInfo->SetServiceFeatures( CSendingServiceInfo::EServiceInValid
+ | CSendingServiceInfo::EServiceHidden
+ | CSendingServiceInfo::EServiceCanSendDirectly );
+
+ _LIT( KCopyLC, "Calling CSendingServiceInfo's CopyLC" );
+ iLog->Log( KCopyLC);
+ CSendingServiceInfo* copy;
+ copy = serviceInfo->CopyLC();
+
+ //TPtrC
+ if ( serviceInfo->ServiceName().Compare( copy->ServiceName() ) != 0 ||
+ serviceInfo->ServiceMenuName().Compare( copy->ServiceMenuName() ) != 0 ||
+ serviceInfo->ServiceAddress().Compare( copy->ServiceAddress() ) != 0 ||
+ serviceInfo->ServiceFeatures() != copy->ServiceFeatures() )
+ {
+ iLog->Log( _L("CopyLC failed"));
+ }
+
+ CleanupStack::PopAndDestroy( copy );
+ delete serviceInfo;
+ return KErrNone;
+#endif
+iLog->Log(_L("test case TestCopyLC not intended for 3.0 and 3.1"));
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestSetTechnologyTypeId
+// SetTechnologyTypeId test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestSetTechnologyTypeIdL( CStifItemParser& aItem )
+ {
+#if ! defined( __SERIES60_31__ ) && ! defined( __SERIES60_30__ )
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestSetTechnologyTypeId, "In TestSetTechnologyTypeId" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestSetTechnologyTypeId );
+ // Print to log file
+ iLog->Log( KTestSetTechnologyTypeId);
+
+ //Create the CSendingServiceInfo Object
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+ _LIT( KCSendingServiceInfoObj, "CSendingServiceInfo Object created" );
+ iLog->Log( KCSendingServiceInfoObj);
+
+ _LIT( KSetTechnologyTypeId, "Calling CSendingServiceInfo SetTechnologyTypeId" );
+ iLog->Log( KSetTechnologyTypeId);
+ serviceInfo->SetTechnologyTypeId( KServideId );
+
+ _LIT( KTechnologyTypeId, "Calling CSendingServiceInfo TechnologyTypeId" );
+ iLog->Log( KTechnologyTypeId);
+ //Compare the Technology ID
+ if ( serviceInfo->TechnologyTypeId() != KServideId )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+#endif
+iLog->Log(_L("test case TestSetTechnologyTypeIdL not intended for 3.0 and 3.1"));
+ return KErrNone;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestServiceID
+// ServiceID test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestServiceIDL( CStifItemParser& aItem )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestServiceID, "In TestServiceID" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestServiceID );
+ // Print to log file
+ iLog->Log( KTestServiceID);
+
+ TUid id(KDrmLinkSender);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceId, "Calling CSendingServiceInfo SetServiceId" );
+ iLog->Log( KSetServiceId);
+ serviceInfo->SetServiceId( id );
+ //Compare the ServiceID's
+ if( serviceInfo->ServiceId() != id )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestServiceProviderID
+// ServiceProviderID test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestServiceProviderIDL( CStifItemParser& aItem )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestServiceProviderID, "In TestServiceProviderID" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestServiceProviderID );
+ // Print to log file
+ iLog->Log( KTestServiceProviderID);
+ TUid id(KDrmLinkSender);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceProviderId, "Calling CSendingServiceInfo SetServiceProviderId" );
+ iLog->Log( KSetServiceProviderId);
+ serviceInfo->SetServiceProviderId( id );
+ //Compare the ServiceProviderID's
+ if( serviceInfo->ServiceProviderId() != id )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestServiceCapabilities
+// ServiceCapabilities test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestServiceCapabilitiesL( CStifItemParser& aItem )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestServiceCapabilities, "In TestServiceCapabilities" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestServiceCapabilities );
+ // Print to log file
+ iLog->Log( KTestServiceCapabilities);
+ //Create the Capabilities
+ TSendingCapabilities cap(10,100,TSendingCapabilities::EAllServices);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceCapabilities, "Calling CSendingServiceInfo SetServiceCapabilities" );
+ iLog->Log( KSetServiceCapabilities);
+ serviceInfo->SetServiceCapabilities( cap );
+ //Compare the ServiceCapabilities
+ if( serviceInfo->ServiceCapabilities() != cap )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+ }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+// [End of File] - Do not remove
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/bwins/SendUIAPITestu.def Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * LibEntryL(class CTestModuleIf &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/conf/tcSendUIAPITestCombiner.cfg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,119 @@
+//+++++++++++++++++++ NONUI_CASES_BEGIN +++++++++++++++++++++//
+
+[Test]
+title SendUIAPITest-MessageData Object Creation
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 1
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check MessageData Subject
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 2
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData Add Attachment
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 3
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData AppendToAddressArray
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 4
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendCCAddress
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 5
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendBCCAddress
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 6
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check Message Boby text
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 7
+[Endtest]
+
+[Test]
+title SendUIAPITest- Message Address APIs
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 8
+[Endtest]
+
+[Test]
+title SendUIAPITest- TSendingCapabilities APIs
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 9
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendingServiceInfo APIs
+run testscripter c:\testframework\ui_SendUIAPITest.cfg 10
+[Endtest]
+
+//---------------------- NONUI_CASES_END -----------------------//
+
+//++++++++++++++++++++++ UI_CASES_BEGIN +++++++++++++++++++++++//
+
+[Test]
+title SendUIAPITest-SendUIAddSendMenuItemL
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 1
+[Endtest]
+
+//[Test]
+//title SendUIAPITest-SendUIShowQueryAndSendL
+// Show Send Menu dialog
+//run testscripter c:\testframework\ui_UISendUIAPITest.cfg 2
+//Press Down Key and launch editor
+//run testscripter c:\testframework\ui_UISendUIAPITest.cfg 11
+//[Endtest]
+
+[Test]
+title SendUIAPITest-SendUIShowSendQueryL
+// Show Send Menu dialog
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 3
+//Press Down Key and launch editor
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 11
+[Endtest]
+
+[Test]
+title SendUIAPITest-SendUIValidateServiceL
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 4
+[Endtest]
+
+[Test]
+title SendUIAPITest-SendUIServiceCapabilitiesL
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 5
+[Endtest]
+
+[Test]
+title SendUIAPITest-SendUIAvailableServicesL
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 6
+[Endtest]
+
+[Test]
+title SendUIAPITest-SendUIAddTypedMenuItemL
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 7
+[Endtest]
+
+[Test]
+title SendUIAPITest-SendUIShowTypedQueryAndSendL
+// Show Send Menu dialog
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 8
+//Press Down Key and launch editor
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 11
+[Endtest]
+
+[Test]
+title SendUIAPITest-SendUIShowTypedQueryL
+// Show Send Menu dialog
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 9
+//Press Down Key and launch editor
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 11
+[Endtest]
+
+[Test]
+title SendUIAPITest-SendUINewLCL
+run testscripter c:\testframework\ui_UISendUIAPITest.cfg 10
+[Endtest]
+
+//--------------------------- UI_CASES_END ---------------------------//
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/conf/ui_SendUIAPITest.cfg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,96 @@
+
+[Test]
+title SendUIAPITest-MessageData Object Creation
+create SendUIAPITest Testobject
+Testobject MessageDataNewL
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check MessageData Subject
+create SendUIAPITest Testobject
+Testobject MessageDataSetSubjectL Automation
+Testobject MessageDataSubject Automation
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData Add Attachment
+create SendUIAPITest Testobject
+Testobject MessageDataAppendAttachmentL Attachment.txt
+Testobject MessageDataAttachmentArray
+Testobject MessageDataClearAttachmentArray 0
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-MessageData AppendToAddressArray
+create SendUIAPITest Testobject
+Testobject MessageDataAppendToAddressL addressone aliasone
+Testobject MessageDataToAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendCCAddress
+create SendUIAPITest Testobject
+Testobject MessageDataAppendCcAddressL ccAddressone ccAliasone
+Testobject MessageDataCcAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-AppendBCCAddress
+create SendUIAPITest Testobject
+Testobject MessageDataAppendBccAddressL bccAddress bccAliasone
+Testobject MessageDataBccAddressArray 1
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest-Set and Check Message Boby text
+create SendUIAPITest Testobject
+Testobject MessageDataSetBodyTextL Bodytext
+Testobject MessageDataBodyText 8
+Testobject MessageDataAppendAttachmentHandleL Attachment.txt e:\testing\data\SendUIAPITest\%S
+Testobject MessageDataAttachmentHandleArray 1
+Testobject MessageDataDataType
+Testobject MessageDataClearAddresses
+Testobject MessageDataExternalizeLnInternalizeL SubjectOne SubjectTwo
+Testobject MessageDataSetOpaqueDataL 5
+Testobject MessageDataOpaqueDataL 5
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- Message Address APIs
+create SendUIAPITest Testobject
+Testobject MessageAddressNewL
+Testobject MessageAddressSetAddressL addressonedesc
+Testobject MessageAddressAddress addressonedesc
+Testobject MessageAddressSetAliasL aliasdesc
+Testobject MessageAddressAlias aliasdesc
+Testobject MessageAddressExternalizeL
+Testobject MessageAddressSetAddressL addresstwodesc
+Testobject MessageAddressInternalizeL
+Testobject MessageAddressAddress addressonedesc
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- TSendingCapabilities APIs
+create SendUIAPITest Testobject
+Testobject TSendingCapabilities
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendingServiceInfo APIs
+create SendUIAPITest Testobject
+Testobject SendingServiceInfoCopyLC
+Testobject SendingServiceInfoSetTechnologyTypeId
+Testobject SendingServiceInfoServiceID
+Testobject SendingServiceInfoServiceProviderID
+Testobject SendingServiceInfoServiceCapabilities
+delete TestObject
+[Endtest]
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/conf/ui_UISendUIAPITest.cfg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,109 @@
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIAddSendMenuItemLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIShowQueryAndSendLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIShowSendQueryLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIValidateServiceLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIServiceCapabilitiesLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIAvailableServicesLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIAddTypedMenuItemLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIShowTypedQueryAndSendLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+bringtoforeground
+Testobject SendUIShowTypedQueryLL
+delete Testobject
+sendtobackground
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+create SendUIAPITest Testobject
+Testobject SendUINewLCL
+delete Testobject
+[Endtest]
+
+[Test]
+title SendUIAPITest- SendUI APIs
+pause 4000
+//Select the First option
+presskey global EKeyDevice0 //0 MEANS left SOFT KEY ; 1 MEANS right SOFT KEY
+//Launch Msg Editor
+pause 3000
+//Exit the Editor
+presskey global EKeyDevice1
+[Endtest]
+
+
+
+
+
+
+
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/eabi/SendUIAPITestu.def Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/group/SendUIAPITest.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* 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: SendUIAPITest.mmp
+*
+*/
+
+
+
+#if defined(__S60_)
+ // To get the OS_LAYER_SYSTEMINCLUDE-definition
+ #include <platform_paths.hrh>
+#endif
+
+TARGET SendUIAPITest.dll
+TARGETTYPE dll
+UID 0x1000008D 0x101FB3E8
+
+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 SendUIAPITest.def
+
+USERINCLUDE ../inc
+APP_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH ../src
+
+SOURCE SendUIAPITest.cpp
+SOURCE SendUIAPITestBlocks.cpp
+
+//RESOURCE resource_file
+//RESOURCE resource_file2
+
+LIBRARY euser.lib
+LIBRARY stiftestinterface.lib
+LIBRARY stiftestengine.lib
+LIBRARY SENDUI.lib
+LIBRARY SenduiDataUtils.lib
+LIBRARY ServiceHandler.lib
+LIBRARY cone.lib
+LIBRARY ecom.lib
+LIBRARY bafl.lib
+LIBRARY eikcore.lib
+LIBRARY etext.lib
+LIBRARY efsrv.lib
+LIBRARY estor.lib
+LIBRARY eikcoctl.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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/group/SendUIAPITestARMV5_UREL.pkg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,43 @@
+;
+; 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: SendUIAPITestARMV5_UREL.pkg;
+
+;*Languages
+&EN
+;
+;*Standard SIS file header. This section specifies the package name,
+;application UID, and version/build numbers. Add the package TYPE here if needed.
+#{"SendUIAPITest"},(0x101FB3E8),1,0,1;
+;
+
+;*Unique (Non-Localised) Vendor name
+;This is used in combination with signing to prevent the unauthroized
+;upgrade ofa a package by someone other than the rightful vendor.
+:"Nokia"
+
+;*Localized Vendor Name
+;This specifies the localised vendor name(s) correspodning to language(s).
+%{"Nokia Test EN"}
+
+;*Files To Copy...<src> <destination>
+;The destination files should be a full path. If you use a '!' character
+;instead of a drive letter, ther user should be given the choice of the drive
+;to install the file to (on supported Symbian devices).
+"\epoc32\release\armv5\urel\SendUIAPITest.dll" -"C:\sys\bin\SendUIAPITest.dll"
+"..\conf\ui_SendUIAPITest.cfg"-"C:\TestFramework\ui_SendUIAPITest.cfg"
+"..\conf\ui_UISendUIAPITest.cfg"-"C:\TestFramework\ui_UISendUIAPITest.cfg"
+"..\conf\tcSendUIAPITestCombiner.cfg"-"C:\TestFramework\tcSendUIAPITestCombiner.cfg"
+"..\init\TestFramework.ini"-"C:\TestFramework\TestFramework.ini"
+"..\Data\MMC\SendUIAPITest\Attachment.txt"-"e:\testing\data\SendUIAPITest\Attachment.txt"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* 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: Bld.inf
+*
+*/
+
+
+
+
+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
+// NOTE: If using ARS requirements .mmp file operation should be done under this.
+// 'abld test build'
+SendUIAPITest.mmp
+
+PRJ_MMPFILES
+// 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
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/inc/SendUIAPITest.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,620 @@
+/*
+* 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: SendUIAPITest declaration*
+*/
+
+
+
+
+#ifndef SENDUIAPITEST_H
+#define SENDUIAPITEST_H
+
+// INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+#include <cmessagedata.h>
+#include <eikmobs.h>
+#include <coecntrl.h>
+#include <AknUtils.h>
+#include <sendui.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
+
+// Logging path
+_LIT( KSendUIAPITestLogPath, "\\logs\\testframework\\SendUIAPITest\\" );
+// Log file
+_LIT( KSendUIAPITestLogFile, "SendUIAPITest.txt" );
+_LIT( KSendUIAPITestLogFileWithTitle, "SendUIAPITest_[%S].txt" );
+
+// FUNCTION PROTOTYPES
+//?type ?function_name(?arg_list);
+
+// FORWARD DECLARATIONS
+//class ?FORWARD_CLASSNAME;
+class CMessageAddress;
+class CMessageData;
+class CSendUIAPITest;
+class CSendingServiceInfo;
+
+// DATA TYPES
+//enum ?declaration
+//typedef ?declaration
+//extern ?data_type;
+
+// CLASS DECLARATION
+
+
+/**
+* CSendUIAPITest test class for STIF Test Framework TestScripter.
+* ?other_description_lines
+*
+* @lib ?library
+* @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CSendUIAPITest) : public CScriptBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CSendUIAPITest* NewL( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendUIAPITest();
+
+ public: // New functions
+
+ /**
+ * ?Function to create CMessageData object
+ * @since ?Series60_version
+ * @param ?void ?no input param
+ * @CMessageData* ?CMessageData pointer object
+ */
+ CMessageData* InitL(void);
+
+
+ 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.
+ */
+ CSendUIAPITest( 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.
+ */
+
+ /**
+ * Example test method.
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt ExampleL( CStifItemParser& aItem );
+
+ /**
+ * Method used to log version of test class
+ */
+ void SendTestClassVersion();
+
+ /**
+ * Method used to call SetSubjectL of CMessageData
+ */
+ virtual TInt MsgDataSetSubjectL( TPtrC& aSubject );
+
+ /**
+ * Method used to call SubjectL of CMessageData and Compare
+ */
+ virtual TInt MsgDataCompSubjectL( TPtrC& aSubject );
+
+ /**
+ * Test Case for Calling CMessageData's NewL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+
+ virtual TInt TestMessageDataNewL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's SetSubjectL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataSetSubjectL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's Subject fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataSubjectL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendAttachmentL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendAttachmentL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AttachmentArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAttachmentArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ClearAttachmentArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataClearAttachmentArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendToAddressL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendToAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ToAddressArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataToAddressArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendCcAddressL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendCcAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's CcAddressArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataCcAddressArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendBccAddressL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataAppendBccAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's BccAddressArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataBccAddressArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's SetBodyTextL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataSetBodyTextL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's BodyText fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMessageDataBodyTextL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AppendAttachmentHandleL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestAppendAttachmentHandleL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's AttachmentHandleArray fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestAttachmentHandleArrayL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's DataType fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestDataTypeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ClearAddresses fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt ClearAddressesL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ExternalizeL and InternalizeL funs
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestExternalizeLnInternalizeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's ExternalizeL fun
+ * @since ?Series60_version
+ * @param void
+ * @return Symbian OS error code.
+ */
+ virtual TInt ExternalizeL( void );
+
+ /**
+ * Test Case for Calling CMessageData's InternalizeL fun
+ * @since ?Series60_version
+ * @param void
+ * @return Symbian OS error code.
+ */
+ virtual TInt InternalizeL( void );
+
+ /**
+ * Test Case for Calling CMessageData's SetOpaqueDataL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestSetOpaqueDataL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageData's OpaqueDataL fun
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestOpaqueDataL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's NewL Construction
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCMessageAddressNewL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's SetAddressL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsSetAddressL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's Address
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsAddress( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's SetAliasL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsSetAliasL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's AliasL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsAlias( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's ExternalizeL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsExternalizeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CMessageAddress's InternalizeL
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestMsgAdrsInternalizeL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling TSendingCapabilities functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestTSendingCapabilities( CStifItemParser& aItem );
+
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's CopyLC functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCopyLC( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's SetTechnologyTypeId functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestSetTechnologyTypeIdL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's ServiceID functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestServiceIDL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's ServiceProviderID functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestServiceProviderIDL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendingServiceInfo's ServiceCapabilities functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestServiceCapabilitiesL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIAddSendMenuItemLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUINewLCL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIShowQueryAndSendLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIShowSendQueryLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIValidateServiceLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIServiceCapabilitiesLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIAvailableServicesLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIAddTypedMenuItemLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIShowTypedQueryAndSendLL( CStifItemParser& aItem );
+
+ /**
+ * Test Case for Calling CSendUI's functions
+ * @since ?Series60_version
+ * @param aItem Script line containing parameters.
+ * @return Symbian OS error code.
+ */
+ virtual TInt TestCSendUIShowTypedQueryLL( CStifItemParser& aItem );
+
+ //ADD NEW METHOD DEC HERE
+ //[TestMethods] - Do not remove
+
+ public: // Data
+
+ protected: // Data
+
+ private: // Data
+ //CMessageData memeber variable
+ CMessageData* iMessageData;
+ //Buffer to read and write from stream
+ CBufBase* ibuffer;
+ //CMessageAddress variable
+ CMessageAddress* iMessageAddress;
+ //Buffer to read and write from stream
+ CBufBase* iMsgAdrbuffer;
+ //CsendUI variable
+ CSendUi* iSendUi;
+ //?data_declaration;
+
+ // Reserved pointer for future extension
+ //TAny* iReserved;
+
+ public: // Friend classes
+
+ protected: // Friend classes
+
+ private: // Friend classes
+
+
+ };
+
+ //Menu Observer
+ class FakeObserver : public MEikMenuObserver
+{
+ void HandleAttemptDimmedSelectionL(TInt )
+ {
+
+ };
+ TBool CheckHotKeyNotDimmedL(TInt )
+ {
+ return ETrue;
+ };
+ void RestoreMenuL(CCoeControl* ,TInt ,TMenuType )
+ {
+
+ };
+ void DynInitMenuPaneL(TInt,CEikMenuPane* )
+ {
+
+ };
+ void DynInitMenuBarL(TInt ,CEikMenuBar* )
+ {
+
+ };
+ void HandleSideBarMenuL(TInt ,const TPoint& ,TInt ,const CEikHotKeyTable* )
+ {
+
+ };
+ void OfferKeyToAppL(const TKeyEvent& ,TEventCode )
+ {
+
+ };
+ void SetEmphasis(CCoeControl *, int)
+ {
+
+ }
+ void ProcessCommandL( int )
+ {
+
+ }
+};
+
+#endif // SendUIAPITest_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/src/SendUIAPITest.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,275 @@
+/*
+* 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: SendUIAPITest implementation*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "SendUIAPITest.h"
+#include <SettingServerClient.h>
+#include <sendui.h>
+
+// 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 ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::CSendUIAPITest
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUIAPITest::CSendUIAPITest(
+ CTestModuleIf& aTestModuleIf ):
+ CScriptBase( aTestModuleIf ),
+ iMessageData( NULL ),
+ iMessageAddress( NULL )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUIAPITest::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(KSendUIAPITestLogFileWithTitle, &title);
+ }
+ else
+ {
+ logFileName.Copy(KSendUIAPITestLogFile);
+ }
+
+ iLog = CStifLogger::NewL( KSendUIAPITestLogPath,
+ logFileName,
+ CStifLogger::ETxt,
+ CStifLogger::EFile,
+ EFalse );
+
+
+ SendTestClassVersion();
+ //Create the SendUI var
+ iSendUi = CSendUi::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendUIAPITest* CSendUIAPITest::NewL(
+ CTestModuleIf& aTestModuleIf )
+ {
+ CSendUIAPITest* self = new (ELeave) CSendUIAPITest( aTestModuleIf );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ return self;
+
+ }
+
+// Destructor
+CSendUIAPITest::~CSendUIAPITest()
+ {
+
+ // Delete resources allocated from test methods
+ Delete();
+
+ //Delete the SendUI var
+ delete iSendUi;
+
+ // Delete logger
+ delete iLog;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?MsgDataSetSubjectL
+// ?Test Case for Calling CMessageData's SetSubjectL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::MsgDataSetSubjectL( TPtrC& aSubject )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KMsgDataSetSubjectL, "In MsgDataSetSubjectL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KMsgDataSetSubjectL );
+ // Print to log file
+ iLog->Log( KMsgDataSetSubjectL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Set the subject
+ TRAPD(err,messagedata->SetSubjectL(&aSubject));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+
+ else
+ {
+ return err;
+ }
+
+ }
+
+ // -----------------------------------------------------------------------------
+// CSendUIAPITest::?MsgDataCompSubjectL
+// ?Test Case for Calling CMessageData's Subject fun and comparing it with passed param
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::MsgDataCompSubjectL( TPtrC& aSubject )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KMsgDataCompSubjectL, "In MsgDataCompSubjectL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KMsgDataCompSubjectL );
+ // Print to log file
+ iLog->Log( KMsgDataCompSubjectL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the subject from message data
+ TPtrC msgdatasubject = messagedata->Subject();
+
+ //Compare the two subjects
+ if(msgdatasubject == aSubject)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+//-----------------------------------------------------------------------------
+// CSendUIAPITest::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CSendUIAPITest::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("SendUIAPITest.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* ) CSendUIAPITest::NewL( aTestModuleIf );
+
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_api/tsrc/src/SendUIAPITestBlocks.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,2092 @@
+/*
+* 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: SendUIAPITestBlocks implementation*
+*/
+
+
+
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include "SendUIAPITest.h"
+#include <SendUi.h>
+#include <EIKENV.H>
+#include <cmessagedata.h>
+#include <CMessageAddress.h>
+#include <TSendingCapabilities.h>
+#include <TXTRICH.H>
+#include <EIKDEF.H>
+#include <eikmobs.h>
+#include <f32file.h>
+#include <S32MEM.H>
+#include <CSendingServiceInfo.h>
+#include <SendUiConsts.h>
+#include <EIKMOBS.H>
+
+
+// EXTERNAL DATA STRUCTURES
+//extern ?external_data;
+
+// EXTERNAL FUNCTION PROTOTYPES
+//extern ?external_function( ?arg_type,?arg_type );
+
+// CONSTANTS
+//const ?type ?constant_var = ?constant;
+_LIT( KTestText, "TestText1234567910");
+const TInt KMessageBufferSize = 4 * sizeof(TUint32);
+const TInt KFilePathSize = 256;
+const TUid KServideId = {0x10005522};
+
+
+// MACROS
+//#define ?macro ?macro_def
+
+// LOCAL CONSTANTS AND MACROS
+//const ?type ?constant_var = ?constant;
+//#define ?macro_name ?macro_def
+_LIT (KTextSupportsEditor, "With Editor:");
+_LIT (KTextOpenEditor, "Open editor:");
+_LIT (KWrite, "Write:");
+_LIT (KTextDoNothing, "Show all");
+
+// 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
+// -----------------------------------------------------------------------------
+//
+CMessageData* CSendUIAPITest::InitL(
+ )
+ {
+ if(!iMessageData)
+ {
+ iMessageData = CMessageData::NewL();
+ }
+ return iMessageData;
+ }
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CSendUIAPITest::Delete()
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KDelete, "In Delete" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KDelete );
+ // Print to log file
+ iLog->Log( KDelete );
+
+ if(iMessageData)
+ {
+ // Delete Message Data Object
+ _LIT( KDeleteObj, "Delete CMessageData Object" );
+ iLog->Log( KDeleteObj );
+ delete iMessageData;
+ iMessageData = NULL;
+ }
+ if(iMessageAddress)
+ {
+ // Print to log file
+ _LIT( KDeleteMsgAdrObj, "Delete CMessageAddress Object" );
+ iLog->Log( KDeleteMsgAdrObj );
+ delete iMessageAddress;
+ iMessageAddress = NULL;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CSendUIAPITest::RunMethodL(
+ CStifItemParser& aItem )
+ {
+
+ static TStifFunctionInfo const KFunctions[] =
+ {
+ // Copy this line for every implemented function.
+ // First string is the function name used in TestScripter script file.
+ // Second is the actual implementation member function.
+ //ENTRY( "Example", CSendUIAPITest::ExampleL ),
+ //CMessageData
+ ENTRY( "MessageDataNewL", CSendUIAPITest::TestMessageDataNewL ),
+ ENTRY( "MessageDataSetSubjectL", CSendUIAPITest::TestMessageDataSetSubjectL ),
+ ENTRY( "MessageDataSubject", CSendUIAPITest::TestMessageDataSubjectL ),
+ ENTRY( "MessageDataAppendAttachmentL", CSendUIAPITest::TestMessageDataAppendAttachmentL ),
+ ENTRY( "MessageDataAttachmentArray", CSendUIAPITest::TestMessageDataAttachmentArrayL ),
+ ENTRY( "MessageDataClearAttachmentArray", CSendUIAPITest::TestMessageDataClearAttachmentArrayL ),
+ ENTRY( "MessageDataAppendToAddressL", CSendUIAPITest::TestMessageDataAppendToAddressL ),
+ ENTRY( "MessageDataToAddressArray", CSendUIAPITest::TestMessageDataToAddressArrayL ),
+ ENTRY( "MessageDataAppendCcAddressL", CSendUIAPITest::TestMessageDataAppendCcAddressL ),
+ ENTRY( "MessageDataCcAddressArray", CSendUIAPITest::TestMessageDataCcAddressArrayL ),
+ ENTRY( "MessageDataAppendBccAddressL", CSendUIAPITest::TestMessageDataAppendBccAddressL ),
+ ENTRY( "MessageDataBccAddressArray", CSendUIAPITest::TestMessageDataBccAddressArrayL ),
+ ENTRY( "MessageDataSetBodyTextL", CSendUIAPITest::TestMessageDataSetBodyTextL ),
+ ENTRY( "MessageDataBodyText", CSendUIAPITest::TestMessageDataBodyTextL ),
+ ENTRY( "MessageDataAppendAttachmentHandleL", CSendUIAPITest::TestAppendAttachmentHandleL ),
+ ENTRY( "MessageDataAttachmentHandleArray", CSendUIAPITest::TestAttachmentHandleArrayL ),
+ ENTRY( "MessageDataDataType", CSendUIAPITest::TestDataTypeL ),
+ ENTRY( "MessageDataClearAddresses", CSendUIAPITest::ClearAddressesL ),
+ ENTRY( "MessageDataExternalizeLnInternalizeL", CSendUIAPITest::TestExternalizeLnInternalizeL ),
+ ENTRY( "MessageDataSetOpaqueDataL", CSendUIAPITest::TestSetOpaqueDataL ),
+ ENTRY( "MessageDataOpaqueDataL", CSendUIAPITest::TestOpaqueDataL ),
+ //CMessageAddress
+ ENTRY( "MessageAddressNewL", CSendUIAPITest::TestCMessageAddressNewL ),
+ ENTRY( "MessageAddressSetAddressL", CSendUIAPITest::TestMsgAdrsSetAddressL ),
+ ENTRY( "MessageAddressAddress", CSendUIAPITest::TestMsgAdrsAddress ),
+ ENTRY( "MessageAddressSetAliasL", CSendUIAPITest::TestMsgAdrsSetAliasL ),
+ ENTRY( "MessageAddressAlias", CSendUIAPITest::TestMsgAdrsAlias ),
+ ENTRY( "MessageAddressExternalizeL", CSendUIAPITest::TestMsgAdrsExternalizeL ),
+ ENTRY( "MessageAddressInternalizeL", CSendUIAPITest::TestMsgAdrsInternalizeL ),
+ //TSendingCapabilities
+ ENTRY( "TSendingCapabilities", CSendUIAPITest::TestTSendingCapabilities ),
+ //CSendingServiceInfo
+ ENTRY( "SendingServiceInfoCopyLC", CSendUIAPITest::TestCopyLC ),
+ ENTRY( "SendingServiceInfoSetTechnologyTypeId", CSendUIAPITest::TestSetTechnologyTypeIdL ),
+ ENTRY( "SendingServiceInfoServiceID", CSendUIAPITest::TestServiceIDL ),
+ ENTRY( "SendingServiceInfoServiceProviderID", CSendUIAPITest::TestServiceProviderIDL ),
+ ENTRY( "SendingServiceInfoServiceCapabilities", CSendUIAPITest::TestServiceCapabilitiesL ),
+ //CSendUI
+ ENTRY( "SendUIAddSendMenuItemLL", CSendUIAPITest::TestCSendUIAddSendMenuItemLL ),
+ ENTRY( "SendUINewLCL", CSendUIAPITest::TestCSendUINewLCL ),
+ ENTRY( "SendUIShowQueryAndSendLL", CSendUIAPITest::TestCSendUIShowQueryAndSendLL ),
+ ENTRY( "SendUIShowSendQueryLL", CSendUIAPITest::TestCSendUIShowSendQueryLL ),
+ ENTRY( "SendUIValidateServiceLL", CSendUIAPITest::TestCSendUIValidateServiceLL ),
+ ENTRY( "SendUIServiceCapabilitiesLL", CSendUIAPITest::TestCSendUIServiceCapabilitiesLL ),
+ ENTRY( "SendUIAvailableServicesLL", CSendUIAPITest::TestCSendUIAvailableServicesLL ),
+ ENTRY( "SendUIAddTypedMenuItemLL", CSendUIAPITest::TestCSendUIAddTypedMenuItemLL ),
+ ENTRY( "SendUIShowTypedQueryAndSendLL", CSendUIAPITest::TestCSendUIShowTypedQueryAndSendLL ),
+ ENTRY( "SendUIShowTypedQueryLL", CSendUIAPITest::TestCSendUIShowTypedQueryLL ),
+ //ADD NEW ENTRY HERE
+ // [test cases entries] - Do not remove
+
+ };
+
+ const TInt count = sizeof( KFunctions ) /
+ sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::ExampleL
+// Example test method function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CSendUIAPITest::ExampleL( CStifItemParser& aItem )
+ {
+
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KExample, "In Example" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KExample );
+ // Print to log file
+ iLog->Log( KExample );
+
+ TInt i = 0;
+ TPtrC string;
+ _LIT( KParam, "Param[%i]: %S" );
+ while ( aItem.GetNextString ( string ) == KErrNone )
+ {
+ TestModuleIf().Printf( i, KSendUIAPITest,
+ KParam, i, &string );
+ i++;
+ }
+ return KErrNone;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataNewL
+// ?Test Case for Calling CMessageData's NewL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataNewL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KNewL, "In NewL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KNewL );
+ // Print to log file
+ iLog->Log( KNewL);
+
+ //Create the object of CSendUIAPITest
+ CMessageData* messagedata = InitL();
+ //Check the instance of CMessageData
+ if(messagedata)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataSetSubjectL
+// ?Test Case for Calling CMessageData's SetSubjectL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataSetSubjectL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSetSubjectL, "In SetSubjectL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSetSubjectL );
+ // Print to log file
+ iLog->Log( KSetSubjectL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TPtrC subject;
+ //Get the subject from cfg file
+ aItem.GetNextString(subject);
+ //Set the subject
+ TRAPD(err,messagedata->SetSubjectL(&subject));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataSubjectL
+// ?Test Case for Calling CMessageData's Subject fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataSubjectL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSubject, "In Subject" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSubject );
+ // Print to log file
+ iLog->Log( KSubject);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the subject from message data
+ TPtrC msgdatasubject = messagedata->Subject();
+
+ TPtrC msgsubject;
+ //Get the subject from cfg file
+ aItem.GetNextString(msgsubject);
+ //Compare the two subjects
+ if(msgdatasubject == msgsubject)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendAttachmentL
+// ?Test Case for Calling CMessageData's AppendAttachmentL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendAttachmentL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendAttachmentL, "In AppendAttachmentL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendAttachmentL );
+ // Print to log file
+ iLog->Log( KAppendAttachmentL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TPtrC filepath;
+ //Get the file path from cfg file
+ aItem.GetNextString(filepath);
+ TDesC filepathdesc(filepath);
+
+ //Append the file path in message data
+ TRAPD(err,messagedata->AppendAttachmentL(filepath));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+
+ else
+ {
+ return err;
+ }
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAttachmentArrayL
+// ?Test Case for Calling CMessageData's AttachmentArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAttachmentArrayL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAttachmentArray, "In AttachmentArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAttachmentArray );
+ // Print to log file
+ iLog->Log( KAttachmentArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the Array of attachment file paths and check the count
+ TInt count = messagedata->AttachmentArray().Count();
+ if(count > 0)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataClearAttachmentArrayL
+// ?Test Case for Calling CMessageData's ClearAttachmentArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataClearAttachmentArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KClearAttachmentArray, "In ClearAttachmentArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KClearAttachmentArray );
+ // Print to log file
+ iLog->Log( KClearAttachmentArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Clears the array of attachment file paths
+ messagedata->ClearAttachmentArray();
+
+ TInt attacharraycount;
+ //Get the attachment arry count from cfg file
+ aItem.GetNextInt(attacharraycount);
+ //Compare the two counts
+ if(attacharraycount == messagedata->AttachmentArray().Count())
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendToAddressL
+// ?Test Case for Calling CMessageData's AppendToAddressL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendToAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendToAddressL, "In AppendToAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendToAddressL );
+ // Print to log file
+ iLog->Log( KAppendToAddressL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the address from cfg file to append
+ TPtrC addressone;
+ aItem.GetNextString(addressone);
+
+ TPtrC aliasone;
+ aItem.GetNextString(aliasone);
+
+ //Append the address to array
+ TRAPD(err, messagedata->AppendToAddressL( addressone, aliasone ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataToAddressArrayL
+// ?Test Case for Calling CMessageData's ToAddressArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataToAddressArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KToAddressArray, "In ToAddressArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KToAddressArray );
+ // Print to log file
+ iLog->Log( KToAddressArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TInt addresscount;
+ aItem.GetNextInt(addresscount);
+
+ //Get array of addresses and aliases and compare the count
+ if(addresscount == messagedata->ToAddressArray().Count() )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendCcAddressL
+// ?Test Case for Calling CMessageData's AppendCcAddressL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendCcAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendCcAddressL, "In AppendCcAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendCcAddressL );
+ // Print to log file
+ iLog->Log( KAppendCcAddressL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the two ccaddresses from cfg file
+ TPtrC ccaddressone;
+ aItem.GetNextString(ccaddressone);
+
+ TPtrC ccaliasone;
+ aItem.GetNextString(ccaliasone);
+
+ //Append the CC addresses in message data
+ TRAPD(err , messagedata->AppendCcAddressL( ccaddressone, ccaliasone ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataCcAddressArrayL
+// ?Test Case for Calling CMessageData's CcAddressArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataCcAddressArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KCcAddressArray, "In CcAddressArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCcAddressArray );
+ // Print to log file
+ iLog->Log( KCcAddressArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the count of cc address from cfg file
+ TInt ccaddresscount;
+ aItem.GetNextInt(ccaddresscount);
+
+ //Get the CC address count from message data and compare
+ if(ccaddresscount == messagedata->CcAddressArray().Count())
+ {
+ return KErrNone;
+ }
+
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataAppendBccAddressL
+// ?Test Case for Calling CMessageData's AppendBccAddressL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataAppendBccAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendBccAddressL, "In AppendBccAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendBccAddressL );
+ // Print to log file
+ iLog->Log( KAppendBccAddressL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the two bccaddresses from cfg file
+ TPtrC bccaddressone;
+ aItem.GetNextString(bccaddressone);
+
+ TPtrC bccaliasone;
+ aItem.GetNextString(bccaliasone);
+
+ //Append the BCC addresses to message data
+ TRAPD(err , messagedata->AppendBccAddressL( bccaddressone, bccaliasone ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataBccAddressArrayL
+// ?Test Case for Calling CMessageData's BccAddressArray fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataBccAddressArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KBccAddressArray, "In BccAddressArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KBccAddressArray );
+ // Print to log file
+ iLog->Log( KBccAddressArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the appended cc address count from cfg file
+ TInt ccaddresscount;
+ aItem.GetNextInt(ccaddresscount);
+
+ //Get the cc address count from message data and compare
+ if(ccaddresscount == messagedata->BccAddressArray().Count())
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataSetBodyTextL
+// ?Test Case for Calling CMessageData's SetBodyTextL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataSetBodyTextL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSetBodyTextL, "In SetBodyTextL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSetBodyTextL );
+ // Print to log file
+ iLog->Log( KSetBodyTextL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the Message body from cfg file
+ TPtrC messagesubject;
+ aItem.GetNextString(messagesubject);
+
+ CEikonEnv* eikonEnv = CEikonEnv::Static();
+ //Create the rich text object
+ CRichText* bodyText = CRichText::NewL( eikonEnv->SystemParaFormatLayerL(),
+ eikonEnv->SystemCharFormatLayerL() );
+ CleanupStack::PushL( bodyText );
+ //Insert the text from cfg file to message body
+ bodyText->InsertL( 0,messagesubject);
+
+ TRAPD(err, messagedata->SetBodyTextL(bodyText));
+ if(err == KErrNone)
+ {
+ CleanupStack::PopAndDestroy( bodyText );
+ return KErrNone;
+ }
+ else
+ {
+ CleanupStack::PopAndDestroy( bodyText );
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMessageDataBodyTextL
+// ?Test Case for Calling CMessageData's BodyText fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMessageDataBodyTextL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KBodyText, "In BodyText" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KBodyText );
+ // Print to log file
+ iLog->Log( KBodyText);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ //Get the MessageBody text length
+ TInt msgbodylen = messagedata->BodyText()->DocumentLength();
+ TInt len;
+ aItem.GetNextInt(len);
+ //If the length passed from cfg file and and Body text length same
+ if(len == msgbodylen)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestAppendAttachmentHandleL
+// ?Test Case for Calling CMessageData's AppendAttachmentHandleL fun
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestAppendAttachmentHandleL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAppendAttachmentHandleL, "In AppendAttachmentHandleL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAppendAttachmentHandleL );
+ // Print to log file
+ iLog->Log( KAppendAttachmentHandleL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ fs.ShareProtected();
+ RFile file;
+ //Get the attachment from cfg file
+ TPtrC attachfile;
+ aItem.GetNextString(attachfile);
+ TDesC attachfiledesc(attachfile);
+
+ TBuf16<KFilePathSize> fileName;
+ #ifdef __WINSCW__
+ _LIT( KTestFilePath, "c:\\Data\\TestData\\SendUIAPITest\\%S" );
+ fileName.Format( KTestFilePath, &attachfile );
+ #else
+ TPtrC attachfilepath;
+ aItem.GetNextString(attachfilepath);
+ TDesC attachfilepathdesc(attachfilepath);
+ fileName.Format( attachfilepath, &attachfile );
+ #endif
+
+ //Open the file
+ TInt err = file.Open(fs, fileName, EFileRead);
+ if(err != KErrNone)
+ {
+ _LIT( KFileError, "Unable to Open File" );
+ iLog->Log(KFileError);
+ fs.Close();
+ return err;
+ }
+ CleanupClosePushL(file);
+ //Appends attachment handle to the array of attachment handles
+ TRAPD(errtwo, messagedata->AppendAttachmentHandleL(file));
+
+ CleanupStack::PopAndDestroy( &file );
+ fs.Close();
+ if(errtwo == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return errtwo;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestAttachmentHandleArrayL
+// ?Test Case for Calling CMessageData's AttachmentHandleArray fun
+// return Array of attachment handles.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestAttachmentHandleArrayL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KAttachmentHandleArray, "In KAttachmentHandleArray" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KAttachmentHandleArray );
+ // Print to log file
+ iLog->Log( KAttachmentHandleArray);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the count of AttachmentHandle from cfg file
+ TInt attachmentHandleCnt;
+ aItem.GetNextInt(attachmentHandleCnt);
+
+ const RArray<RFile>& attachments = messagedata->AttachmentHandleArray();
+ //Compare the two counts
+ if ( attachments.Count() == attachmentHandleCnt )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?DataTypeL
+// ?Test Case for Calling CMessageData's DataType fun
+// return Data type id.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestDataTypeL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KDataType, "In DataType" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KDataType );
+ // Print to log file
+ iLog->Log( KDataType);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ TUid dType = messagedata->DataType() ;
+ if ( dType != KNullUid )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?ClearAddressesL
+// ?Test Case for Calling CMessageData's ClearAddresses fun
+// Clears all addressee arrays.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::ClearAddressesL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KClearAddresses, "In ClearAddresses" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KClearAddresses );
+ // Print to log file
+ iLog->Log( KClearAddresses);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ messagedata->ClearAddresses();
+ if ( messagedata->ToAddressArray().Count() == 0 )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestExternalizeLnInternalizeL
+// ?Test Case for Calling CMessageData's ExternalizeL and InternalizeL funs
+// Externalizes and Internalize message data to and from stream
+// -----------------------------------------------------------------------------
+//
+TInt CSendUIAPITest::TestExternalizeLnInternalizeL(CStifItemParser& aItem)
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KTestExternalizeLnInternalizeL, "In TestExternalizeLnInternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestExternalizeLnInternalizeL );
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ //Get the two suject from cfg file
+ TPtrC subjectone;
+ aItem.GetNextString(subjectone);
+ TPtrC subjecttwo;
+ aItem.GetNextString(subjecttwo);
+
+ //Set the first subject to message data
+ MsgDataSetSubjectL( subjectone);
+ //Externalize the message data class so that first subject is stored
+ ExternalizeL();
+ //Set the second subject to message data
+ MsgDataSetSubjectL( subjecttwo );
+ //Internalize the message data class so that stored data can be retrived
+ InternalizeL();
+ //Get the message-data class stored data and compare with the one stored earlier
+ if(MsgDataCompSubjectL(subjectone) == KErrNone)
+ {
+ //Twwo datas are same
+ return KErrNone;
+ }
+ else
+ {
+ //Twwo datas differ
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?ExternalizeL
+// ?Test Case for Calling CMessageData's ExternalizeL fun
+// Externalizes message data to a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::ExternalizeL(void)
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KExternalizeL, "In ExternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KExternalizeL );
+ // Print to log file
+ iLog->Log( KExternalizeL);
+
+ ibuffer = CBufFlat::NewL( KMessageBufferSize );
+ CleanupStack::PushL( ibuffer );
+ //Create a Read Buffer Stream
+ RBufWriteStream bufStream;
+ //Open the Stream
+ bufStream.Open( *ibuffer );
+ //Externalise the MessageData object
+ TRAPD(err , iMessageData->ExternalizeL(bufStream ));
+ //Comit and Close the Write Stream
+ bufStream.CommitL();
+ bufStream.Close();
+ CleanupStack::Pop( ibuffer );
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?InternalizeL
+// ?Test Case for Calling CMessageData's InternalizeL fun
+// Internalizes message data to from a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::InternalizeL(void)
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KInternalizeL, "In InternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KInternalizeL );
+ // Print to log file
+ iLog->Log( KInternalizeL);
+
+ //Create the Read stream and Open it
+ RBufReadStream bufStream;
+ bufStream.Open(*ibuffer);
+ //Internalise the MessageData Object
+ TRAPD(err, iMessageData->InternalizeL(bufStream));
+ //Release and Close the Read Stream
+ bufStream.Release();
+ bufStream.Close();
+ delete ibuffer;
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestSetOpaqueDataL
+// ?Test Case for Calling CMessageData's SetOpaqueDataL fun
+// Set opaque data
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestSetOpaqueDataL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KSetOpaqueDataL, "In SetOpaqueDataL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KSetOpaqueDataL );
+ // Print to log file
+ iLog->Log( KSetOpaqueDataL);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+
+ TPtrC data;
+ //Get the opaque data from cfg file
+ aItem.GetNextString(data);
+ // Copy the data to Tbuf8
+ TBuf8<KMessageBufferSize> opaqueData;
+ opaqueData.Copy(data);
+
+ TUid dType = messagedata->DataType() ;
+ //Set the Opaque Data to MessageData
+ TRAPD( err , messagedata->SetOpaqueDataL(&opaqueData, dType ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+ // -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestOpaqueDataL
+// ?Test Case for Calling CMessageData's OpaqueData fun
+// Get opaque data
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestOpaqueDataL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest" );
+ _LIT( KOpaqueData, "In OpaqueData" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KOpaqueData );
+ // Print to log file
+ iLog->Log( KOpaqueData);
+
+ //Create the instance of CMessageData
+ CMessageData* messagedata = InitL();
+ TPtrC data;
+ //Get the opaque data to compare from cfg file
+ aItem.GetNextString(data);
+ // Copy the data to Tbuf8
+ TBuf8<KMessageBufferSize> opaqueData;
+ opaqueData.Copy(data);
+ //Get the opaque data from MessageData
+ TPtrC8 ptr = messagedata->OpaqueData();
+ //Compare the two values
+ if(ptr.Compare(opaqueData) == 0)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestCMessageAddressNewL
+// ?Test Case for Two-phased constructor
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCMessageAddressNewL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressNewL, "In TestCMessageAddressNewL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressNewL );
+ // Print to log file
+ iLog->Log( KCMessageAddressNewL);
+
+ //Construct CMessageAddress object
+ iMessageAddress = CMessageAddress::NewL();
+ if(iMessageAddress)
+ {
+ _LIT( KCMessageAddressNewL, "CMessageAddress NewL succesfulley called" );
+ iLog->Log( KCMessageAddressNewL);
+ return KErrNone;
+ }
+ else
+ {
+ _LIT( KCMessageAddressNewLFail, "CMessageAddress NewL failed" );
+ iLog->Log( KCMessageAddressNewLFail);
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsSetAddressL
+// ?Test Case for API SetAddressL that Sets real address
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsSetAddressL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressSetAddressL, "In TestCMessageAddressSetAddressL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressSetAddressL );
+ // Print to log file
+ iLog->Log( KCMessageAddressSetAddressL);
+ TPtrC address;
+ //Get the address from cfg file
+ aItem.GetNextString(address);
+ //Set the same address to CMessageAddress object
+ TRAPD( err, iMessageAddress->SetAddressL( address ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsAddress
+// ?Test Case for API Address that get real address
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsAddress( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressAddress, "In TestCMessageAddressAddress" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressAddress );
+ // Print to log file
+ iLog->Log( KCMessageAddressAddress);
+
+ TPtrC address;
+ ////Get the address from cfg file
+ aItem.GetNextString(address);
+ //Get the address in CMessageAddress and compare with above
+ if(iMessageAddress->Address().Compare(address) == 0 )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsSetAliasL
+// ?Test Case for API SetAliasL that Sets alias for the real address.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsSetAliasL( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressSetAliasL, "In TestCMessageAddressSetAliasL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressSetAliasL );
+ // Print to log file
+ iLog->Log( KCMessageAddressSetAliasL);
+ TPtrC alias;
+ //Get the alias for address from cfg file
+ aItem.GetNextString(alias);
+ //Set the alias to CMessageAddress's address
+ TRAPD( err, iMessageAddress->SetAliasL( alias ));
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsAliasL
+// ?Test Case for API Alias that returns alias for the address.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsAlias( CStifItemParser& aItem )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressAlias, "In TestCMessageAddressAlias" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressAlias );
+ // Print to log file
+ iLog->Log( KCMessageAddressAlias);
+
+ TPtrC alias;
+ ////Get the address from cfg file
+ aItem.GetNextString(alias);
+ //Get the address in CMessageAddress and compare with above
+ if(iMessageAddress->Alias().Compare(alias) == 0 )
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsExternalizeL
+// ?Test Case for API ExternalizeL that Externalizes address data to a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsExternalizeL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressExternalizeL, "In TestCMessageAddressExternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressExternalizeL );
+ // Print to log file
+ iLog->Log( KCMessageAddressExternalizeL);
+
+ iMsgAdrbuffer = CBufFlat::NewL( KMessageBufferSize );
+
+ //Create a Read Buffer Stream
+ RBufWriteStream bufStream;
+ //Open the Stream
+ bufStream.Open( *iMsgAdrbuffer );
+ //Externalise the MessageData object
+ TRAPD(err , iMessageAddress->ExternalizeL(bufStream ));
+ //Comit and Close the Write Stream
+ bufStream.CommitL();
+ bufStream.Close();
+
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestMsgAdrsInternalizeL
+// ?Test Case for API InternalizeL that Internalizes message data from a stream
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestMsgAdrsInternalizeL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CMessageAddress" );
+ _LIT( KCMessageAddressInternalizeL, "In TestCMessageAddressInternalizeL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KCMessageAddressInternalizeL );
+ // Print to log file
+ iLog->Log( KCMessageAddressInternalizeL);
+
+ RBufReadStream bufStream;
+ bufStream.Open(*iMsgAdrbuffer);
+ //Internalise the MessageData Object
+ TRAPD(err, iMessageAddress->InternalizeL(bufStream));
+ //Release and Close the Read Stream
+ bufStream.Release();
+ bufStream.Close();
+ if(iMsgAdrbuffer)
+ {
+ delete iMsgAdrbuffer;
+ iMsgAdrbuffer = NULL;
+ }
+ if(err == KErrNone)
+ {
+ return KErrNone;
+ }
+ else
+ {
+ return err;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::?TestTSendingCapabilities
+// ?Test Case for functions in TSendingCapabilities
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestTSendingCapabilities( CStifItemParser& /*aItem*/ )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest TSendingCapabilities" );
+ _LIT( KTSendingCapabilities, "In TestTSendingCapabilities" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTSendingCapabilities );
+ // Print to log file
+ iLog->Log( KTSendingCapabilities);
+
+ _LIT( KTSendingCapabilitiesObj, "Creating TSendingCapabilities Object" );
+ iLog->Log( KTSendingCapabilitiesObj);
+
+ _LIT( KTSendingCapabilitiesCtor, "Calling TSendingCapabilities Constructor" );
+ iLog->Log( KTSendingCapabilitiesCtor);
+
+ //Create TSendingCapabilities Object
+ TSendingCapabilities capabilitiesone;
+
+ _LIT( KTSendingCapabilitiesCtord, "TSendingCapabilities Constructor called successfully" );
+ iLog->Log( KTSendingCapabilitiesCtord);
+
+ _LIT( KTSendingCapabilitiesParamCtor, "Calling TSendingCapabilities Paramaterised Constructor" );
+ iLog->Log( KTSendingCapabilitiesParamCtor);
+
+ //Create TSendingCapabilities Object with parameters
+ TSendingCapabilities capabilitiestwo = TSendingCapabilities( 0, KMaxTInt,
+ TSendingCapabilities::ESupportsAttachments );
+
+ _LIT( KTSendingCapabilitiesParamCtord, "TSendingCapabilities Paramaterised Constructor called successfully" );
+ iLog->Log( KTSendingCapabilitiesParamCtord);
+
+ //Create another TSendingCapabilities Object with parameters
+ TSendingCapabilities capabilitiesthree = TSendingCapabilities( 0, KMaxTInt,
+ TSendingCapabilities::ESupportsAttachments );
+
+ _LIT( KTSendingCapabilitiesEqualOptr, "Calling TSendingCapabilities EqualTo Operator" );
+ iLog->Log( KTSendingCapabilitiesEqualOptr);
+
+ //Comapre the two object with Equal to operator
+ if( capabilitiestwo == capabilitiesthree )
+ {
+ _LIT( KTSendingCapabilitiesEqual, "Two TSendingCapabilities Objects are Equal" );
+ iLog->Log( KTSendingCapabilitiesEqual);
+ }
+ _LIT( KTSendingCapabilitiesNotEqualOptr, "Calling TSendingCapabilities Not EqualTo Operator" );
+ iLog->Log( KTSendingCapabilitiesNotEqualOptr);
+
+ //Comapre the two object with Not Equal to operator
+ if( capabilitiesone != capabilitiestwo )
+ {
+ _LIT( KTSendingCapabilitiesNotEqual, "Two TSendingCapabilities Objects are Not Equal" );
+ iLog->Log( KTSendingCapabilitiesNotEqual);
+ }
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCopyLC
+// Test SetServiceMenuNameL,SetServiceAddressL,SetServiceNameL,SetServiceFeatures and
+// CopyLCtest method function.
+// -----------------------------------------------------------------------------
+//
+TInt CSendUIAPITest::TestCopyLC( CStifItemParser& /*aItem*/ )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestCopyLC, "In TestCopyLC" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCopyLC );
+ // Print to log file
+ iLog->Log( KTestCopyLC);
+
+ _LIT( KNewL, "Calling CSendingServiceInfo::NewL" );
+ iLog->Log( KNewL);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceMenuNameL, "Calling CSendingServiceInfo's SetServiceMenuNameL" );
+ iLog->Log( KSetServiceMenuNameL);
+ serviceInfo->SetServiceMenuNameL( KTestText );
+
+ _LIT( KSetServiceAddressL, "Calling CSendingServiceInfo's SetServiceAddressL" );
+ iLog->Log( KSetServiceAddressL);
+ serviceInfo->SetServiceAddressL( KTestText );
+
+ _LIT( KSetServiceNameL, "Calling CSendingServiceInfo's SetServiceNameL" );
+ iLog->Log( KSetServiceNameL);
+ serviceInfo->SetServiceNameL( KTestText );
+
+ _LIT( KSetServiceFeatures, "Calling CSendingServiceInfo's SetServiceFeatures" );
+ iLog->Log( KSetServiceFeatures);
+ serviceInfo->SetServiceFeatures( CSendingServiceInfo::EServiceInValid
+ | CSendingServiceInfo::EServiceHidden
+ | CSendingServiceInfo::EServiceCanSendDirectly );
+
+ _LIT( KCopyLC, "Calling CSendingServiceInfo's CopyLC" );
+ iLog->Log( KCopyLC);
+ CSendingServiceInfo* copy;
+ copy = serviceInfo->CopyLC();
+
+ //TPtrC
+ if ( serviceInfo->ServiceName().Compare( copy->ServiceName() ) != 0 ||
+ serviceInfo->ServiceMenuName().Compare( copy->ServiceMenuName() ) != 0 ||
+ serviceInfo->ServiceAddress().Compare( copy->ServiceAddress() ) != 0 ||
+ serviceInfo->ServiceFeatures() != copy->ServiceFeatures() )
+ {
+ iLog->Log( _L("CopyLC failed"));
+ }
+
+ CleanupStack::PopAndDestroy( copy );
+ delete serviceInfo;
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestSetTechnologyTypeId
+// SetTechnologyTypeId test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestSetTechnologyTypeIdL( CStifItemParser& /*aItem*/ )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestSetTechnologyTypeId, "In TestSetTechnologyTypeId" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestSetTechnologyTypeId );
+ // Print to log file
+ iLog->Log( KTestSetTechnologyTypeId);
+
+ //Create the CSendingServiceInfo Object
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+ _LIT( KCSendingServiceInfoObj, "CSendingServiceInfo Object created" );
+ iLog->Log( KCSendingServiceInfoObj);
+
+ _LIT( KSetTechnologyTypeId, "Calling CSendingServiceInfo SetTechnologyTypeId" );
+ iLog->Log( KSetTechnologyTypeId);
+ serviceInfo->SetTechnologyTypeId( KServideId );
+
+ _LIT( KTechnologyTypeId, "Calling CSendingServiceInfo TechnologyTypeId" );
+ iLog->Log( KTechnologyTypeId);
+ //Compare the Technology ID
+ if ( serviceInfo->TechnologyTypeId() != KServideId )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+ }
+ // -----------------------------------------------------------------------------
+// CSendUIAPITest::TestServiceID
+// ServiceID test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestServiceIDL( CStifItemParser& /*aItem*/ )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestServiceID, "In TestServiceID" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestServiceID );
+ // Print to log file
+ iLog->Log( KTestServiceID);
+
+ TUid id(KDrmLinkSender);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceId, "Calling CSendingServiceInfo SetServiceId" );
+ iLog->Log( KSetServiceId);
+ serviceInfo->SetServiceId( id );
+ //Compare the ServiceID's
+ if( serviceInfo->ServiceId() != id )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestServiceProviderID
+// ServiceProviderID test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestServiceProviderIDL( CStifItemParser& /*aItem*/ )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestServiceProviderID, "In TestServiceProviderID" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestServiceProviderID );
+ // Print to log file
+ iLog->Log( KTestServiceProviderID);
+ TUid id(KDrmLinkSender);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceProviderId, "Calling CSendingServiceInfo SetServiceProviderId" );
+ iLog->Log( KSetServiceProviderId);
+ serviceInfo->SetServiceProviderId( id );
+ //Compare the ServiceProviderID's
+ if( serviceInfo->ServiceProviderId() != id )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestServiceCapabilities
+// ServiceCapabilities test method function.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestServiceCapabilitiesL( CStifItemParser& /*aItem*/ )
+ {
+ //print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendingServiceInfo" );
+ _LIT( KTestServiceCapabilities, "In TestServiceCapabilities" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestServiceCapabilities );
+ // Print to log file
+ iLog->Log( KTestServiceCapabilities);
+ //Create the Capabilities
+ TSendingCapabilities cap(10,100,TSendingCapabilities::EAllServices);
+ //Create the CSendingServiceInfo var
+ CSendingServiceInfo* serviceInfo = CSendingServiceInfo::NewL();
+
+ _LIT( KSetServiceCapabilities, "Calling CSendingServiceInfo SetServiceCapabilities" );
+ iLog->Log( KSetServiceCapabilities);
+ serviceInfo->SetServiceCapabilities( cap );
+ //Compare the ServiceCapabilities
+ if( serviceInfo->ServiceCapabilities() != cap )
+ {
+ delete serviceInfo;
+ return KErrCancel;
+ }
+ else
+ {
+ delete serviceInfo;
+ return KErrNone;
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIAddSendMenuItemLL
+// Test method for CSendUI AddSendMenuItemL launched
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIAddSendMenuItemLL( CStifItemParser& /*aItem*/ )
+ {
+
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIAddSendMenuItemLL, "In TestCSendUIAddSendMenuItemLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIAddSendMenuItemLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIAddSendMenuItemLL );
+
+ MEikMenuObserver* menuObserver = new(ELeave)FakeObserver();
+
+ CEikMenuPane* menuPane = new(ELeave)CEikMenuPane(menuObserver);
+
+ _LIT( KSetServiceCapabilities, "Calling CSendUI AddSendMenuItemL" );
+ iLog->Log( KSetServiceCapabilities);
+
+ TRAPD(err,iSendUi->AddSendMenuItemL( *menuPane, 0, 99, KCapabilitiesForAllServices));
+ //Delete the MenoObserver and MenuPane
+ delete(menuObserver);
+ delete(menuPane);
+
+ if(err == KErrNone)
+ {
+ _LIT( KSetServiceCapabilities, "CSendUI AddSendMenuItemL is successfully called" );
+ iLog->Log( KSetServiceCapabilities);
+ return KErrNone;
+ }
+ else
+ {
+ _LIT( KSetServiceCapabilities, "CSendUI AddSendMenuItemL has left" );
+ iLog->Log( KSetServiceCapabilities);
+ return KErrGeneral;
+ }
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUINewLCL
+// Test method for CSendUI NewLC
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUINewLCL( CStifItemParser& /*aItem*/ )
+ {
+
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUINewLCL, "In TestCSendUINewLCL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUINewLCL );
+ // Print to log file
+ iLog->Log( KTestCSendUINewLCL );
+
+ //Call CSendUI NewLC
+ CSendUi* SendUi = CSendUi::NewLC();
+
+ CleanupStack::PopAndDestroy(SendUi);
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIShowQueryAndSendLL
+// Test method for CSendUI ShowQueryAndSendL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIShowQueryAndSendLL( CStifItemParser& /*aItem*/ )
+ {
+
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIShowQueryAndSendLL, "In TestCSendUIShowQueryAndSendLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIShowQueryAndSendLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIShowQueryAndSendLL );
+
+ TSendingCapabilities capabilities(0, 0, TSendingCapabilities::ESupportsEditor );
+
+ _LIT( KShowQueryAndSendL, "Calling CSendUI ShowQueryAndSendL ..." );
+ iLog->Log( KShowQueryAndSendL );
+ //Calling CSendUI ShowQueryAndSendL
+ TRAPD(err, iSendUi->ShowQueryAndSendL(
+ NULL,
+ capabilities,
+ NULL, // services to dim
+ KNullUid,
+ ETrue, // editor embedded
+ KWrite ));
+
+ if(err == KErrNone)
+ {
+ _LIT( KSendUIErr, "CSendUI ShowQueryAndSendL is succesfully called" );
+ iLog->Log( KSendUIErr );
+ return KErrNone;
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ShowQueryAndSendL has Left" );
+ iLog->Log( KSendUIErr );
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIShowSendQueryLL
+// Test method for CSendUI ShowSendQueryL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIShowSendQueryLL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIShowSendQueryLL, "In TestCSendUIShowSendQueryLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIShowSendQueryLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIShowSendQueryLL );
+
+ TSendingCapabilities capabilities(0, 0, TSendingCapabilities::ESupportsEditor );
+ TUid serviceId;
+
+ _LIT( KShowSendQueryL, "Calling CSendUI ShowSendQueryL ..." );
+ iLog->Log( KShowSendQueryL );
+ //Calling CSendUI ShowSendQueryL
+ TRAPD(err, serviceId = iSendUi->ShowSendQueryL(
+ NULL,
+ capabilities,
+ NULL, // services to dim
+ KTextOpenEditor ));
+
+ if(err == KErrNone)
+ {
+ _LIT( KretShowSendQueryL, "ShowSendQueryL called successfully" );
+ iLog->Log( KretShowSendQueryL );
+ if (serviceId != TUid::Null()) // not canceled
+ {
+ _LIT( KShowSendQueryL, "ShowSendQueryL returns a valid ServiceID" );
+ iLog->Log( KShowSendQueryL );
+ //Create and Send the Message
+ _LIT( KCreateAndSendMessageL, "Calling CSendUI CreateAndSendMessageL" );
+ iLog->Log( KCreateAndSendMessageL );
+ TRAPD(err, iSendUi->CreateAndSendMessageL(
+ serviceId,
+ NULL,
+ KNullUid,
+ 0));
+ if(err == KErrNone)
+ {
+ iLog->Log(_L("CSendUI CreateAndSendMessageL call is successful"));
+ return KErrNone;
+ }
+ else
+ {
+ iLog->Log(_L("CSendUI CreateAndSendMessageL call is unsuccessful"));
+ return KErrGeneral;
+ }
+ }
+ else
+ {
+ _LIT( KShowSendQueryL, "ShowSendQueryL returns a NULL ServiceID because user has selected Cancel" );
+ iLog->Log( KShowSendQueryL );
+ return KErrNone;
+ }
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ShowSendQueryL has Left" );
+ iLog->Log( KSendUIErr );
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIValidateServiceLL
+// Test method for CSendUI SendUIValidateServiceL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIValidateServiceLL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIValidateServiceLL, "In TestCSendUIValidateServiceLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIValidateServiceLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIValidateServiceLL );
+
+ TSendingCapabilities capabilities(0, 0, TSendingCapabilities::EAllServices );
+
+ _LIT( KValidateServiceL, "Calling CSendUI ValidateServiceL ..." );
+ iLog->Log( KValidateServiceL );
+
+ TInt ret = EFalse;
+ //Calling CSendUI ValidateServiceL
+ // This only tests that these Mtm return something and they do exist
+#ifdef __SENDUI_MMS_UPLOAD
+ // test direct and indirect uploads.
+ TRAPD( err, ret = iSendUi->ValidateServiceL(KMmsDirectUpload,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has MmsDirectUpload service available"));
+ }
+
+ TRAP( err, ret = iSendUi->ValidateServiceL(KMmsIndirectUpload,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has MmsIndirectUpload service available"));
+ }
+
+ if(err)
+ {
+ iLog->Log( _L("CSendUI ValidateServiceL has Left with error id %d"),err );
+ return KErrGeneral;
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ValidateServiceL call successfull" );
+ iLog->Log( KSendUIErr );
+ return KErrNone;
+ }
+#endif
+
+ TRAPD( err, ret = iSendUi->ValidateServiceL(KSenduiMtmMmsUid,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has Mms service available"));
+ }
+
+ TRAP( err, ret = iSendUi->ValidateServiceL(KSenduiMtmSmsUid,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has Sms service available"));
+ }
+
+ TRAP( err, ret = iSendUi->ValidateServiceL(KSenduiMtmPostcardUid,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has Postcard service available"));
+ }
+
+ TRAP( err, ret = iSendUi->ValidateServiceL(KSenduiMtmSmtpUid,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has Smtp service available"));
+ }
+
+#ifndef __WINSCW__
+ TRAPD( errBt, ret = iSendUi->ValidateServiceL(KSenduiMtmBtUid,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has BlueTooth service available"));
+ }
+ if(errBt)
+ {
+ iLog->Log( _L("CSendUI ValidateServiceL for Bluetooth has Left with error id %d"),err );
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ValidateServiceL call successfull" );
+ iLog->Log( KSendUIErr );
+ }
+#endif
+
+ TRAP( err, ret = iSendUi->ValidateServiceL(KSenduiMtmIrUid,capabilities));
+ if(ret != EFalse)
+ {
+ iLog->Log(_L("SendUi has Infrared service available"));
+ }
+ if(err)
+ {
+ iLog->Log( _L("CSendUI ValidateServiceL for has Left with error id %d"),err );
+ return KErrGeneral;
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ValidateServiceL call successfull" );
+ iLog->Log( KSendUIErr );
+ return KErrNone;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIServiceCapabilitiesLL
+// Test method for CSendUI ValidateServiceL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIServiceCapabilitiesLL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIServiceCapabilitiesLL, "In TestCSendUIServiceCapabilitiesLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIServiceCapabilitiesLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIServiceCapabilitiesLL );
+
+ TSendingCapabilities capabilities(0, 0, TSendingCapabilities::ESupportsEditor );
+
+ _LIT( KServiceCapabilitiesL, "Calling CSendUI ServiceCapabilitiesL ..." );
+ iLog->Log( KServiceCapabilitiesL );
+ TInt ret = KErrNone;
+ //Calling CSendUI ServiceCapabilitiesL
+ TRAPD( err, ret = iSendUi->ServiceCapabilitiesL( KSenduiMtmSmsUid, capabilities) );
+ if(err == KErrNone)
+ {
+ if(ret != KErrNone)
+ {
+ iLog->Log(_L("CSendUI ServiceCapabilitiesL call unsuccessfull"));
+ return ret;
+ }
+ else
+ {
+ iLog->Log(_L("CSendUI ServiceCapabilitiesL call successfull"));
+ return KErrNone;
+ }
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ServiceCapabilitiesL has Left" );
+ iLog->Log( KSendUIErr );
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIAvailableServicesLL
+// Test method for CSendUI AvailableServicesL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIAvailableServicesLL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIAvailableServicesLL, "In TestCSendUIAvailableServicesLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIAvailableServicesLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIAvailableServicesLL );
+
+ RPointerArray<CSendingServiceInfo> services;
+
+ _LIT( KAvailableServicesL, "Calling CSendUI AvailableServicesL ..." );
+ iLog->Log( KAvailableServicesL );
+ //Calling CSendUI AvailableServicesL
+ TRAPD(err , iSendUi->AvailableServicesL(services,KDrmLinkSender));
+ if(err == KErrNone)
+ {
+ if(services.Count() > 0)
+ {
+ _LIT( KSendUIServiceCnt, "CSendUI AvailableServicesL count is non zero" );
+ iLog->Log( KSendUIServiceCnt );
+ }
+ _LIT( KSendUIErr, "CSendUI AvailableServicesL call successfull" );
+ iLog->Log( KSendUIErr );
+
+ //Calling CSendUI TechnologyType
+ TUid techTypeUid = iSendUi->TechnologyType( KDrmLinkSender );
+ if(techTypeUid != TUid::Uid(0) )
+ {
+ iLog->Log(_L("CSendUI TechnologyType call successful"));
+ }
+ else
+ {
+ iLog->Log(_L("CSendUI TechnologyType returns NULL ie. DrmLinkSend service doesn't exist"));
+ }
+ return KErrNone;
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI AvailableServicesL has left " );
+ iLog->Log( KSendUIErr );
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIAddTypedMenuItemLL
+// Test method for CSendUI AddTypedMenuItemL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIAddTypedMenuItemLL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIAddTypedMenuItemLL, "In TestCSendUIAddTypedMenuItemLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIAddTypedMenuItemLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIAddTypedMenuItemLL );
+
+ MEikMenuObserver* menuObserver = new(ELeave)FakeObserver();
+
+ CEikMenuPane* menuPane = new(ELeave)CEikMenuPane(menuObserver);
+
+ _LIT( KAddTypedMenuItemL, "Calling CSendUI AddTypedMenuItemL ..." );
+ iLog->Log( KAddTypedMenuItemL );
+ //Calling CSendUI AddTypedMenuItemL
+ TRAPD(err , iSendUi->AddTypedMenuItemL( CSendUi::ESendMenu, *menuPane, 0, 99, KCapabilitiesForAllServices) );
+
+ if(menuObserver)
+ delete menuObserver;
+ if(menuPane)
+ delete menuPane;
+
+ if(err == KErrNone)
+ {
+ _LIT( KSendUIErr, "CSendUI AddTypedMenuItemL call successfull " );
+ iLog->Log( KSendUIErr );
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI AddTypedMenuItemL has left " );
+ iLog->Log( KSendUIErr );
+ return KErrGeneral;
+ }
+
+ //Also call the depricated CanSendBioMessage API here
+ TInt result = EFalse;
+ _LIT( KSendUIBM, "Calling CSendUI CanSendBioMessage ..." );
+ iLog->Log( KSendUIBM );
+ result = iSendUi->CanSendBioMessage(KSenduiMtmSmsUid);
+ if(result == EFalse)
+ return KErrNone;
+ else
+ return KErrGeneral;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIShowTypedQueryAndSendLL
+// Test method for CSendUI ShowTypedQueryAndSendL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIShowTypedQueryAndSendLL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIShowTypedQueryAndSendLL, "In TestCSendUIShowTypedQueryAndSendLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIShowTypedQueryAndSendLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIShowTypedQueryAndSendLL );
+
+ TSendingCapabilities capabilities(0, 0, TSendingCapabilities::EAllServices);
+
+ TRAPD(err, iSendUi->ShowTypedQueryAndSendL(
+ CSendUi::EWriteMenu,
+ NULL,
+ capabilities,
+ NULL, // services to dim
+ KNullUid,
+ 0,
+ KTextDoNothing ) );
+
+ if(err == KErrNone)
+ {
+ _LIT( KSendUIErr, "CSendUI ShowTypedQueryAndSendL call successfull " );
+ iLog->Log( KSendUIErr );
+ return KErrNone;
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ShowTypedQueryAndSendL has left " );
+ iLog->Log( KSendUIErr );
+ return KErrGeneral;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUIAPITest::TestCSendUIShowTypedQueryLL
+// Test method for CSendUI ShowTypedQueryL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUIAPITest::TestCSendUIShowTypedQueryLL( CStifItemParser& /*aItem*/ )
+ {
+ // Print to UI
+ _LIT( KSendUIAPITest, "SendUIAPITest CSendUI" );
+ _LIT( KTestCSendUIShowTypedQueryLL, "In TestCSendUIShowTypedQueryLL" );
+ TestModuleIf().Printf( 0, KSendUIAPITest, KTestCSendUIShowTypedQueryLL );
+ // Print to log file
+ iLog->Log( KTestCSendUIShowTypedQueryLL );
+
+ TSendingCapabilities capabilities(0, 0, TSendingCapabilities::ESupportsEditor );
+ TUid serviceId( KNullUid );
+
+ TRAPD(err, serviceId = iSendUi->ShowTypedQueryL(
+ CSendUi::EWriteMenu,
+ NULL,
+ capabilities,
+ NULL, // services to dim
+ KTextSupportsEditor ) );
+
+ if(err == KErrNone)
+ {
+ if (serviceId != TUid::Null())
+ {
+ iLog->Log(_L("CSendUI ShowTypedQueryL call successfull "));
+ return KErrNone;
+ }
+ else
+ {
+ iLog->Log(_L("CSendUI ShowTypedQueryL returns KNullId since user has selected Cancel"));
+ return KErrNone;
+ }
+ }
+ else
+ {
+ _LIT( KSendUIErr, "CSendUI ShowTypedQueryL has left " );
+ iLog->Log( KSendUIErr );
+ return KErrGeneral;
+ }
+ }
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+// [End of File] - Do not remove
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_datautils_api/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 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: File that exports the files belonging to
+: Send UI datautils API
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/CSendUiAttachment.h MW_LAYER_PLATFORM_EXPORT_PATH(CSendUiAttachment.h)
+../inc/SendUiFileRightsEngine.h MW_LAYER_PLATFORM_EXPORT_PATH(SendUiFileRightsEngine.h)
+../inc/SendUiOperationWait.h MW_LAYER_PLATFORM_EXPORT_PATH(SendUiOperationWait.h)
+../inc/CSendUiAttachment.inl MW_LAYER_PLATFORM_EXPORT_PATH(CSendUiAttachment.inl)
+../inc/SendUiDataUtils.h MW_LAYER_PLATFORM_EXPORT_PATH(SendUiDataUtils.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_datautils_api/inc/CSendUiAttachment.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,199 @@
+/*
+* Copyright (c) 2002-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: Encapsulates message real addressa and alias
+*
+*/
+
+
+
+#ifndef T_ATTACHMENTFILE_H
+#define T_ATTACHMENTFILE_H
+
+#include <e32base.h>
+#include <apmstd.h>
+
+// Forward declarations
+class RFs;
+class RFile;
+class TDesC16;
+class RApaLsSession;
+class CDesC16Array;
+class CRichText;
+class CMsvSession;
+class CFileMan;
+
+NONSHARABLE_CLASS (CSendUiAttachment) : public CBase
+ {
+public:
+
+ enum TSendUiAttachmentType
+ {
+ EAttachmentHandle,
+ EAttachmentPath
+ };
+
+ enum TSendUiAttachmentFlags
+ {
+ EAttachmentTemporary = 0x01 // The file will be deleted at object destruction
+ };
+
+public:
+
+ /**
+ * NewLC
+ *
+ * Member variables iPath, iHandle and iSize are guaranteed to have a correct values
+ * after creation. Owns created iHandle.
+ *
+ * @return Pointer to a valid CSendUiAttachment object.
+ */
+ static CSendUiAttachment* NewLC( const TDesC16* aPath, RFs& aRFs );
+
+ /**
+ * NewLC
+ *
+ * @param aHandle Does not take ownership of aHandle. iHandle is not own.
+ */
+ static CSendUiAttachment* NewLC( const RFile* aHandle );
+
+ /**
+ * NewLC
+ *
+ * @param aBodyText Object of CRichText. Temporary attachment file is created, which
+ * takes name of first characters of the CRichText object. The created iHandle
+ * is own.
+ */
+ static CSendUiAttachment* NewLC( const CRichText& aBodyText, RFs& aRFs );
+
+ void ConstructL( const TDesC16* aPath, RFs& aRFs );
+
+ void ConstructL( const CRichText& aBodyText, RFs& aRFs );
+
+ CSendUiAttachment( );
+
+ virtual ~CSendUiAttachment();
+
+ /**
+ * InitAttachmentArrayLCC
+ *
+ * Static init function for importing file paths and handles into CSendUiAttachment
+ * array.
+ */
+ IMPORT_C static CArrayPtrFlat<CSendUiAttachment>* InitAttachmentArrayLCC(
+ const CDesC16Array& aPaths,
+ const RArray<RFile>& aHandles,
+ RFs& aFSs );
+
+
+ /**
+ * Returns type of the attachment
+ * @return EAttachmentHandle or EAttachmentPath
+ */
+ IMPORT_C TInt Type();
+
+ /**
+ * Creates temporary path
+ *
+ * This is used to save the temporary body text attachment. See above.
+ * @since Series 60 v3.2
+ * @param aTempFileName Name of a temporary file
+ */
+ IMPORT_C static void CreateTempPathL(
+ TDes16& aCompletePath,
+ TFileName& aTempFileName,
+ RFs& aRFs );
+
+ /**
+ * @return A path to the attachment
+ */
+ inline const TDesC16* Path();
+
+ /**
+ * @return A handle to the attachment
+ */
+ inline const RFile* Handle();
+
+ /**
+ * Set MimeType of the attachment
+ * @return None
+ */
+ inline void SetMimeType( TDataType aMimeType );
+
+ /**
+ * Return Mime type descriptor
+ * @return Mime type description
+ */
+ inline const TPtrC8 MimeType();
+
+ /**
+ * @return Size of file. Size is set during construction.
+ */
+ inline TInt Size();
+
+ /**
+ * Set flag(s)
+ * @param aFlag
+ */
+ inline void SetFlags( TInt aFlag );
+
+ /**
+ * File flags
+ * @return Flags.
+ */
+ inline TBool Flag( TInt aFlag );
+
+
+private:
+
+ /**
+ * Size of attachment. Initialized in construction.
+ */
+ TInt iSize;
+
+ /**
+ * Flags.
+ */
+ TInt iFlags;
+
+ /**
+ * MimeType
+ */
+ TDataType iMimeType;
+
+ /**
+ * Handle to the attachment.
+ * Owns, if iPath is not NULL.
+ * Does not own, if iPath is NULL.
+ *
+ * Note: See NewLC functions for clarification of ownership.
+ */
+ const RFile* iHandle;
+
+ /**
+ * Path to the attachment.
+ * Owns.
+ */
+ TDesC16* iPath;
+
+ /**
+ * FileManager. Used for file operations with the temporary file.
+ * Owns.
+ */
+ CFileMan* iFileManager;
+ };
+
+
+#include "csenduiattachment.inl"
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_datautils_api/inc/CSendUiAttachment.inl Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,81 @@
+/*
+* 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: CSendUiAttachment.inl*
+*/
+
+
+
+// -----------------------------------------------------------------------------
+// Path
+// -----------------------------------------------------------------------------
+//
+inline const TDesC16* CSendUiAttachment::Path()
+ {
+ return iPath;
+ }
+
+// -----------------------------------------------------------------------------
+// Handle
+// -----------------------------------------------------------------------------
+//
+inline const RFile* CSendUiAttachment::Handle()
+ {
+ return iHandle;
+ }
+
+// -----------------------------------------------------------------------------
+// SetMimeType
+// -----------------------------------------------------------------------------
+//
+inline void CSendUiAttachment::SetMimeType( TDataType aMimeType )
+ {
+ iMimeType = aMimeType;
+ }
+
+// -----------------------------------------------------------------------------
+// MimeType
+// -----------------------------------------------------------------------------
+//
+inline const TPtrC8 CSendUiAttachment::MimeType()
+ {
+ return iMimeType.Des8();
+ }
+
+// -----------------------------------------------------------------------------
+// Size
+// -----------------------------------------------------------------------------
+//
+inline TInt CSendUiAttachment::Size()
+ {
+ return iSize;
+ }
+
+// -----------------------------------------------------------------------------
+// Flag
+// -----------------------------------------------------------------------------
+//
+inline TBool CSendUiAttachment::Flag( TInt aFlag )
+ {
+ return iFlags && aFlag;
+ }
+
+// -----------------------------------------------------------------------------
+// SetFlags
+// -----------------------------------------------------------------------------
+//
+inline void CSendUiAttachment::SetFlags( TInt aFlag )
+ {
+ iFlags |= aFlag;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_datautils_api/inc/SendUiDataUtils.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2002-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: Utility class for SendUI.
+*
+*/
+
+
+
+
+#ifndef CSENDUIDATAUTILS_H
+#define CSENDUIDATAUTILS_H
+
+// INCLUDES
+#include <e32base.h>
+#include <f32file.h>
+#include <apmstd.h>
+#include <msgmimetypes.h>
+
+class CSendingServiceInfo;
+// CONSTANTS
+_LIT8( KSenduiAudioPattern, "*audio/*" );
+_LIT8( KSenduiVideoPattern, "*video/*" );
+
+// FORWARD DECLARATION
+class RApaLsSession;
+
+// CLASS DECLARATION
+
+/**
+* Utility class for SendUI.
+*
+* @lib SenduiDataUtils.lib
+* @since Series 60 3.0
+*/
+NONSHARABLE_CLASS (CSendUiDataUtils) : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSendUiDataUtils* NewL( RFs& aFs );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendUiDataUtils();
+
+ public: // New functions
+
+ /**
+ * Resolves mime types for
+ * @since Series ?XX ?SeriesXX_version
+ * @param aTotalSize Return value contains total size of confirmed files
+ * @return None.
+ */
+ IMPORT_C void ResolveFileMimeTypeL(
+ const TDesC& aFilePath,
+ TDataType& aMimeType );
+
+ /**
+ * ?member_description.
+ * @since Series ?XX ?SeriesXX_version
+ * @param aTotalSize Return value contains total size of confirmed files
+ * @return None.
+ */
+ IMPORT_C void ResolveFileMimeTypeL(
+ const RFile& aFile,
+ TDataType& aMimeType );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CSendUiDataUtils( RFs& aFs );
+
+ private:
+
+ // Reference to an open fileserver session
+ RFs& iFs;
+
+ RApaLsSession* iApaLsSession;
+
+ };
+
+#endif // CSENDUIDATAUTILS_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_datautils_api/inc/SendUiFileRightsEngine.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,307 @@
+/*
+* Copyright (c) 2002-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: Provides functionality for DRM file protection analyzing
+* and content MMS compatibility resolving.
+*
+*/
+
+
+
+
+#ifndef SENDUIFILERIGHTSENGINE_H
+#define SENDUIFILERIGHTSENGINE_H
+
+// INCLUDES
+#include <e32base.h>
+#include <f32file.h> // FileSession
+#include <badesca.h>
+
+
+// DATA TYPES
+enum TFREErrorNoteType
+ {
+ EErrorNote = 0,
+ EInformationNote,
+ EConfirmationQuery
+ };
+
+// FORWARD DECLARATIONS
+class CMsgMediaResolver;
+class CMmsConformance;
+class CFileProtectionResolver;
+class CSendUiAttachment;
+// CLASS DECLARATION
+
+/**
+* Provides functionality for DRM file protection analyzing
+* and content MMS compatibility resolving.
+*
+* @lib SenduiDataUtils.lib
+* @since Series 60 3.0
+*/
+NONSHARABLE_CLASS (CSendUiFileRightsEngine) : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSendUiFileRightsEngine* NewL( RFs& aFs );
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSendUiFileRightsEngine* NewLC( RFs& aFs );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendUiFileRightsEngine();
+
+ public: // New functions
+
+ /**
+ * ValidateFiles
+ *
+ * This functions stores file sizes for all validated files.
+ *
+ * @since S60 3.0
+ * @param aAttachments Attachents to be validated.
+ * Return value contains valid attachments,
+ * invalid attachments are filtered away from array.
+ * @return None.
+ */
+ IMPORT_C void ValidateFiles( CArrayPtrFlat<CSendUiAttachment>* aAttachments );
+
+ /**
+ * Confirms DRM rights of files
+ *
+ * Note: files must be validated before DRM analyze. This functions also
+ * stores mimetypes of files for later use. Mimetypes are stored into
+ * the given array.
+ *
+ * @since S60 3.0
+ * @param aAttachments Attachments (Path and handle) to be validated.
+ * Return value contains valid attachments,
+ * invalid attachments are filtered away from array.
+ * @return None.
+ */
+ IMPORT_C void ConfirmDrmFileRightsL( CArrayPtrFlat<CSendUiAttachment>* aAttachments );
+
+ /**
+ * Validates files for sending via MMS
+ *
+ * Note: files must be validated before MMS validation.
+ *
+ * @since S60 3.0
+ * @param aAttachments Attachments to be validated.
+ * Return value contains valid attachments,
+ * invalid attachments are filtered away from array.
+ * @param aServiceId Identifies the type of MMS service (MMS/MMS upload..)
+ * @return None.
+ */
+
+ IMPORT_C void ConfirmMmsValidityL( CArrayPtrFlat<CSendUiAttachment>* aAttachments, TUid aServiceId = KNullUid );
+
+ /**
+ * Shows DRM confirmation query and/or error note, if needed.
+ * Returns EFalse if user cancels sending.
+ * @since S60 v.3.0
+ * @param aServiceId Different services get different notes.
+ * @return EFalse if user cancels sending, otherwise ETrue.
+ */
+ IMPORT_C TBool ShowDrmAndMmsInfoL( TUid aServiceId = KNullUid );
+
+ /**
+ * CalculateTotalSizeOfFiles
+ *
+ * File sizes saved by ValidateFiles are used. If cached file sizes
+ * do not exist, then file sizes are solved.
+ *
+ * @aAttachments Attachments
+ * @aLinksSupported If ETrue, then only attachments type of file handles are calculated
+ * total size of files. Otherwise filesize of all attachments is returned.
+ * @return Size of files in aAttachments
+ */
+ IMPORT_C TInt CalculateTotalSizeOfFiles(
+ CArrayPtrFlat<CSendUiAttachment>* aAttachments,
+ TBool aLinksSupported );
+
+ /**
+ * Clears all validation counter
+ *
+ * @since S60 v3.0
+ * @return None.
+ */
+ IMPORT_C void ClearValidationCounters();
+
+ /**
+ * Shows an information note
+ * @since S60 v.3.0
+ * @param aTextResourceId Resource id of the note
+ * @return None.
+ */
+ IMPORT_C void ShowInformationNoteL( TUint aTextResourceId ) const;
+
+ /**
+ * Cleanup ECOM Implementation info array
+ * @param aAny The array
+ * @return None.
+ */
+ static void CleanupImplArray( TAny* aAny );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CSendUiFileRightsEngine( RFs& aFS );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: // New functions
+
+ /**
+ * Validates that the given file usable
+ *
+ * @since S60 v3.0
+ * @param aFileName file path
+ * @param aFileSize file size
+ * @return ETrue, if the file can be opened for reading. Otherwise EFalse
+ */
+ TBool ValidateFile( const TDesC& aFileName, TInt& aFileSize );
+
+ /**
+ * AnalyzeMmsValidationResult
+ * @since S60 v.3.0
+ * @param aAttachment Attachment to be analyzed
+ * @return ETrue, if attachment is valid. Otherwise EFalse.
+ */
+ TBool AnalyzeMmsValidationResultL( CSendUiAttachment& aAttachment, TInt& aAttachmentsSize );
+
+ /**
+ * Resolves a proper DRM query for the given service
+ * @since S60 v.3.0
+ * @param aServiceId Service Uid
+ * @param aResourceId Id for a proper query in resources.
+ * @return None.
+ */
+ void ResolveDrmQuery( TUid aServiceId, TUint& aResourceId );
+
+ /**
+ * Resolves a proper error note for the given service
+ * @since S60 v.3.0
+ * @param aServiceId Service Uid
+ * @param aResourceId Id for a proper note in resources.
+ * @param aNoteType Type of the note (query/info)
+ * @param aValueForNote Value for the variable in the note
+ * @return None.
+ */
+ void ResolveErrorNoteL(
+ TUid aServiceId,
+ TUint& aResourceId,
+ TFREErrorNoteType& aNoteType,
+ TUint& aValueForNote );
+
+ /**
+ * Resolves a proper error note for the MMS Upload services
+ * @since S60 v.3.0
+ * @param aResourceId Id for a proper note in resources.
+ * @param aNoteType Type of the note (query/info)
+ * @param aValueForNote Value for the variable in the note
+ * @return None.
+ */
+ void ResolveMmsUploadErrorNoteL(
+ TUint& aResourceId,
+ TFREErrorNoteType& aNoteType,
+ TUint& aValueForNote );
+
+ /**
+ * Resolves a proper note
+ * @since S60 v.3.0
+ * @param aResourceId Id for a proper note in resources.
+ * @param aNoteType Type of the note
+ * @param aValueForNote Value for the variable in the note
+ * @return None.
+ */
+ void ShowErrorNotificationL(
+ TUint aResourceId,
+ TFREErrorNoteType aNoteType,
+ TUint aValueForNote ) const;
+
+ /**
+ * Shows an error note
+ * @since S60 v.3.0
+ * @param aTextResourceId Resource id of the note
+ * @return None.
+ */
+ void ShowErrorNoteL( TUint aTextResourceId ) const;
+
+ /**
+ * Shows a confirmation query
+ * @since S60 v.3.0
+ * @param aTextResourceId Text id for the note
+ * @param aNoteResourceId Resource id for the note
+ * @param aValueForNote Variable value for the note
+ * @return None.
+ */
+ TBool ShowConfirmationQueryL(
+ TUint aTextResourceId,
+ TUint aNoteResourceId,
+ TUint aValueForNote = NULL ) const;
+
+
+ private: // Data
+
+ // Validation results.
+ enum TFREValidationResults
+ {
+ ESenduiIndexTotalCount = 0,
+ ESenduiIndexDeleted,
+ ESenduiIndexDrmSD, // SuperDistributable
+ ESenduiIndexLastResult
+ };
+
+ // Reasons for invalidation.
+ enum TFREInvalidTypes
+ {
+ ESenduiIndexDrmFLOrCCL = 0,
+ ESenduiIndexAlreadyInUse,
+ ESenduiIndexMmsTooBig,
+ ESenduiIndexMmsNotSupported,
+ ESenduiIndexBadHandle,
+ ESenduiIndexLastInvalid
+ };
+
+ // File protection resolver. Owned.
+ CFileProtectionResolver* iProtectionResolver;
+
+ CMsgMediaResolver* iMediaResolver;
+ CMmsConformance* iMmsConformance;
+
+ // File session.
+ RFs iFileSession;
+
+ // Results of file validations, DRM analyses and MMS validations.
+ TUint iValidationResults[ESenduiIndexLastResult];
+
+ TUint iInvalidationReason[ESenduiIndexLastInvalid];
+ };
+
+#endif // SENDUIFILERIGHTSENGINE_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_datautils_api/inc/SendUiOperationWait.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2002-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: Provides asyncronous waiter.
+*
+*/
+
+
+
+#ifndef SENDUIOPERATIONWAIT_H
+#define SENDUIOPERATIONWAIT_H
+
+// INCLUDES
+class CBaseMtm;
+class CAknInputBlock;
+
+/**
+ * CSendUiOperationWait
+ *
+ * We cannot use CMuiuOperationWait because it calls
+ * CAknEnv::StopSchedulerWaitWithBusyMessage. When e.g. New message
+ * pop-up is opened from Phone idle while we are waiting previous
+ * editor launch completion, a Busy dialog is shown and it cannot
+ * be closed at all.
+ *
+ * This class is otherwise same as CMuiuOperationWait but iWait.AsyncStop
+ * is called instead of CAknEnv::StopSchedulerWaitWithBusyMessage.
+ *
+ * @lib senduidatautils
+ * @since S60 S60 v3.0
+ */
+
+NONSHARABLE_CLASS (CSendUiOperationWait) : public CActive
+ {
+
+public:
+
+ IMPORT_C static CSendUiOperationWait* NewLC(TInt aPriority = EPriorityStandard);
+
+ virtual ~CSendUiOperationWait();
+
+ /**
+ * Starts active wait operation
+ *
+ * @since S60 v3.1
+ * @param aOperation CActive derived operation, that is running
+ * @return ETrue, if wait was not interrupted. Otherwise EFalse.
+ */
+ IMPORT_C TBool Start( CActive* aOperation );
+
+ /**
+ * Starts active wait operation
+ *
+ * @since S60 v3.1
+ * @param aOperation CBaseMtmOperation derived operation, that is
+ * running
+ * @return ETrue, if wait was not interrupted. Otherwise EFalse.
+ */
+ IMPORT_C TBool Start( CBaseMtm* aBaseMtmOperation );
+
+ /**
+ * Starts active wait operation
+ *
+ * Use this, if the operation to be waited can not be canceled.
+ * Prefer using the above Start methods.
+ *
+ * @since S60 v3.0
+ * @return ETrue, For compatibility returns always.
+ */
+ IMPORT_C TBool Start();
+
+protected: // from base class CActive
+
+ CSendUiOperationWait(TInt aPriority);
+
+ void RunL();
+
+ void DoCancel();
+
+private:
+
+ void ConstructL();
+
+protected:
+
+ /**
+ * Waiter
+ */
+ CActiveSchedulerWait iWait;
+
+ /**
+ * Inputblocker harvests exit events.
+ * Own.
+ */
+ CAknInputBlock* iInputBlock;
+
+private:
+
+ /**
+ * This is ETrue, if operation has not been interrupted.
+ */
+ TBool iSuccess;
+
+ /**
+ * Operation, which can be canceled
+ * Not own.
+ */
+ CActive* iOperation;
+
+ /**
+ * Operation, which can be canceled
+ * Not own.
+ */
+ CBaseMtm* iBaseMtmOperation;
+ };
+
+#endif
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_datautils_api/send_ui_datautils_api.metaxml Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,15 @@
+<?xml version="1.0" ?>
+<api id="6dc4e2482190d8249c9cfb8b55e4a195" dataversion="1.0">
+<name>send_ui_datautils_api</name>
+<description>send_ui_datautils_api exported as part of msgfw_plat.
+Interface for using senduidatautils functionality.</description>
+<type>c++</type>
+<subsystem>messagingmw</subsystem>
+<libs><lib name="senduidatautils.lib"/>
+</libs>
+<release category="domain" sinceversion=""/>
+<attributes>
+<htmldocprovided>no</htmldocprovided>
+<adaptation>no</adaptation>
+</attributes>
+</api>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 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: File that exports the files belonging to
+: Send UI Plug-in API
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/CSendingService.h MW_LAYER_PLATFORM_EXPORT_PATH(CSendingService.h)
+../inc/SendingServiceInterfaceUids.hrh MW_LAYER_PLATFORM_EXPORT_PATH(SendingServiceInterfaceUids.hrh)
+../inc/senduisingleton.h MW_LAYER_PLATFORM_EXPORT_PATH(senduisingleton.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/inc/CSendingService.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* Copyright (c) 2002-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: Declares sending service interface for ECom plugins.
+*
+*/
+
+
+#ifndef C_SENDINGSERVICE_H
+#define C_SENDINGSERVICE_H
+
+#include <e32base.h>
+#include <badesca.h>
+#include <txtrich.h>
+
+class CSendingServiceInfo;
+class CMessageData;
+class CCoeEnv;
+class CSendUiSingleton;
+
+
+/**
+ * Parameters for sending service construction.
+ */
+struct TSendingServiceParams
+ {
+ // Constructor
+ TSendingServiceParams( CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton )
+ : iCoeEnv( aCoeEnv ), iSingleton( aSingleton ) {}
+ // Data
+ CCoeEnv& iCoeEnv;
+ CSendUiSingleton& iSingleton;
+ };
+
+
+/**
+ * Declares sending service interface for ECom plugins.
+ *
+ * CSendingService has to be implemented by each ECom based sending service.
+ * CSendingService contains only pure virtual methods, which must be
+ * implemented by sending services.
+ *
+ * @lib Sendui
+ * @since S60 v3.0
+ */
+class CSendingService : public CBase
+ {
+public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ * @param aImplementationUid The implementation UID of the
+ * sending service to be created.
+ * @return Pointer to object of CSendingService
+ */
+ IMPORT_C static CSendingService* NewL( const TUid& aImplementationUid, CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton );
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CSendingService();
+
+public: // New functions
+
+ /**
+ * Populates given list with the provided services. Ownership of the
+ * pointed services remains in the service provider plugin.
+ *
+ * @since Series 60 3.0
+ * @param aList Service list to be populated.
+ * @return none
+ */
+ virtual void PopulateServicesListL(
+ RPointerArray<CSendingServiceInfo>& aList ) = 0;
+
+ /**
+ * Creates message to be sent and either sends it directly or calls
+ * MTM to edit the message.
+ *
+ * @since Series 60 3.0
+ * @param aServiceUid Uid of the sending service.
+ * @param aMessageData Data for the message.
+ * @return none
+ */
+ virtual void CreateAndSendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded = ETrue) = 0;
+
+ /**
+ * Return the Id of the service provider.
+ *
+ * @since Series 60 3.0
+ * @return Id of the service provider.
+ */
+ virtual TUid ServiceProviderId() const = 0;
+
+protected:
+
+ /**
+ * C++ constructor
+ */
+ IMPORT_C CSendingService( CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton );
+
+private: // Data
+
+ /**
+ * Implementation UID of the sending service
+ * Not own.
+ */
+ TUid iDtor_ID_Key;
+
+protected:
+
+ /**
+ * Reference to CCoeEnv
+ * Not own.
+ */
+ CCoeEnv& iCoeEnv;
+
+ /**
+ * Pointer to CSendUiSingleton;
+ * Not own.
+ */
+ CSendUiSingleton& iSingleton;
+
+};
+
+#endif // C_SENDINGSERVICE_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/inc/SendingServiceInterfaceUids.hrh Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* 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: Constant declaration for resource file.
+*
+*/
+
+
+
+#ifndef SENDINGSERVICEINTERFACEUIDS_HRH
+#define SENDINGSERVICEINTERFACEUIDS_HRH
+
+// SendUi Sending Service plugin interface
+#define KSendUiSendingServiceInterface 0x101F87F3
+
+#endif // SENDINGSERVICEINTERFACEUIDS_HRH
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/inc/senduisingleton.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,130 @@
+/*
+* 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: Singleton
+*
+*/
+
+
+
+#ifndef C_SENDUISINGLETON_H
+#define C_SENDUISINGLETON_H
+
+#include <e32base.h>
+#include <msvapi.h>
+
+class CMsvSession;
+class CClientMtmRegistry;
+class CMtmUiRegistry;
+class CMtmUiDataRegistry;
+
+/**
+* Singelton
+*
+* @lib sendui
+* @since S60 v3.2
+*/
+NONSHARABLE_CLASS( CSendUiSingleton ) : public CBase,
+ public MMsvSessionObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return Pointer to object of CSendUiSingleton.
+ */
+ IMPORT_C static CSendUiSingleton* NewL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendUiSingleton();
+
+ public: // New functions
+
+ /**
+ * Returns message server session.
+ *
+ * @return message server session.
+ */
+ IMPORT_C CMsvSession& MsvSessionL();
+
+ /**
+ * Returns client MTM registry.
+ *
+ * @return client MTM registry.
+ */
+ IMPORT_C CClientMtmRegistry& ClientMtmRegistryL();
+
+ /**
+ * Returns MTM UI registry.
+ *
+ * @return MTM UI registry.
+ */
+ IMPORT_C CMtmUiRegistry& MtmUiRegistryL();
+
+ /**
+ * Returns MTM UI data registry.
+ *
+ * @return MTM UI registry.
+ */
+ IMPORT_C CMtmUiDataRegistry& MtmUiDataRegistryL();
+
+ private: // From base classes
+
+ /**
+ * From MMsvSessionObserver
+ */
+ virtual void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CSendUiSingleton();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: // Data
+
+ /**
+ * Own.
+ */
+ CMsvSession* iMsvSession;
+
+ /**
+ * Own.
+ */
+ CClientMtmRegistry* iClientMtmRegistry;
+
+ /**
+ * Own.
+ */
+ CMtmUiRegistry* iMtmUiRegistry;
+
+ /**
+ * Own.
+ */
+ CMtmUiDataRegistry* iMtmUiDataRegistry;
+
+ };
+
+#endif // C_SENDUISINGLETON_H
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/send_ui_plugin_api.metaxml Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?>
+<api id="acd0d4200cfc87deda5fc7bba1da83cd" dataversion="2.0">
+<name>Send UI Plug-in API</name>
+<description>ECom plug-in interface for adding new sending services to Send UI</description>
+<type>c++</type>
+<collection>messagingappbase</collection>
+<libs><lib name="sendui.lib"/>
+</libs>
+<release category="platform" sinceversion="0"/>
+<attributes>
+<htmldocprovided>no</htmldocprovided>
+<adaptation>no</adaptation>
+</attributes>
+</api>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/bmarm/SendUiPluginAPITestU.DEF Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/bwins/SendUiPluginAPITestU.DEF Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/conf/SendUiPluginAPITest.cfg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,41 @@
+[Test]
+title SendUIPlug-SendUiSingleton
+create SendUiPluginAPITest Testobject
+Testobject CSendUiSingleton
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIPlug-MsvSessions
+create SendUiPluginAPITest Testobject
+Testobject CMsvSessions
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIPlug-ClientMtmRegistryL
+create SendUiPluginAPITest Testobject
+Testobject CClientMtmRegistryL
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIPlug-MtmUiRegistry
+create SendUiPluginAPITest Testobject
+Testobject CMtmUiRegistry
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIPlug-MtmUiDataRegistry
+create SendUiPluginAPITest Testobject
+Testobject CMtmUiDataRegistry
+delete TestObject
+[Endtest]
+
+[Test]
+title SendUIPlug-CSendingService
+create SendUiPluginAPITest Testobject
+Testobject CSendingService
+delete TestObject
+[Endtest]
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/eabi/SendUiPluginAPITestU.def Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/group/SendUiPluginAPITest.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* 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: SendUiPluginAPITest.mmp
+*
+*/
+
+
+
+#if defined(__S60_)
+ // To get the OS_LAYER_SYSTEMINCLUDE-definition
+ #include <platform_paths.hrh>
+#endif
+
+TARGET SendUiPluginAPITest.dll
+TARGETTYPE dll
+UID 0x1000008D 0x101FB3EF
+
+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 SendUiPluginAPITest.def
+
+USERINCLUDE ../inc
+APP_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH ../src
+
+SOURCE SendUiPluginAPITest.cpp
+SOURCE SendUiPluginAPITestBlocks.cpp
+
+//RESOURCE resource_file
+//RESOURCE resource_file2
+
+LIBRARY euser.lib
+LIBRARY stiftestinterface.lib
+LIBRARY stiftestengine.lib
+LIBRARY cone.lib
+LIBRARY sendui.lib
+LIBRARY ecom.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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/group/SendUiPluginAPITest.pkg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,34 @@
+;
+; 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: SendUiPluginAPITest.pkg;
+
+; Supported languages
+&EN
+
+; Package header
+#{"SendUiPluginAPITest"}, (0x101FB3EF), 1, 2, 3, TYPE=SA
+
+; Series 60 v5.0
+[0x1028315F], *, *, *, {"Series60ProductID"}
+
+; Localised vendor name
+%{"Nokia Test EN"}
+; Unique vendor name
+:"Nokia"
+
+;Files to install
+;
+"\epoc32\release\armv5\urel\SendUiPluginAPITest.dll"-"C:\sys\bin\SendUiPluginAPITest.dll"
+"..\conf\SendUiPluginAPITest.cfg"-"C:\TestFramework\SendUiPluginAPITest.cfg"
+"..\init\TestFramework.ini"-"C:\TestFramework\TestFramework.ini"
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* 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: Bld.inf
+*
+*/
+
+
+
+
+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
+// NOTE: If using ARS requirements .mmp file operation should be done under this.
+// 'abld test build'
+SendUiPluginAPITest.mmp
+
+PRJ_MMPFILES
+// 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
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/inc/SendUiPluginAPITest.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* 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: Tests senduisingleton.h and CSendingService.h
+*
+*/
+
+
+
+
+#ifndef SENDUIPLUGINAPITEST_H
+#define SENDUIPLUGINAPITEST_H
+
+// INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+#include <TestclassAssert.h>
+
+// CONSTANTS
+
+// MACROS
+#define TEST_CLASS_VERSION_MAJOR 0
+#define TEST_CLASS_VERSION_MINOR 0
+#define TEST_CLASS_VERSION_BUILD 0
+
+// Logging path
+_LIT( KSendUiPluginAPITestLogPath, "\\logs\\testframework\\SendUiPluginAPITest\\" );
+// Log file
+_LIT( KSendUiPluginAPITestLogFile, "SendUiPluginAPITest.txt" );
+_LIT( KSendUiPluginAPITestLogFileWithTitle, "SendUiPluginAPITest_[%S].txt" );
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+class CSendUiPluginAPITest;
+
+// DATA TYPES
+
+// CLASS DECLARATION
+
+/**
+* CSendUiPluginAPITest test class for STIF Test Framework TestScripter.
+* ?other_description_lines
+*
+* @lib ?library
+* @since ?Series60_version
+*/
+NONSHARABLE_CLASS(CSendUiPluginAPITest) : public CScriptBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CSendUiPluginAPITest* NewL( CTestModuleIf& aTestModuleIf );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendUiPluginAPITest();
+
+ 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
+ */
+
+ protected: // Functions from base classes
+
+ /**
+ * From ?base_class ?member_description
+ */
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CSendUiPluginAPITest( 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.
+ */
+
+
+ /**
+ * Method used to log version of test class
+ */
+ void SendTestClassVersion();
+
+ /**
+ * Tests CSendUiSingleton::NewL
+ */
+ TInt TestCSendUiSingletonNewL( CStifItemParser& aItem );
+
+ /**
+ * Tests CSendUiSingleton::MsvSessionL
+ */
+ TInt TestMsvSessionL(CStifItemParser& aItem );
+
+ /**
+ * Tests CSendUiSingleton::ClientMtmRegistryL
+ */
+ TInt TestClientMtmRegistryL(CStifItemParser& aItem );
+
+ /**
+ * Tests CSendUiSingleton::MtmUiRegistryL
+ */
+ TInt TestMtmUiRegistryL(CStifItemParser& aItem );
+
+ /**
+ * Tests CSendUiSingleton::MtmUiDataRegistryL
+ */
+ TInt TestMtmUiDataRegistryL(CStifItemParser& aItem );
+
+ /**
+ * Tests CSendingService::NewL, CSendingService::~CSendingService(), CSendingService::CSendingService
+ */
+ TInt TestCSendingServiceL(CStifItemParser& aItem );
+
+ //ADD NEW METHOD DEC HERE
+ //[TestMethods] - Do not remove
+
+ public: // Data
+ // ?one_line_short_description_of_data
+ //?data_declaration;
+
+ protected: // Data
+ // ?one_line_short_description_of_data
+ //?data_declaration;
+
+ private: // Data
+
+ // ?one_line_short_description_of_data
+ //?data_declaration;
+
+ // 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 // SENDUIPLUGINAPITEST_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/init/TestFramework.ini Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,201 @@
+#
+# 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'.
+# + XML, Test report will be xml type, for example 'TestReport.xml'.
+# Note, that xml format is available only when output is set to FILE.
+#
+# - 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= TestReport
+
+TestReportFormat= TXT # Possible values: TXT, HTML or XML
+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
+#SeparateProcesses= YES # Possible values: YES or NO (default: NO)
+[End_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+
+
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+# Module configurations start
+# Modules are added between module tags
+# tags. Module name is specified after ModuleName= tag, like
+# ModuleName= XXXXXXXXX
+# 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
+
+# Load testmodule SendUiPluginAPITest
+[New_Module]
+ModuleName= testscripter
+TestCaseFile= c:\testframework\SendUiPluginAPITest.cfg
+[End_Module]
+
+
+# Load testmoduleXXX, optionally with initialization file and/or test case files
+#[New_Module]
+#ModuleName= testmodulexxx
+
+#TestModuleXXX used initialization file
+#IniFile= c:\testframework\init.txt
+
+#TestModuleXXX 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
+#AddTestCaseTitle= YES # Possible values: YES or NO
+[End_Logger_Defaults]
+# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
+
+# End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/src/SendUiPluginAPITest.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* 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: SendUiPluginAPITest implementation*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <Stiftestinterface.h>
+#include "SendUiPluginAPITest.h"
+#include <SettingServerClient.h>
+
+// 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 ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::CSendUiPluginAPITest
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiPluginAPITest::CSendUiPluginAPITest(
+ CTestModuleIf& aTestModuleIf ):
+ CScriptBase( aTestModuleIf )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUiPluginAPITest::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(KSendUiPluginAPITestLogFileWithTitle, &title);
+ }
+ else
+ {
+ logFileName.Copy(KSendUiPluginAPITestLogFile);
+ }
+
+ iLog = CStifLogger::NewL( KSendUiPluginAPITestLogPath,
+ logFileName,
+ CStifLogger::ETxt,
+ CStifLogger::EFile,
+ EFalse );
+
+ SendTestClassVersion();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendUiPluginAPITest* CSendUiPluginAPITest::NewL(
+ CTestModuleIf& aTestModuleIf )
+ {
+ CSendUiPluginAPITest* self = new (ELeave) CSendUiPluginAPITest( aTestModuleIf );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop();
+
+ return self;
+
+ }
+
+// Destructor
+CSendUiPluginAPITest::~CSendUiPluginAPITest()
+ {
+
+ // Delete resources allocated from test methods
+ Delete();
+
+ // Delete logger
+ delete iLog;
+
+ }
+
+//-----------------------------------------------------------------------------
+// CSendUiPluginAPITest::SendTestClassVersion
+// Method used to send version of test class
+//-----------------------------------------------------------------------------
+//
+void CSendUiPluginAPITest::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("SendUiPluginAPITest.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* ) CSendUiPluginAPITest::NewL( aTestModuleIf );
+
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/send_ui_plugin_api/tsrc/src/SendUiPluginAPITestBlocks.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,237 @@
+/*
+* 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: Tests senduisingleton.h and CSendingService.h
+*
+*/
+
+
+
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <StifParser.h>
+#include <Stiftestinterface.h>
+#include <coemain.h>
+#include "SendUiPluginAPITest.h"
+#include <CSendingService.h>
+#include <SendUiConsts.h>
+#include <senduisingleton.h>
+
+// EXTERNAL DATA STRUCTURES
+
+// EXTERNAL FUNCTION PROTOTYPES
+
+// CONSTANTS
+
+// MACROS
+
+// LOCAL CONSTANTS AND MACROS
+
+// MODULE DATA STRUCTURES
+
+// LOCAL FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CSendUiPluginAPITest::Delete()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUiPluginAPITest::RunMethodL(
+ CStifItemParser& aItem )
+ {
+
+ static TStifFunctionInfo const KFunctions[] =
+ {
+ // Copy this line for every implemented function.
+ // First string is the function name used in TestScripter script file.
+ // Second is the actual implementation member function.
+ ENTRY( "CSendUiSingleton", CSendUiPluginAPITest::TestCSendUiSingletonNewL ),
+ ENTRY( "CMsvSessions", CSendUiPluginAPITest::TestMsvSessionL ),
+ ENTRY( "CClientMtmRegistryL", CSendUiPluginAPITest::TestClientMtmRegistryL ),
+ ENTRY( "CMtmUiRegistry", CSendUiPluginAPITest::TestMtmUiRegistryL ),
+ ENTRY( "CMtmUiDataRegistry", CSendUiPluginAPITest::TestMtmUiDataRegistryL ),
+ ENTRY( "CSendingService", CSendUiPluginAPITest::TestCSendingServiceL ),
+
+ //ADD NEW ENTRY HERE
+ // [test cases entries] - Do not remove
+
+ };
+
+ const TInt count = sizeof( KFunctions ) /
+ sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::TestCSendUiSingletonNewL
+// Tests NewL of CSendUISingleton::NewL
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiPluginAPITest::TestCSendUiSingletonNewL(CStifItemParser& /*aItem*/ )
+ {
+ CSendUiSingleton* singleton = CSendUiSingleton::NewL();
+ delete singleton;
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::TestMsvSessionL
+// Tests NewL of CSendUISingleton::MsvSessionL
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiPluginAPITest::TestMsvSessionL(CStifItemParser& /*aItem*/ )
+ {
+ CSendUiSingleton* singleton = CSendUiSingleton::NewL();
+ CleanupStack::PushL( singleton );
+ TRAPD( err, CMsvSession& msvSession = singleton->MsvSessionL());
+ if( err != KErrNone )
+ {
+ _LIT( KError, "CSendUiSingleton::MsvSessionL leaves with %d error");
+ iLog->Log( KError, err);
+ }
+ else
+ {
+ _LIT( KError, "CSendUiSingleton::MsvSessionL Passed");
+ iLog->Log( KError );
+ }
+ CleanupStack::PopAndDestroy();//singleton
+ return err;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::TestClientMtmRegistryL
+// Tests NewL of CSendUISingleton::ClientMtmRegistryL
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiPluginAPITest::TestClientMtmRegistryL(CStifItemParser& /*aItem*/ )
+ {
+ CSendUiSingleton* singleton = CSendUiSingleton::NewL();
+ CleanupStack::PushL( singleton );
+ TRAPD( err, CClientMtmRegistry& clientMtmRegistry = singleton->ClientMtmRegistryL());
+ if( err != KErrNone )
+ {
+ _LIT( KError, "CSendUiSingleton::ClientMtmRegistryL leaves with %d error");
+ iLog->Log( KError, err);
+ }
+ else
+ {
+ _LIT( KError, "CSendUiSingleton::ClientMtmRegistryL Passed");
+ iLog->Log( KError );
+ }
+ CleanupStack::PopAndDestroy();//singleton
+ return err;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::TestMtmUiRegistryL
+// Tests NewL of CSendUISingleton::MtmUiRegistryL
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiPluginAPITest::TestMtmUiRegistryL(CStifItemParser& /*aItem*/ )
+ {
+ CSendUiSingleton* singleton = CSendUiSingleton::NewL();
+ CleanupStack::PushL( singleton );
+ TRAPD( err, CMtmUiRegistry& MtmUiRegistry = singleton->MtmUiRegistryL());
+ if( err != KErrNone )
+ {
+ _LIT( KError, "CSendUiSingleton::MtmUiRegistryL leaves with %d error");
+ iLog->Log( KError, err);
+ }
+ else
+ {
+ _LIT( KError, "CSendUiSingleton::MtmUiRegistryL Passed");
+ iLog->Log( KError );
+ }
+ CleanupStack::PopAndDestroy();//singleton
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::TestMtmUiDataRegistryL
+// Tests NewL of CSendUISingleton::MtmUiDataRegistryL
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiPluginAPITest::TestMtmUiDataRegistryL(CStifItemParser& /*aItem*/ )
+ {
+ CSendUiSingleton* singleton = CSendUiSingleton::NewL();
+ CleanupStack::PushL( singleton );
+ TRAPD( err, CMtmUiDataRegistry& MtmUiDataRegistry = singleton->MtmUiDataRegistryL());
+ if( err != KErrNone )
+ {
+ _LIT( KError, "CSendUiSingleton::MtmUiDataRegistryL leaves with %d error");
+ iLog->Log( KError, err);
+ }
+ else
+ {
+ _LIT( KError, "CSendUiSingleton::MtmUiDataRegistryL Passed");
+ iLog->Log( KError );
+ }
+ CleanupStack::PopAndDestroy();//singleton
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiPluginAPITest::TestCSendingServiceL
+// Tests CSendingService::NewL, CSendingService::~CSendingService(), CSendingService::CSendingService
+// -----------------------------------------------------------------------------
+//
+
+TInt CSendUiPluginAPITest::TestCSendingServiceL(CStifItemParser& /*aItem*/ )
+ {
+ CSendUiSingleton* singleton = CSendUiSingleton::NewL();
+ CSendingService* sendingservice = NULL;
+ TRAPD( error, sendingservice = CSendingService::NewL(KMeetingRequestSender,*(CCoeEnv::Static()),*singleton));
+ if( error == KErrNone )
+ {
+ _LIT( KError, "CSendingService::NewL Passed");
+ iLog->Log( KError);
+ delete sendingservice;
+ _LIT( KError1, "CSendingService::~CSendingService()Passed");
+ iLog->Log( KError1 );
+ }
+ else
+ {
+ _LIT( KError, "CSendingService::NewL Failed");
+ iLog->Log( KError);
+ }
+ delete singleton;
+ REComSession::FinalClose();
+ return error;
+ }
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+// None
+
+// [End of File] - Do not remove
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/bwinscw/SENDUIu.def Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,84 @@
+EXPORTS
+ ?ClientMtmRegistryL@CSendUiSingleton@@QAEAAVCClientMtmRegistry@@XZ @ 1 NONAME ; class CClientMtmRegistry & CSendUiSingleton::ClientMtmRegistryL(void)
+ ?ShowQueryAndSendL@CSendUi@@QAEXPBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@VTUid@@HABVTDesC16@@@Z @ 2 NONAME ; void CSendUi::ShowQueryAndSendL(class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TUid, int, class TDesC16 const &)
+ ?SetOpaqueDataL@CMessageData@@QAEXPBVTDesC8@@VTUid@@@Z @ 3 NONAME ; void CMessageData::SetOpaqueDataL(class TDesC8 const *, class TUid)
+ ?InternalizeL@CMessageData@@QAEXAAVRReadStream@@@Z @ 4 NONAME ; void CMessageData::InternalizeL(class RReadStream &)
+ ?CcAddressArray@CMessageData@@QBEABV?$CArrayPtrFlat@VCMessageAddress@@@@XZ @ 5 NONAME ; class CArrayPtrFlat<class CMessageAddress> const & CMessageData::CcAddressArray(void) const
+ ?SetServiceCapabilities@CSendingServiceInfo@@QAEXVTSendingCapabilities@@@Z @ 6 NONAME ; void CSendingServiceInfo::SetServiceCapabilities(class TSendingCapabilities)
+ ?ServiceCapabilitiesL@CSendUi@@QAEHVTUid@@AAVTSendingCapabilities@@@Z @ 7 NONAME ; int CSendUi::ServiceCapabilitiesL(class TUid, class TSendingCapabilities &)
+ ?SetAddressL@CMessageAddress@@QAEXABVTDesC16@@@Z @ 8 NONAME ; void CMessageAddress::SetAddressL(class TDesC16 const &)
+ ??1CMessageData@@UAE@XZ @ 9 NONAME ; CMessageData::~CMessageData(void)
+ ?NewL@CMessageAddress@@SAPAV1@XZ @ 10 NONAME ; class CMessageAddress * CMessageAddress::NewL(void)
+ ?ValidateServiceL@CSendUi@@QAEHVTUid@@VTSendingCapabilities@@@Z @ 11 NONAME ; int CSendUi::ValidateServiceL(class TUid, class TSendingCapabilities)
+ ?SetServiceNameL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 12 NONAME ; void CSendingServiceInfo::SetServiceNameL(class TDesC16 const &)
+ ??8TSendingCapabilities@@QBEHABV0@@Z @ 13 NONAME ; int TSendingCapabilities::operator==(class TSendingCapabilities const &) const
+ ?SetServiceMenuNameL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 14 NONAME ; void CSendingServiceInfo::SetServiceMenuNameL(class TDesC16 const &)
+ ?ServiceCapabilities@CSendingServiceInfo@@QBE?AVTSendingCapabilities@@XZ @ 15 NONAME ; class TSendingCapabilities CSendingServiceInfo::ServiceCapabilities(void) const
+ ?ConstructL@CMessageData@@IAEXXZ @ 16 NONAME ; void CMessageData::ConstructL(void)
+ ?NewL@CSendingService@@SAPAV1@ABVTUid@@AAVCCoeEnv@@AAVCSendUiSingleton@@@Z @ 17 NONAME ; class CSendingService * CSendingService::NewL(class TUid const &, class CCoeEnv &, class CSendUiSingleton &)
+ ?InternalizeL@CMessageAddress@@QAEXAAVRReadStream@@@Z @ 18 NONAME ; void CMessageAddress::InternalizeL(class RReadStream &)
+ ?NewL@CSendUiSingleton@@SAPAV1@XZ @ 19 NONAME ; class CSendUiSingleton * CSendUiSingleton::NewL(void)
+ ??1CSendingService@@UAE@XZ @ 20 NONAME ; CSendingService::~CSendingService(void)
+ ?NewL@CMessageData@@SAPAV1@XZ @ 21 NONAME ; class CMessageData * CMessageData::NewL(void)
+ ?AddTypedMenuItemL@CSendUi@@QAEXW4TSendUiMenuType@1@AAVCEikMenuPane@@HHVTSendingCapabilities@@@Z @ 22 NONAME ; void CSendUi::AddTypedMenuItemL(enum CSendUi::TSendUiMenuType, class CEikMenuPane &, int, int, class TSendingCapabilities)
+ ?AppendBccAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 23 NONAME ; void CMessageData::AppendBccAddressL(class TDesC16 const &, class TDesC16 const &)
+ ?ServiceProviderId@CSendingServiceInfo@@QBE?AVTUid@@XZ @ 24 NONAME ; class TUid CSendingServiceInfo::ServiceProviderId(void) const
+ ?ExternalizeL@CMessageAddress@@QAEXAAVRWriteStream@@@Z @ 25 NONAME ; void CMessageAddress::ExternalizeL(class RWriteStream &)
+ ??0TSendingCapabilities@@QAE@XZ @ 26 NONAME ; TSendingCapabilities::TSendingCapabilities(void)
+ ?CopyLC@CSendingServiceInfo@@QBEPAV1@XZ @ 27 NONAME ; class CSendingServiceInfo * CSendingServiceInfo::CopyLC(void) const
+ ?Alias@CMessageAddress@@QBE?BVTPtrC16@@XZ @ 28 NONAME ; class TPtrC16 const CMessageAddress::Alias(void) const
+ ?BodyText@CMessageData@@QBEPBVCRichText@@XZ @ 29 NONAME ; class CRichText const * CMessageData::BodyText(void) const
+ ?TechnologyType@CSendUi@@QBE?AVTUid@@V2@@Z @ 30 NONAME ; class TUid CSendUi::TechnologyType(class TUid) const
+ ?CanSendBioMessage@CSendUi@@QBEHVTUid@@@Z @ 31 NONAME ; int CSendUi::CanSendBioMessage(class TUid) const
+ ?ServiceMenuName@CSendingServiceInfo@@QBE?BVTPtrC16@@XZ @ 32 NONAME ; class TPtrC16 const CSendingServiceInfo::ServiceMenuName(void) const
+ ?AppendCcAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 33 NONAME ; void CMessageData::AppendCcAddressL(class TDesC16 const &, class TDesC16 const &)
+ ?TechnologyTypeId@CSendingServiceInfo@@QBE?AVTUid@@XZ @ 34 NONAME ; class TUid CSendingServiceInfo::TechnologyTypeId(void) const
+ ?MsvSessionL@CSendUiSingleton@@QAEAAVCMsvSession@@XZ @ 35 NONAME ; class CMsvSession & CSendUiSingleton::MsvSessionL(void)
+ ?NewL@CSendUi@@SAPAV1@XZ @ 36 NONAME ; class CSendUi * CSendUi::NewL(void)
+ ?MtmUiDataRegistryL@CSendUiSingleton@@QAEAAVCMtmUiDataRegistry@@XZ @ 37 NONAME ; class CMtmUiDataRegistry & CSendUiSingleton::MtmUiDataRegistryL(void)
+ ?AvailableServicesL@CSendUi@@QAEXAAV?$RPointerArray@VCSendingServiceInfo@@@@VTUid@@@Z @ 38 NONAME ; void CSendUi::AvailableServicesL(class RPointerArray<class CSendingServiceInfo> &, class TUid)
+ ?NewLC@CMessageAddress@@SAPAV1@XZ @ 39 NONAME ; class CMessageAddress * CMessageAddress::NewLC(void)
+ ?ToAddressArray@CMessageData@@QBEABV?$CArrayPtrFlat@VCMessageAddress@@@@XZ @ 40 NONAME ; class CArrayPtrFlat<class CMessageAddress> const & CMessageData::ToAddressArray(void) const
+ ?SetServiceId@CSendingServiceInfo@@QAEXVTUid@@@Z @ 41 NONAME ; void CSendingServiceInfo::SetServiceId(class TUid)
+ ?CreateAndSendMessageL@CSendUi@@QAEXVTUid@@PBVCMessageData@@0H@Z @ 42 NONAME ; void CSendUi::CreateAndSendMessageL(class TUid, class CMessageData const *, class TUid, int)
+ ?Address@CMessageAddress@@QBE?BVTPtrC16@@XZ @ 43 NONAME ; class TPtrC16 const CMessageAddress::Address(void) const
+ ?ExternalizeL@CMessageData@@QBEXAAVRWriteStream@@@Z @ 44 NONAME ; void CMessageData::ExternalizeL(class RWriteStream &) const
+ ?SetServiceAddressL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 45 NONAME ; void CSendingServiceInfo::SetServiceAddressL(class TDesC16 const &)
+ ?NewLC@CSendingServiceInfo@@SAPAV1@XZ @ 46 NONAME ; class CSendingServiceInfo * CSendingServiceInfo::NewLC(void)
+ ?DataType@CMessageData@@QBE?AVTUid@@XZ @ 47 NONAME ; class TUid CMessageData::DataType(void) const
+ ?NewLC@CSendUi@@SAPAV1@XZ @ 48 NONAME ; class CSendUi * CSendUi::NewLC(void)
+ ?ServiceFeatures@CSendingServiceInfo@@QBEHXZ @ 49 NONAME ; int CSendingServiceInfo::ServiceFeatures(void) const
+ ?AttachmentHandleArray@CMessageData@@QBEABV?$RArray@VRFile@@@@XZ @ 50 NONAME ; class RArray<class RFile> const & CMessageData::AttachmentHandleArray(void) const
+ ?NewL@CSendingServiceInfo@@SAPAV1@XZ @ 51 NONAME ; class CSendingServiceInfo * CSendingServiceInfo::NewL(void)
+ ?AddSendMenuItemL@CSendUi@@QAEXAAVCEikMenuPane@@HHVTSendingCapabilities@@@Z @ 52 NONAME ; void CSendUi::AddSendMenuItemL(class CEikMenuPane &, int, int, class TSendingCapabilities)
+ ?SetServiceFeatures@CSendingServiceInfo@@QAEXH@Z @ 53 NONAME ; void CSendingServiceInfo::SetServiceFeatures(int)
+ ??9TSendingCapabilities@@QBEHABV0@@Z @ 54 NONAME ; int TSendingCapabilities::operator!=(class TSendingCapabilities const &) const
+ ?AppendAttachmentHandleL@CMessageData@@QAEXABVRFile@@@Z @ 55 NONAME ; void CMessageData::AppendAttachmentHandleL(class RFile const &)
+ ?ClearAttachmentArray@CMessageData@@QAEXXZ @ 56 NONAME ; void CMessageData::ClearAttachmentArray(void)
+ ?SetSubjectL@CMessageData@@QAEXPBVTDesC16@@@Z @ 57 NONAME ; void CMessageData::SetSubjectL(class TDesC16 const *)
+ ?SetTechnologyTypeId@CSendingServiceInfo@@QAEXVTUid@@@Z @ 58 NONAME ; void CSendingServiceInfo::SetTechnologyTypeId(class TUid)
+ ??0TSendingCapabilities@@QAE@HHH@Z @ 59 NONAME ; TSendingCapabilities::TSendingCapabilities(int, int, int)
+ ?ShowTypedQueryAndSendL@CSendUi@@QAEXW4TSendUiMenuType@1@PBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@VTUid@@HABVTDesC16@@@Z @ 60 NONAME ; void CSendUi::ShowTypedQueryAndSendL(enum CSendUi::TSendUiMenuType, class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TUid, int, class TDesC16 const &)
+ ?SetServiceProviderId@CSendingServiceInfo@@QAEXVTUid@@@Z @ 61 NONAME ; void CSendingServiceInfo::SetServiceProviderId(class TUid)
+ ??1CSendingServiceInfo@@UAE@XZ @ 62 NONAME ; CSendingServiceInfo::~CSendingServiceInfo(void)
+ ?AppendAttachmentL@CMessageData@@QAEXABVTDesC16@@@Z @ 63 NONAME ; void CMessageData::AppendAttachmentL(class TDesC16 const &)
+ ?Subject@CMessageData@@QBE?BVTPtrC16@@XZ @ 64 NONAME ; class TPtrC16 const CMessageData::Subject(void) const
+ ?ClearAddresses@CMessageData@@QAEXXZ @ 65 NONAME ; void CMessageData::ClearAddresses(void)
+ ?MtmUiRegistryL@CSendUiSingleton@@QAEAAVCMtmUiRegistry@@XZ @ 66 NONAME ; class CMtmUiRegistry & CSendUiSingleton::MtmUiRegistryL(void)
+ ?OpaqueData@CMessageData@@QBE?BVTPtrC8@@XZ @ 67 NONAME ; class TPtrC8 const CMessageData::OpaqueData(void) const
+ ?SetBodyTextL@CMessageData@@QAEXPBVCRichText@@@Z @ 68 NONAME ; void CMessageData::SetBodyTextL(class CRichText const *)
+ ?AppendToAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 69 NONAME ; void CMessageData::AppendToAddressL(class TDesC16 const &, class TDesC16 const &)
+ ??1CMessageAddress@@UAE@XZ @ 70 NONAME ; CMessageAddress::~CMessageAddress(void)
+ ??1CSendUi@@UAE@XZ @ 71 NONAME ; CSendUi::~CSendUi(void)
+ ?NewLC@CMessageData@@SAPAV1@XZ @ 72 NONAME ; class CMessageData * CMessageData::NewLC(void)
+ ?SetAliasL@CMessageAddress@@QAEXABVTDesC16@@@Z @ 73 NONAME ; void CMessageAddress::SetAliasL(class TDesC16 const &)
+ ?ShowSendQueryL@CSendUi@@QAE?AVTUid@@PBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@ABVTDesC16@@@Z @ 74 NONAME ; class TUid CSendUi::ShowSendQueryL(class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TDesC16 const &)
+ ?ServiceName@CSendingServiceInfo@@QBE?BVTPtrC16@@XZ @ 75 NONAME ; class TPtrC16 const CSendingServiceInfo::ServiceName(void) const
+ ?ShowTypedQueryL@CSendUi@@QAE?AVTUid@@W4TSendUiMenuType@1@PBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@ABVTDesC16@@@Z @ 76 NONAME ; class TUid CSendUi::ShowTypedQueryL(enum CSendUi::TSendUiMenuType, class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TDesC16 const &)
+ ?ServiceAddress@CSendingServiceInfo@@QBE?BVTPtrC16@@XZ @ 77 NONAME ; class TPtrC16 const CSendingServiceInfo::ServiceAddress(void) const
+ ??0CMessageData@@IAE@XZ @ 78 NONAME ; CMessageData::CMessageData(void)
+ ??0CSendingService@@IAE@AAVCCoeEnv@@AAVCSendUiSingleton@@@Z @ 79 NONAME ; CSendingService::CSendingService(class CCoeEnv &, class CSendUiSingleton &)
+ ?AttachmentArray@CMessageData@@QBEABVCDesC16Array@@XZ @ 80 NONAME ; class CDesC16Array const & CMessageData::AttachmentArray(void) const
+ ?BccAddressArray@CMessageData@@QBEABV?$CArrayPtrFlat@VCMessageAddress@@@@XZ @ 81 NONAME ; class CArrayPtrFlat<class CMessageAddress> const & CMessageData::BccAddressArray(void) const
+ ?ServiceId@CSendingServiceInfo@@QBE?AVTUid@@XZ @ 82 NONAME ; class TUid CSendingServiceInfo::ServiceId(void) const
+
Binary file messagingfw/deprecate/senduiservices/cenrep/keys_sendui.xls has changed
Binary file messagingfw/deprecate/senduiservices/conf/sendui.confml has changed
Binary file messagingfw/deprecate/senduiservices/conf/sendui_10282823.crml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/bwinscw/SenduiDataUtilsU.DEF Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,23 @@
+EXPORTS
+ ?CalculateTotalSizeOfFiles@CSendUiFileRightsEngine@@QAEHPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@H@Z @ 1 NONAME ; int CSendUiFileRightsEngine::CalculateTotalSizeOfFiles(class CArrayPtrFlat<class CSendUiAttachment> *, int)
+ ?ClearValidationCounters@CSendUiFileRightsEngine@@QAEXXZ @ 2 NONAME ; void CSendUiFileRightsEngine::ClearValidationCounters(void)
+ ?ConfirmDrmFileRightsL@CSendUiFileRightsEngine@@QAEXPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@@Z @ 3 NONAME ; void CSendUiFileRightsEngine::ConfirmDrmFileRightsL(class CArrayPtrFlat<class CSendUiAttachment> *)
+ ?ConfirmMmsValidityL@CSendUiFileRightsEngine@@QAEXPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@VTUid@@@Z @ 4 NONAME ; void CSendUiFileRightsEngine::ConfirmMmsValidityL(class CArrayPtrFlat<class CSendUiAttachment> *, class TUid)
+ ?CreateTempPathL@CSendUiAttachment@@SAXAAVTDes16@@AAV?$TBuf@$0BAA@@@AAVRFs@@@Z @ 5 NONAME ; void CSendUiAttachment::CreateTempPathL(class TDes16 &, class TBuf<256> &, class RFs &)
+ ?InitAttachmentArrayLCC@CSendUiAttachment@@SAPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@ABVCDesC16Array@@ABV?$RArray@VRFile@@@@AAVRFs@@@Z @ 6 NONAME ; class CArrayPtrFlat<class CSendUiAttachment> * CSendUiAttachment::InitAttachmentArrayLCC(class CDesC16Array const &, class RArray<class RFile> const &, class RFs &)
+ ?NewL@CSendUiDataUtils@@SAPAV1@AAVRFs@@@Z @ 7 NONAME ; class CSendUiDataUtils * CSendUiDataUtils::NewL(class RFs &)
+ ?NewL@CSendUiFileRightsEngine@@SAPAV1@AAVRFs@@@Z @ 8 NONAME ; class CSendUiFileRightsEngine * CSendUiFileRightsEngine::NewL(class RFs &)
+ ?NewLC@CSendUiAttachment@@SAPAV1@ABVCRichText@@AAVRFs@@@Z @ 9 NONAME ; class CSendUiAttachment * CSendUiAttachment::NewLC(class CRichText const &, class RFs &)
+ ?NewLC@CSendUiAttachment@@SAPAV1@PBVRFile@@@Z @ 10 NONAME ; class CSendUiAttachment * CSendUiAttachment::NewLC(class RFile const *)
+ ?NewLC@CSendUiAttachment@@SAPAV1@PBVTDesC16@@AAVRFs@@@Z @ 11 NONAME ; class CSendUiAttachment * CSendUiAttachment::NewLC(class TDesC16 const *, class RFs &)
+ ?NewLC@CSendUiFileRightsEngine@@SAPAV1@AAVRFs@@@Z @ 12 NONAME ; class CSendUiFileRightsEngine * CSendUiFileRightsEngine::NewLC(class RFs &)
+ ?NewLC@CSendUiOperationWait@@SAPAV1@H@Z @ 13 NONAME ; class CSendUiOperationWait * CSendUiOperationWait::NewLC(int)
+ ?ResolveFileMimeTypeL@CSendUiDataUtils@@QAEXABVRFile@@AAVTDataType@@@Z @ 14 NONAME ; void CSendUiDataUtils::ResolveFileMimeTypeL(class RFile const &, class TDataType &)
+ ?ResolveFileMimeTypeL@CSendUiDataUtils@@QAEXABVTDesC16@@AAVTDataType@@@Z @ 15 NONAME ; void CSendUiDataUtils::ResolveFileMimeTypeL(class TDesC16 const &, class TDataType &)
+ ?ShowDrmAndMmsInfoL@CSendUiFileRightsEngine@@QAEHVTUid@@@Z @ 16 NONAME ; int CSendUiFileRightsEngine::ShowDrmAndMmsInfoL(class TUid)
+ ?ShowInformationNoteL@CSendUiFileRightsEngine@@QBEXI@Z @ 17 NONAME ; void CSendUiFileRightsEngine::ShowInformationNoteL(unsigned int) const
+ ?Start@CSendUiOperationWait@@QAEHPAVCActive@@@Z @ 18 NONAME ; int CSendUiOperationWait::Start(class CActive *)
+ ?Start@CSendUiOperationWait@@QAEHPAVCBaseMtm@@@Z @ 19 NONAME ; int CSendUiOperationWait::Start(class CBaseMtm *)
+ ?Start@CSendUiOperationWait@@QAEHXZ @ 20 NONAME ; int CSendUiOperationWait::Start(void)
+ ?Type@CSendUiAttachment@@QAEHXZ @ 21 NONAME ; int CSendUiAttachment::Type(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/eabi/SenduiDataUtilsU.DEF Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,23 @@
+EXPORTS
+ _ZN16CSendUiDataUtils20ResolveFileMimeTypeLERK5RFileR9TDataType @ 1 NONAME
+ _ZN16CSendUiDataUtils20ResolveFileMimeTypeLERK7TDesC16R9TDataType @ 2 NONAME
+ _ZN16CSendUiDataUtils4NewLER3RFs @ 3 NONAME
+ _ZN17CSendUiAttachment15CreateTempPathLER6TDes16R4TBufILi256EER3RFs @ 4 NONAME
+ _ZN17CSendUiAttachment22InitAttachmentArrayLCCERK12CDesC16ArrayRK6RArrayI5RFileER3RFs @ 5 NONAME
+ _ZN17CSendUiAttachment4TypeEv @ 6 NONAME
+ _ZN17CSendUiAttachment5NewLCEPK5RFile @ 7 NONAME
+ _ZN17CSendUiAttachment5NewLCEPK7TDesC16R3RFs @ 8 NONAME
+ _ZN17CSendUiAttachment5NewLCERK9CRichTextR3RFs @ 9 NONAME
+ _ZN20CSendUiOperationWait5NewLCEi @ 10 NONAME
+ _ZN20CSendUiOperationWait5StartEP7CActive @ 11 NONAME
+ _ZN20CSendUiOperationWait5StartEP8CBaseMtm @ 12 NONAME
+ _ZN20CSendUiOperationWait5StartEv @ 13 NONAME
+ _ZN23CSendUiFileRightsEngine18ShowDrmAndMmsInfoLE4TUid @ 14 NONAME
+ _ZN23CSendUiFileRightsEngine19ConfirmMmsValidityLEP13CArrayPtrFlatI17CSendUiAttachmentE4TUid @ 15 NONAME
+ _ZN23CSendUiFileRightsEngine21ConfirmDrmFileRightsLEP13CArrayPtrFlatI17CSendUiAttachmentE @ 16 NONAME
+ _ZN23CSendUiFileRightsEngine23ClearValidationCountersEv @ 17 NONAME
+ _ZN23CSendUiFileRightsEngine25CalculateTotalSizeOfFilesEP13CArrayPtrFlatI17CSendUiAttachmentEi @ 18 NONAME
+ _ZN23CSendUiFileRightsEngine4NewLER3RFs @ 19 NONAME
+ _ZN23CSendUiFileRightsEngine5NewLCER3RFs @ 20 NONAME
+ _ZNK23CSendUiFileRightsEngine20ShowInformationNoteLEj @ 21 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/group/SenduiDataUtils.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2002-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: Project definition file for SendUI data utils.
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+
+TARGET SenduiDataUtils.dll
+TARGETTYPE DLL
+UID 0x1000008D 0x102072A3
+VENDORID VID_DEFAULT
+VERSION 10.0
+CAPABILITY CAP_GENERAL_DLL
+PAGED
+
+SOURCEPATH ../Src
+SOURCE SendUiFileRightsEngine.cpp
+SOURCE SendUiOperationWait.cpp
+SOURCE SendUiDataUtils.cpp
+SOURCE CSendUiAttachment.cpp
+
+USERINCLUDE ../Inc
+SYSTEMINCLUDE /epoc32/include/ecom
+APP_LAYER_SYSTEMINCLUDE
+
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY apgrfx.lib
+LIBRARY avkon.lib
+LIBRARY CommonEngine.lib
+LIBRARY apmime.lib // TDataType
+LIBRARY ecom.lib
+LIBRARY msgs.lib
+LIBRARY estor.lib
+LIBRARY etext.lib
+LIBRARY msgcommonutils.lib // FileProtectionResolver
+LIBRARY MsgMedia.lib // Msg Media Resolver
+LIBRARY sysutil.lib // DiskSpaceBelowCriticalLevelL
+#ifdef RD_MULTIPLE_DRIVE
+LIBRARY PlatformEnv.lib
+#endif
+
+#if defined( ARMCC )
+DEFFILE ../eabi/
+#elif defined( WINSCW )
+DEFFILE ../bwinscw/
+#elif defined( WINS )
+DEFFILE ../bwins/
+#endif
+
+/* End of File */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2002-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: This file provides the information required for
+* building SenduiDataUtils.
+*
+*/
+
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+./SenduiDataUtils.mmp
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/src/CSendUiAttachment.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,300 @@
+/*
+* 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: Encapsulates file path and handle attachments into single class.
+*
+*/
+
+
+
+#include <f32file.h>
+#include <e32base.h>
+#include <apmstd.h>
+#include <badesca.h>
+#include <eikenv.h>
+#include <msgtextutils.h>
+#include <txtrich.h>
+#include <MuiuMsvUiServiceUtilities.h>
+#include <mmf/common/mmfcontrollerpluginresolver.h>
+#include <sysutil.h>
+#include <MsgMimeTypes.h>
+
+#ifdef RD_MULTIPLE_DRIVE
+#include <driveinfo.h>
+#endif
+#include "CSendUiAttachment.h"
+
+// Temporary is file saved to RAM drive
+_LIT( KSenduiTempFilePath, ":\\system\\temp\\sendui\\");
+_LIT( KSenduiTempFilePathFormat, "%x_%x" );
+_LIT16( KExtTextPlain_16, ".txt" );
+const TInt KSendUiMaxTemporaryFileNameLength = 15;
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+CSendUiAttachment::CSendUiAttachment() :CBase()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSendUiAttachment::~CSendUiAttachment()
+ {
+ if ( Type() == EAttachmentPath )
+ {
+ RFile* file = MUTABLE_CAST( RFile*, iHandle ); // must close temporary file before deleting it
+ file->Close();
+ delete file;
+ if ( iFlags & EAttachmentTemporary && iFileManager )
+ {
+ // Remove temp file and directory
+ iFileManager->Delete( *iPath );
+ iFileManager->RmDir( *iPath ); // In case of rubbish, empty the folder
+ }
+ if ( iFileManager )
+ {
+ delete iFileManager;
+ }
+ delete iPath;
+ }
+ }
+// -----------------------------------------------------------------------------
+// NewLC, Path
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiAttachment* CSendUiAttachment::NewLC( const TDesC16* aPath, RFs& aRFs )
+ {
+ CSendUiAttachment* self = new(ELeave)CSendUiAttachment( );
+ CleanupStack::PushL( self );
+ self->ConstructL( aPath, aRFs );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSendUiAttachment::ConstructL( const TDesC16* aPath, RFs& aRFs )
+ {
+ RFile* myfile = new(ELeave)RFile;
+ CleanupStack::PushL( myfile );
+ TInt err = myfile->Open( aRFs, *aPath, EFileShareReadersOnly );
+
+ if ( err )
+ {
+ User::LeaveIfError( myfile->Open( aRFs, *aPath, EFileShareAny ) );
+ }
+
+ iPath = aPath->AllocL();
+ myfile->Size( iSize );
+ iHandle = myfile;
+ CleanupStack::Pop( myfile );
+ }
+// -----------------------------------------------------------------------------
+// NewLC, file handle
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiAttachment* CSendUiAttachment::NewLC( const RFile* aHandle )
+ {
+ CSendUiAttachment* self = new(ELeave)CSendUiAttachment( );
+ CleanupStack::PushL( self );
+ self->iHandle = aHandle;
+ aHandle->Size( self->iSize );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// NewLC, BodyText
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiAttachment* CSendUiAttachment::NewLC( const CRichText& aBodyText, RFs& aRFs )
+ {
+ CSendUiAttachment* self = new(ELeave)CSendUiAttachment( );
+ CleanupStack::PushL( self );
+ self->ConstructL( aBodyText, aRFs );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// ConstructL, BodyText
+// -----------------------------------------------------------------------------
+//
+void CSendUiAttachment::ConstructL( const CRichText& aBodyText, RFs& aRFs )
+ {
+ // character count * 2 = message size
+ TInt err = KErrNone;
+ TInt drive;
+#ifdef RD_MULTIPLE_DRIVE
+ User::LeaveIfError( DriveInfo::GetDefaultDrive(
+ DriveInfo::EDefaultRam, drive ) );
+#else
+ drive = EDriveD;
+#endif
+ if ( SysUtil::DiskSpaceBelowCriticalLevelL( &aRFs, aBodyText.DocumentLength() * 2, drive ) )
+ {
+ User::Leave( KErrDiskFull );
+ }
+
+ HBufC* buf = HBufC::NewLC( KMaxFileName );
+ TPtr fileNameBuf = buf->Des();
+ TChar driveLetter = TChar('A');
+ driveLetter += drive;
+ fileNameBuf.Append( driveLetter );
+ iFileManager = CFileMan::NewL( aRFs );
+
+ TFileName fileName;
+ TPtrC textSnippet;
+ TCharFormat charFormat;
+ aBodyText.GetChars( textSnippet, charFormat, 0 );
+
+ CMsgTextUtils::GetFileNameFromBuffer(
+ fileName,
+ textSnippet,
+ KSendUiMaxTemporaryFileNameLength,
+ &KExtTextPlain_16 );
+
+ CreateTempPathL( fileNameBuf, fileName, aRFs );
+
+ aBodyText.ExportAsTextL( fileNameBuf, CPlainText::EOrganiseByParagraph, 0 );
+
+ iPath = fileNameBuf.AllocL();
+ CleanupStack::PopAndDestroy( buf );
+ SetFlags( EAttachmentTemporary );
+
+ // Open handle
+ RFile* myfile = new(ELeave)RFile;
+ CleanupStack::PushL( myfile );
+ err = myfile->Open( aRFs, *iPath, EFileShareReadersOnly );
+
+ if ( err )
+ {
+ User::LeaveIfError( myfile->Open( aRFs, *iPath, EFileShareAny ) );
+ }
+
+ myfile->Size( iSize );
+ iHandle = myfile;
+ CleanupStack::Pop( myfile );
+ SetMimeType( TDataType( KMsgMimeTextPlain ));
+ }
+
+// -----------------------------------------------------------------------------
+// Fills the attachment array
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CArrayPtrFlat<CSendUiAttachment>* CSendUiAttachment::InitAttachmentArrayLCC(
+ const CDesC16Array& aPaths,
+ const RArray<RFile>& aHandles,
+ RFs& aFSs )
+ {
+ TInt i = 0;
+ if ( &aPaths )
+ {
+ i += aPaths.Count();
+ }
+ if ( &aHandles )
+ {
+ i += aHandles.Count();
+ }
+
+ CArrayPtrFlat<CSendUiAttachment>* attachments = new(ELeave)CArrayPtrFlat<CSendUiAttachment>( i ? i : 1);
+ CleanupStack::PushL( attachments );
+ CleanupResetAndDestroyPushL( *attachments );
+ CSendUiAttachment* attachment;
+
+ if ( &aPaths )
+ {
+ for ( i = 0; i < aPaths.Count(); i++ )
+ {
+ TPtrC16 tmp(aPaths.MdcaPoint( i ) );
+ attachment = CSendUiAttachment::NewLC( &tmp, aFSs );
+ attachments->AppendL( attachment );
+ CleanupStack::Pop( attachment );
+ }
+ }
+ if ( &aHandles != NULL )
+ {
+ for ( i = 0; i < aHandles.Count(); i++ )
+ {
+ attachment = CSendUiAttachment::NewLC( &(aHandles[i] ));
+ attachments->AppendL( attachment );
+ CleanupStack::Pop( attachment );
+ }
+ }
+
+ return attachments;
+ }
+
+// -----------------------------------------------------------------------------
+// CreateTempPathL
+//
+// Creates temp path and unique file name under d:\system\temp\sendui
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUiAttachment::CreateTempPathL(
+ TDes16& aCompletePath,
+ TFileName& aTempFileName,
+ RFs& aRFs )
+ {
+ aCompletePath.Append( KSenduiTempFilePath );
+
+ if ( aTempFileName.Length() == 0 )
+ {
+ aCompletePath.Append( KSenduiTempFilePathFormat );
+
+ TTime time;
+ time.UniversalTime();
+
+ TFileName* tempDir = new(ELeave) TFileName();
+ CleanupStack::PushL( tempDir );
+ tempDir->Format(
+ aCompletePath ,
+ I64HIGH( time.Int64() ),
+ I64LOW( time.Int64() ) );
+ aCompletePath = *tempDir;
+ CleanupStack::PopAndDestroy( tempDir );
+ }
+ else
+ {
+ aCompletePath.Append( aTempFileName );
+ }
+
+ TInt err = aRFs.MkDirAll( aCompletePath );
+ // path may exists
+ if ( err && err != KErrAlreadyExists )
+ {
+ User::LeaveIfError( err );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// Type
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CSendUiAttachment::Type()
+ {
+ if ( iPath )
+ {
+ return EAttachmentPath;
+ }
+ else
+ {
+ return EAttachmentHandle;
+ }
+ }
+
+// end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/src/SendUiDataUtils.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2002-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: Utility class for SendUI.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "SendUiDataUtils.h"
+#include <eikenv.h>
+#include <apgcli.h>
+
+_LIT8( KMmsSymbianInternalPattern, "x-epoc/x-app0");
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiDataUtils:CSendUiDataUtils
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiDataUtils::CSendUiDataUtils( RFs& aFs ) : iFs( aFs )
+ {
+ }
+// -----------------------------------------------------------------------------
+// CSendUiDataUtils::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiDataUtils* CSendUiDataUtils::NewL( RFs& aFs )
+ {
+ CSendUiDataUtils* self = new(ELeave)CSendUiDataUtils( aFs );
+ return self;
+ }
+
+// Destructor
+CSendUiDataUtils::~CSendUiDataUtils()
+ {
+ if ( iApaLsSession )
+ {
+ iApaLsSession->Close();
+ delete iApaLsSession;
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUiDataUtils::ResolveFileMimeTypeL
+//
+// (other items were commented in a header).
+//
+// Used by CSendUiImpl
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUiDataUtils::ResolveFileMimeTypeL(
+ const TDesC& aFilePath,
+ TDataType& aMimeType )
+ {
+ RFile file;
+
+ TInt err = file.Open( iFs, aFilePath, EFileShareReadersOnly );
+
+ if ( err )
+ {
+ User::LeaveIfError( file.Open( iFs, aFilePath, EFileShareAny ) );
+ }
+
+ CleanupClosePushL( file );
+
+ ResolveFileMimeTypeL( file, aMimeType );
+
+ CleanupStack::PopAndDestroy( &file );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiDataUtils::ResolveFileMimeTypeL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUiDataUtils::ResolveFileMimeTypeL(
+ const RFile& aFile,
+ TDataType& aMimeType )
+ {
+ if ( !iApaLsSession )
+ {
+ iApaLsSession = new(ELeave)RApaLsSession();
+ User::LeaveIfError( iApaLsSession->Connect() );
+ }
+
+ TDataRecognitionResult dataType;
+
+ TInt err = iApaLsSession->RecognizeData( aFile, dataType );
+ if ( err
+ || dataType.iDataType.Des8().Length() == 0
+ || !dataType.iDataType.Des8().CompareF( KMmsSymbianInternalPattern ) )
+ {
+ // Not recognized
+ aMimeType = KMsgMimeUnknown();
+ }
+ else
+ {
+ aMimeType = dataType.iDataType;
+ }
+ // The attachment file pointer needs to be reset to the start of the file.
+ TInt pos(0);
+ aFile.Seek( ESeekStart, pos );
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/src/SendUiFileRightsEngine.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,763 @@
+/*
+* Copyright (c) 2002-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: Provides functionality for DRM file protection analyzing
+* and content MMS compatibility resolving.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "SendUiFileRightsEngine.h"
+#include <SendUiConsts.h>
+#include "SendUiDataUtils.h"
+
+#include <MsgMedia.hrh>
+#include <MsgMediaResolver.h> // Msg Media Resolver
+#include <MmsConformance.h> // MMS Conformance
+
+#include <sendnorm.rsg>
+#include <AknQueryDialog.h> // Query dialog
+#include <AknNoteWrappers.h> // Note dialog
+#include <stringresourcereader.h> // String Resource Reader
+#include <stringloader.h> // Stringloader
+#include <data_caging_path_literals.hrh>
+#include <mmsconst.h>
+#include <fileprotectionresolver.h>
+#include <VideoConversionApi.h>
+#include <MsgMimeTypes.h>
+#include "CSendUiAttachment.h"
+// CONSTANTS
+const TInt KFREKiloByte = 1024;
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::CSendUiFileRightsEngine
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiFileRightsEngine::CSendUiFileRightsEngine( RFs& aFS )
+ : iFileSession( aFS )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUiFileRightsEngine::ConstructL()
+ {
+ iProtectionResolver = CFileProtectionResolver::NewL( iFileSession );
+ iMediaResolver = CMsgMediaResolver::NewL();
+ iMmsConformance = CMmsConformance::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiFileRightsEngine* CSendUiFileRightsEngine::NewL( RFs& aFs)
+ {
+ CSendUiFileRightsEngine* self = NewLC( aFs );
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiFileRightsEngine* CSendUiFileRightsEngine::NewLC( RFs& aFs )
+ {
+ CSendUiFileRightsEngine* self =
+ new( ELeave ) CSendUiFileRightsEngine( aFs );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+
+ return self;
+ }
+
+// Destructor
+CSendUiFileRightsEngine::~CSendUiFileRightsEngine()
+ {
+ delete iProtectionResolver;
+ delete iMediaResolver;
+ delete iMmsConformance;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ConfirmDrmFileRightsL
+
+// Closed content list checking is also done here.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUiFileRightsEngine::ConfirmDrmFileRightsL(
+ CArrayPtrFlat<CSendUiAttachment>* aAttachments )
+ {
+ if ( !aAttachments )
+ {
+ return;
+ }
+ TInt fileCount = aAttachments->Count();
+ if ( fileCount )
+ {
+ TInt index = 0;
+ TInt protection = 0;
+ TDataType mimeType;
+
+ CSendUiDataUtils* dataUtils = CSendUiDataUtils::NewL( iFileSession );
+ CleanupStack::PushL( dataUtils );
+
+ while ( index < fileCount)
+ {
+ iValidationResults[ESenduiIndexTotalCount]++;
+ CSendUiAttachment& attachment = *(aAttachments->At(index));
+ RFile file = *(attachment.Handle());
+ dataUtils->ResolveFileMimeTypeL( file, mimeType );
+ protection = iProtectionResolver->ProtectionStatusL( file, mimeType );
+ attachment.SetMimeType( mimeType );
+
+ if ( protection & EFileProtSuperDistributable )
+ {
+ iValidationResults[ESenduiIndexDrmSD]++;
+ }
+ else if ( ( protection & EFileProtForwardLocked ) ||
+ ( protection & EFileProtClosedContent ) )
+ {
+ iInvalidationReason[ESenduiIndexDrmFLOrCCL]++;
+ iValidationResults[ESenduiIndexDeleted]++;
+ delete aAttachments->At(index);
+ aAttachments->Delete( index );
+
+ fileCount--;
+ index--;
+ }
+ index++;
+ }
+
+ CleanupStack::PopAndDestroy( dataUtils );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ConfirmMmsValidityL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUiFileRightsEngine::ConfirmMmsValidityL(
+ CArrayPtrFlat<CSendUiAttachment>* aAttachments,
+ TUid aServiceId )
+ {
+ if ( !aAttachments )
+ {
+ return;
+ }
+ TBool removeFilePath = EFalse;
+ TInt index = 0;
+ TInt fileCount = aAttachments->Count();
+ TInt attachmentsSize = 0;
+ // MMS image size is set to original for MMS upload service,
+ // otherwise oversize images are not filtered away from array
+ if( aServiceId == KMmsDirectUpload || aServiceId == KMmsIndirectUpload )
+ {
+ // Image size setting not used since only MIME type conformance is checked.
+ iMmsConformance->SetCreationMode( ETrue );
+ }
+ if ( fileCount )
+ {
+ while ( index < fileCount)
+ {
+
+ // Validate file for MMS
+ CSendUiAttachment& attachment = *(aAttachments->At(index));
+ removeFilePath = AnalyzeMmsValidationResultL( *(aAttachments->At(index) ), attachmentsSize );
+
+ if ( removeFilePath )
+ {
+ delete aAttachments->At(index);
+ aAttachments->Delete( index );
+ iValidationResults[ESenduiIndexDeleted]++;
+ fileCount--;
+ index--;
+ }
+
+ index++;
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ShowDrmAndMmsInfoL
+// Shows DRM confirmation query and/or error note, if needed.
+// Returns EFalse if user cancels sending.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUiFileRightsEngine::ShowDrmAndMmsInfoL( TUid aServiceId )
+ {
+ TBool showDrmQuery = EFalse;
+ TBool showErrorNotification = EFalse;
+ TUint drmQueryTextId = 0;
+ TUint noteTextId = 0;
+ TUint valueForNote = 0;
+ TFREErrorNoteType noteType = EInformationNote;
+
+ // Information query and/or error note is shown if needed
+ if ( iValidationResults[ESenduiIndexDeleted] )
+ {
+ ResolveErrorNoteL( aServiceId, noteTextId, noteType, valueForNote );
+ showErrorNotification = ETrue;
+ }
+
+ // Possible DRM query is shown only if all files are not deleted.
+ if ( iValidationResults[ESenduiIndexDeleted] <
+ iValidationResults[ESenduiIndexTotalCount] )
+ {
+ if ( iValidationResults[ESenduiIndexDrmSD] )
+ {
+ ResolveDrmQuery( aServiceId, drmQueryTextId );
+ showDrmQuery = ETrue;
+ }
+ }
+
+ // Show error note if needed
+ if ( showErrorNotification )
+ {
+ ShowErrorNotificationL( noteTextId, noteType, valueForNote );
+ }
+
+ // Show query if needed
+ if ( showDrmQuery )
+ {
+ return ShowConfirmationQueryL(
+ drmQueryTextId, R_SENDUI_DRM_FORWARDLOCKED_CONTENT_QUERY );
+ }
+
+ return ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::CalculateTotalSizeOfFiles
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CSendUiFileRightsEngine::CalculateTotalSizeOfFiles(
+ CArrayPtrFlat<CSendUiAttachment>* aAttachments,
+ TBool aLinksSupported )
+{
+ if ( !aAttachments )
+ {
+ return 0;
+ }
+ TUint totalSize = 0;
+
+ TInt index = 0;
+ for ( index = 0; index < aAttachments->Count(); index++ )
+ {
+ CSendUiAttachment& attachment = *(aAttachments->At(index));
+
+ if ( attachment.Type() == CSendUiAttachment::EAttachmentHandle )
+ {
+ totalSize += attachment.Size();
+ }
+ else
+ {
+ if ( !aLinksSupported )
+ {
+ totalSize += attachment.Size();
+ }
+ }
+
+ }
+ return totalSize;
+}
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ClearValidationCounters
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUiFileRightsEngine::ClearValidationCounters()
+ {
+ TInt index = 0;
+ // Go through the lists
+ for( index = 0; index < ESenduiIndexLastResult; index++ )
+ {
+ iValidationResults[index] = 0;
+ }
+
+ for( index = 0; index < ESenduiIndexLastInvalid; index++ )
+ {
+ iInvalidationReason[index] = 0;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::AnalyzeMmsValidationResult
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiFileRightsEngine::AnalyzeMmsValidationResultL( CSendUiAttachment& aAttachment, TInt& aAttachmentsSize )
+ {
+ TBool attachmentInvalid = ETrue;
+
+ RImplInfoPtrArray implArray;
+ CleanupStack::PushL( TCleanupItem( CleanupImplArray, &implArray ) );
+ CVideoConversionPlugin::ListImplementationsL( implArray );
+
+ if ( aAttachment.MimeType() == KMsgMimeVideoMp4 && implArray.Count() != 0 )
+ {
+ attachmentInvalid = EFalse;
+ }
+ else if ( !iMmsConformance->CreationMode() &&
+ !iMmsConformance->IsConformantMime( aAttachment.MimeType() ) )
+ {
+ // Restricted mode and non-conformant MIME
+ iInvalidationReason[ESenduiIndexMmsNotSupported]++;
+ }
+ else if ( aAttachmentsSize + aAttachment.Size() > iMmsConformance->MaxSendSize() &&
+ iMediaResolver->MediaType( aAttachment.MimeType() ) != EMsgMediaImage )
+ {
+ iInvalidationReason[ESenduiIndexMmsTooBig]++;
+ }
+ else
+ {
+ attachmentInvalid = EFalse;
+ }
+
+ if ( !attachmentInvalid
+ && iMediaResolver->MediaType( aAttachment.MimeType() ) != EMsgMediaImage )
+ {
+ aAttachmentsSize += aAttachment.Size();
+ }
+
+ CleanupStack::PopAndDestroy( ); //implArray
+ return attachmentInvalid;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ResolveErrorNoteL
+// -----------------------------------------------------------------------------
+//
+void CSendUiFileRightsEngine::ResolveErrorNoteL(
+ TUid aServiceId,
+ TUint& aResourceId,
+ TFREErrorNoteType& aNoteType,
+ TUint& aValueForNote )
+ {
+ TInt i = 0;
+ TInt errorTypeCount = 0;
+ TUint errorType = 0;
+ TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
+ TUint deletedFiles = iValidationResults[ESenduiIndexDeleted];
+
+ // Own notes for MMS direct upload
+ if ( aServiceId == KMmsDirectUpload )
+ {
+ ResolveMmsUploadErrorNoteL(
+ aResourceId, aNoteType, aValueForNote );
+ return;
+ }
+
+ // Count amount of different error types, if different errors exists
+ // general error note is shown.
+ for( i = 0; i < ESenduiIndexLastInvalid; i++ )
+ {
+ if ( iInvalidationReason[i] > 0 )
+ {
+ errorType = i;
+ errorTypeCount++;
+ }
+ }
+
+ if ( errorTypeCount == 0 )
+ { // Should never end up here.
+ aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
+ return;
+ }
+ else if ( errorTypeCount == 1 )
+ {
+ switch ( errorType )
+ {
+ case ESenduiIndexDrmFLOrCCL:
+ {
+ TUint protectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
+
+ if ( deletedFiles < totalFileCount )
+ { // Some files are protected
+ aResourceId = R_SENDUI_DRM_SEND_FORBID_SOME;
+ }
+ else
+ { // All files are protected
+ if ( protectedFiles == 1 )
+ { // One protected file
+ aResourceId = R_SENDUI_DRM_SEND_FORBID_ONE;
+ }
+ else
+ { // Many protected files
+ aResourceId = R_SENDUI_DRM_ALL_FILES_DELETED;
+ }
+ }
+ }
+ break;
+ case ESenduiIndexAlreadyInUse:
+ {
+ if ( deletedFiles == totalFileCount )
+ { // All files are in use
+ User::Leave( KErrInUse );
+ }
+ else
+ { // Some files are in use
+ aResourceId = R_SENDUI_MME_SOME_INSERTED;
+ }
+ }
+ break;
+ case ESenduiIndexMmsTooBig:
+ {
+ if ( deletedFiles == totalFileCount )
+ { // All files are too big
+ aResourceId = R_SENDUI_MME_ONE_TOO_BIG;
+ }
+ else
+ { // Some files are too big
+ aResourceId = R_SENDUI_MME_MANY_TOO_BIG;
+ }
+
+ aNoteType = EConfirmationQuery;
+ aValueForNote = iMmsConformance->MaxSendSize();
+ aValueForNote /= KFREKiloByte ;
+ }
+ break;
+ case ESenduiIndexMmsNotSupported:
+ {
+ // Different notes when creation mode is locked
+ if ( iMmsConformance->CreationModeUserChangeable() &&
+ !iMmsConformance->CreationMode() )
+ {
+ if ( deletedFiles == totalFileCount )
+ { // All files are not supported
+ aResourceId = deletedFiles > 1 ?
+ R_SENDUI_MME_RMODE_FILES_NOT_SUPPORTED :
+ R_SENDUI_MME_RMODE_FILE_NOT_SUPPORTED;
+ }
+ else
+ { // Some files are not supported
+ aResourceId = R_SENDUI_MME_RMODE_SOME_NOT_SUPPORTED;
+ }
+ }
+ else
+ {
+ if ( deletedFiles == totalFileCount )
+ { // All files are not supported
+ aResourceId = deletedFiles > 1 ?
+ R_SENDUI_MME_FILES_NOT_SUPPORTED :
+ R_SENDUI_MME_FILE_NOT_SUPPORTED;
+ }
+ else
+ { // Some files are not supported
+ aResourceId = R_SENDUI_MME_SOME_FILES_DELETED;
+ }
+ }
+ }
+ break;
+ case ESenduiIndexBadHandle:
+ default:
+ {
+ aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
+ }
+ break;
+ }
+ }
+ else // Different kind of errors exist, show general error note
+ {
+ if ( totalFileCount == deletedFiles )
+ { // Can't send any file
+ aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
+ }
+ else
+ { // Some files can be send
+ aResourceId = R_SENDUI_MME_SOME_INSERTED;
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ResolveMmsUploadErrorNoteL
+// -----------------------------------------------------------------------------
+//
+void CSendUiFileRightsEngine::ResolveMmsUploadErrorNoteL(
+ TUint& aResourceId,
+ TFREErrorNoteType& aNoteType,
+ TUint& aValueForNote )
+ {
+ TInt i = 0;
+ TInt errorTypeCount = 0;
+ TUint errorType = 0;
+ TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
+ TUint deletedFiles = iValidationResults[ESenduiIndexDeleted];
+
+ // Count amount of different error types, if different errors exists
+ // general error note is shown.
+ for( i = 0; i < ESenduiIndexLastInvalid; i++ )
+ {
+ if ( iInvalidationReason[i] > 0 )
+ {
+ errorType = i;
+ errorTypeCount++;
+ }
+ }
+
+ if ( errorTypeCount == 0 )
+ { // Should never end up here.
+ return;
+ }
+ else if ( errorTypeCount == 1 )
+ {
+ switch ( errorType )
+ {
+ case ESenduiIndexDrmFLOrCCL:
+ {
+ TUint protectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
+
+ if ( deletedFiles < totalFileCount )
+ { // Some files are protected
+ aResourceId = R_SENDUI_DRM_SEND_FORBID_SOME;
+ }
+ else
+ { // All files are protected
+ if ( protectedFiles == 1 )
+ { // One protected file
+ aResourceId = R_SENDUI_DRM_SEND_FORBID_ONE;
+ }
+ else
+ { // Many protected files
+ aResourceId = R_SENDUI_DRM_ALL_FILES_DELETED;
+ }
+ }
+ }
+ break;
+ case ESenduiIndexAlreadyInUse:
+ {
+ if ( deletedFiles == totalFileCount )
+ { // All files are in use
+ User::Leave( KErrInUse );
+ }
+ else
+ { // Some files are in use
+ aResourceId = R_SENDUI_MMS_UPLOAD_SOME_FILES_DELETED;
+ }
+ }
+ break;
+ case ESenduiIndexMmsTooBig:
+ {
+ aResourceId = deletedFiles > 1 ?
+ R_SENDUI_MMS_UPLOAD_MANY_TOO_BIG :
+ R_SENDUI_MMS_UPLOAD_ONE_TOO_BIG;
+
+ aNoteType = EConfirmationQuery;
+ aValueForNote = iMmsConformance->MaxSendSize();
+ aValueForNote /= KFREKiloByte ;
+ }
+ break;
+ case ESenduiIndexMmsNotSupported:
+ default:
+ {
+ if ( deletedFiles == totalFileCount )
+ { // All files are not supported
+ aResourceId = deletedFiles > 1 ?
+ R_SENDUI_MMS_UPLOAD_FILES_NOT_SUPPORTED :
+ R_SENDUI_MMS_UPLOAD_FILE_NOT_SUPPORTED;
+ }
+ else
+ { // Some files are not supported
+ aResourceId = R_SENDUI_MMS_UPLOAD_SOME_FILES_DELETED;
+ }
+ }
+ break;
+ }
+ }
+ else // Different kind of errors exist, show general error note
+ {
+ if ( totalFileCount == deletedFiles )
+ { // Can't send any file
+ aResourceId = R_SENDUI_MMS_UPLOAD_NONE_CANNOT_INS;
+ }
+ else
+ { // Some files can be send
+ aResourceId = R_SENDUI_MMS_UPLOAD_SOME_INSERTED;
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ResolveDrmQuery
+// -----------------------------------------------------------------------------
+//
+void CSendUiFileRightsEngine::ResolveDrmQuery(
+ TUid aServiceId,
+ TUint& aResourceId )
+ {
+ TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
+ TUint drmProtectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
+ TUint drmSdFiles = iValidationResults[ ESenduiIndexDrmSD ];
+ TUint unprotectedFiles = totalFileCount - drmProtectedFiles - drmSdFiles;
+
+ if ( unprotectedFiles > 0 )
+ { // Some DRM SD protected files and unprotected files
+ // Different query for direct MMS upload service
+ if ( aServiceId == KMmsDirectUpload )
+ {
+ aResourceId = R_SENDUI_MMS_UPLOAD_DRM_SOME_SD;
+ }
+ else
+ {
+ aResourceId = R_SENDUI_DRM_SEVERAL_DISTRUTABLE;
+ }
+ }
+ else
+ { // Only DRM protected files
+ // Different query for direct MMS upload service
+ if ( aServiceId == KMmsDirectUpload ||
+ aServiceId == KMmsIndirectUpload )
+ {
+ aResourceId = drmSdFiles > 1 ?
+ R_SENDUI_MMS_UPLOAD_DRM_MANY_SD :
+ R_SENDUI_MMS_UPLOAD_DRM_ONE_SD;
+ }
+ else
+ {
+ aResourceId = drmSdFiles > 1 ?
+ R_SENDUI_DRM_MANY_SD_ITEMS :
+ R_SENDUI_DRM_SINGLE_DISTRUTABLE;
+ }
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ShowErrorNotificationL
+// -----------------------------------------------------------------------------
+//
+void CSendUiFileRightsEngine::ShowErrorNotificationL(
+ TUint aResourceId,
+ TFREErrorNoteType aErrorNoteType,
+ TUint aValueForNote ) const
+ {
+ switch ( aErrorNoteType )
+ {
+ case EErrorNote:
+ {
+ ShowErrorNoteL( aResourceId );
+ break;
+ }
+ case EInformationNote:
+ {
+ ShowInformationNoteL( aResourceId );
+ break;
+ }
+ case EConfirmationQuery:
+ {
+ ShowConfirmationQueryL(
+ aResourceId,
+ R_SENDUI_CONFIRMABLE_INFO,
+ aValueForNote );
+ break;
+ }
+ default: // Shouldn't end up here
+ break;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ShowErrorNoteL
+// -----------------------------------------------------------------------------
+//
+void CSendUiFileRightsEngine::ShowErrorNoteL( TUint aTextResourceId ) const
+ {
+ // Get text to be shown
+ HBufC* text = StringLoader::LoadLC( aTextResourceId );
+
+ // Create the note and show it
+ CAknErrorNote* note = new (ELeave) CAknErrorNote(ETrue);
+ note->ExecuteLD( text->Des() );
+
+ CleanupStack::PopAndDestroy( text ); // text
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ShowConfirmationQueryL
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiFileRightsEngine::ShowConfirmationQueryL(
+ TUint aTextResourceId,
+ TUint aNoteResourceId,
+ TUint aValueForNote ) const
+ {
+ HBufC* text = NULL;
+
+ if ( aValueForNote == 0 )
+ {
+ text = StringLoader::LoadLC( aTextResourceId );
+ }
+ else
+ {
+ text = StringLoader::LoadLC( aTextResourceId, aValueForNote );
+ }
+
+ CAknQueryDialog* dlg = CAknQueryDialog::NewL();
+
+ TInt result = dlg->ExecuteLD( aNoteResourceId, *text );
+
+ CleanupStack::PopAndDestroy( text );
+
+ // ETrue, if Yes or Selection key were pressed
+ // Otherwise EFalse
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::ShowInformationNoteL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUiFileRightsEngine::ShowInformationNoteL(
+ TUint aTextResourceId ) const
+ {
+ // Get text to be shown
+ HBufC* text = StringLoader::LoadLC( aTextResourceId );
+
+ // Create the note and show it
+ CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
+ note->ExecuteLD( text->Des() );
+
+ CleanupStack::PopAndDestroy( text ); // text
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiFileRightsEngine::CleanupImplArray
+// -----------------------------------------------------------------------------
+//
+void CSendUiFileRightsEngine::CleanupImplArray( TAny* aAny )
+ {
+ RImplInfoPtrArray* implArray =
+ reinterpret_cast<RImplInfoPtrArray*>( aAny );
+ implArray->ResetAndDestroy();
+ implArray->Close();
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/datautils/src/SendUiOperationWait.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2002-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: Active object that is used for waiting the asyncronous
+* request to complete, such as attachment insertion and
+* launching editor operations.
+*
+*/
+
+
+
+// INCLUDE FILES
+
+#include <mtclbase.h>
+#include <akninputblock.h>
+
+#include "SendUiOperationWait.h"
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::CSendUiOperationWait
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiOperationWait::CSendUiOperationWait( TInt aPriority )
+ : CActive( aPriority )
+ {
+ CActiveScheduler::Add( this );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::NewLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiOperationWait* CSendUiOperationWait::NewLC( TInt aPriority )
+ {
+ CSendUiOperationWait* self =
+ new ( ELeave ) CSendUiOperationWait( aPriority );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( );
+ return self;
+ }
+
+// Destructor
+CSendUiOperationWait::~CSendUiOperationWait()
+ {
+ Cancel();
+ if ( iInputBlock )
+ {
+ delete iInputBlock;
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::Start
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUiOperationWait::Start()
+ {
+ iSuccess = ETrue;
+ SetActive();
+ // Start the scheduler loop.
+ iWait.Start();
+ return iSuccess;
+ }
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::Start
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUiOperationWait::Start(CActive* aOperation)
+ {
+ iBaseMtmOperation = NULL;
+ iOperation = aOperation;
+ return Start();
+ }
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::Start
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUiOperationWait::Start(CBaseMtm* aBaseMtmOperation)
+ {
+ iOperation = NULL;
+ iBaseMtmOperation = aBaseMtmOperation;
+ return Start();
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::RunL
+// -----------------------------------------------------------------------------
+//
+void CSendUiOperationWait::RunL()
+ {
+ if ( iWait.IsStarted() )
+ {
+ // Stops the scheduler loop, when all nested scheduler loops have stopped.
+ iWait.AsyncStop();
+ }
+ iOperation = NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CSendUiOperationWait::DoCancel()
+ {
+ iSuccess = EFalse;
+ if ( iOperation )
+ {
+ iOperation->Cancel();
+ iOperation = NULL;
+ }
+ else if(iBaseMtmOperation)
+ {
+ iBaseMtmOperation->CancelAttachmentOperation();
+ iBaseMtmOperation = NULL;
+ }
+
+ if ( iWait.IsStarted() )
+ {
+ // Stops the scheduler loop, when all nested scheduler loops have stopped.
+ iWait.AsyncStop();
+ }
+ iInputBlock->SetCancelActive( NULL ); // inputblock cancel was this DoCancel function. Deletion causes call to Cancel.
+ delete iInputBlock;
+ iInputBlock = NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiOperationWait::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSendUiOperationWait::ConstructL()
+ {
+ this->iInputBlock = CAknInputBlock::NewCancelActiveLC( this ); // notify "this" on cancel
+ }
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/eabi/SENDUIU.DEF Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,124 @@
+EXPORTS
+ _ZN12CMessageData10ConstructLEv @ 1 NONAME
+ _ZN12CMessageData11SetSubjectLEPK7TDesC16 @ 2 NONAME
+ _ZN12CMessageData12SetBodyTextLEPK9CRichText @ 3 NONAME
+ _ZN12CMessageData16AppendCcAddressLERK7TDesC16S2_ @ 4 NONAME
+ _ZN12CMessageData16AppendToAddressLERK7TDesC16S2_ @ 5 NONAME
+ _ZN12CMessageData17AppendAttachmentLERK7TDesC16 @ 6 NONAME
+ _ZN12CMessageData17AppendBccAddressLERK7TDesC16S2_ @ 7 NONAME
+ _ZN12CMessageData20ClearAttachmentArrayEv @ 8 NONAME
+ _ZN12CMessageData23AppendAttachmentHandleLERK5RFile @ 9 NONAME
+ _ZN12CMessageData4NewLEv @ 10 NONAME
+ _ZN12CMessageData5NewLCEv @ 11 NONAME
+ _ZN12CMessageDataC1Ev @ 12 NONAME
+ _ZN12CMessageDataC2Ev @ 13 NONAME
+ _ZN12CMessageDataD0Ev @ 14 NONAME
+ _ZN12CMessageDataD1Ev @ 15 NONAME
+ _ZN12CMessageDataD2Ev @ 16 NONAME
+ _ZN15CMessageAddress11SetAddressLERK7TDesC16 @ 17 NONAME
+ _ZN15CMessageAddress9SetAliasLERK7TDesC16 @ 18 NONAME
+ _ZN15CMessageAddress4NewLEv @ 19 NONAME
+ _ZN15CMessageAddress5NewLCEv @ 20 NONAME
+ _ZN15CMessageAddressD0Ev @ 21 NONAME
+ _ZN15CMessageAddressD1Ev @ 22 NONAME
+ _ZN15CMessageAddressD2Ev @ 23 NONAME
+ _ZN15CSendingService4NewLERK4TUidR7CCoeEnvR16CSendUiSingleton @ 24 NONAME
+ _ZN15CSendingServiceD0Ev @ 25 NONAME
+ _ZN15CSendingServiceD1Ev @ 26 NONAME
+ _ZN15CSendingServiceD2Ev @ 27 NONAME
+ _ZN19CSendingServiceInfo12SetServiceIdE4TUid @ 28 NONAME
+ _ZN19CSendingServiceInfo15SetServiceNameLERK7TDesC16 @ 29 NONAME
+ _ZN19CSendingServiceInfo18SetServiceAddressLERK7TDesC16 @ 30 NONAME
+ _ZN19CSendingServiceInfo19SetServiceMenuNameLERK7TDesC16 @ 31 NONAME
+ _ZN19CSendingServiceInfo20SetServiceProviderIdE4TUid @ 32 NONAME
+ _ZN19CSendingServiceInfo22SetServiceCapabilitiesE20TSendingCapabilities @ 33 NONAME
+ _ZN19CSendingServiceInfo4NewLEv @ 34 NONAME
+ _ZN19CSendingServiceInfo5NewLCEv @ 35 NONAME
+ _ZN19CSendingServiceInfoD0Ev @ 36 NONAME
+ _ZN19CSendingServiceInfoD1Ev @ 37 NONAME
+ _ZN19CSendingServiceInfoD2Ev @ 38 NONAME
+ _ZN20TSendingCapabilitiesC1Eiii @ 39 NONAME
+ _ZN20TSendingCapabilitiesC1Ev @ 40 NONAME
+ _ZN20TSendingCapabilitiesC2Eiii @ 41 NONAME
+ _ZN20TSendingCapabilitiesC2Ev @ 42 NONAME
+ _ZN7CSendUi14ShowSendQueryLEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidERK7TDesC16 @ 43 NONAME
+ _ZN7CSendUi16AddSendMenuItemLER12CEikMenuPaneii20TSendingCapabilities @ 44 NONAME
+ _ZN7CSendUi16ValidateServiceLE4TUid20TSendingCapabilities @ 45 NONAME
+ _ZN7CSendUi17ShowQueryAndSendLEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidES5_iRK7TDesC16 @ 46 NONAME
+ _ZN7CSendUi18AvailableServicesLER13RPointerArrayI19CSendingServiceInfoE4TUid @ 47 NONAME
+ _ZN7CSendUi20ServiceCapabilitiesLE4TUidR20TSendingCapabilities @ 48 NONAME
+ _ZN7CSendUi21CreateAndSendMessageLE4TUidPK12CMessageDataS0_i @ 49 NONAME
+ _ZN7CSendUi4NewLEv @ 50 NONAME
+ _ZN7CSendUi5NewLCEv @ 51 NONAME
+ _ZN7CSendUiD0Ev @ 52 NONAME
+ _ZN7CSendUiD1Ev @ 53 NONAME
+ _ZN7CSendUiD2Ev @ 54 NONAME
+ _ZNK12CMessageData14CcAddressArrayEv @ 55 NONAME
+ _ZNK12CMessageData14ToAddressArrayEv @ 56 NONAME
+ _ZNK12CMessageData15AttachmentArrayEv @ 57 NONAME
+ _ZNK12CMessageData15BccAddressArrayEv @ 58 NONAME
+ _ZNK12CMessageData21AttachmentHandleArrayEv @ 59 NONAME
+ _ZNK12CMessageData7SubjectEv @ 60 NONAME
+ _ZNK12CMessageData8BodyTextEv @ 61 NONAME
+ _ZNK12CMessageData8DataTypeEv @ 62 NONAME
+ _ZNK15CMessageAddress5AliasEv @ 63 NONAME
+ _ZNK15CMessageAddress7AddressEv @ 64 NONAME
+ _ZNK19CSendingServiceInfo11ServiceNameEv @ 65 NONAME
+ _ZNK19CSendingServiceInfo14ServiceAddressEv @ 66 NONAME
+ _ZNK19CSendingServiceInfo15ServiceMenuNameEv @ 67 NONAME
+ _ZNK19CSendingServiceInfo17ServiceProviderIdEv @ 68 NONAME
+ _ZNK19CSendingServiceInfo19ServiceCapabilitiesEv @ 69 NONAME
+ _ZNK19CSendingServiceInfo6CopyLCEv @ 70 NONAME
+ _ZNK19CSendingServiceInfo9ServiceIdEv @ 71 NONAME
+ _ZNK20TSendingCapabilitieseqERKS_ @ 72 NONAME
+ _ZNK20TSendingCapabilitiesneERKS_ @ 73 NONAME
+ _ZNK7CSendUi17CanSendBioMessageE4TUid @ 74 NONAME
+ _ZTI11CSendUiImpl @ 75 NONAME ; #<TI>#
+ _ZTI12CMessageData @ 76 NONAME ; #<TI>#
+ _ZTI13CSendNormalUi @ 77 NONAME ABSENT
+ _ZTI15CMessageAddress @ 78 NONAME ; #<TI>#
+ _ZTI15CSendingService @ 79 NONAME ; #<TI>#
+ _ZTI19CMessageAddressImpl @ 80 NONAME ; #<TI>#
+ _ZTI19CSendUiTimedBlanker @ 81 NONAME ABSENT
+ _ZTI19CSendingServiceInfo @ 82 NONAME ; #<TI>#
+ _ZTI20CSendUiIdleMtmLoader @ 83 NONAME ABSENT
+ _ZTI22CSendingServiceFactory @ 84 NONAME ABSENT
+ _ZTI22CSendingServiceManager @ 85 NONAME ABSENT
+ _ZTI23CSendingServiceInfoImpl @ 86 NONAME ; #<TI>#
+ _ZTI7CSendUi @ 87 NONAME ; #<TI>#
+ _ZTV11CSendUiImpl @ 88 NONAME ; #<VT>#
+ _ZTV12CMessageData @ 89 NONAME ; #<VT>#
+ _ZTV13CSendNormalUi @ 90 NONAME ABSENT
+ _ZTV15CMessageAddress @ 91 NONAME ; #<VT>#
+ _ZTV15CSendingService @ 92 NONAME ; #<VT>#
+ _ZTV19CMessageAddressImpl @ 93 NONAME ; #<VT>#
+ _ZTV19CSendUiTimedBlanker @ 94 NONAME ABSENT
+ _ZTV19CSendingServiceInfo @ 95 NONAME ; #<VT>#
+ _ZTV20CSendUiIdleMtmLoader @ 96 NONAME ABSENT
+ _ZTV22CSendingServiceFactory @ 97 NONAME ABSENT
+ _ZTV22CSendingServiceManager @ 98 NONAME ABSENT
+ _ZTV23CSendingServiceInfoImpl @ 99 NONAME ; #<VT>#
+ _ZTV7CSendUi @ 100 NONAME ; #<VT>#
+ _ZN12CMessageData14ClearAddressesEv @ 101 NONAME
+ _ZN7CSendUi15ShowTypedQueryLENS_15TSendUiMenuTypeEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidERK7TDesC16 @ 102 NONAME
+ _ZN7CSendUi17AddTypedMenuItemLENS_15TSendUiMenuTypeER12CEikMenuPaneii20TSendingCapabilities @ 103 NONAME
+ _ZN7CSendUi22ShowTypedQueryAndSendLENS_15TSendUiMenuTypeEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidES6_iRK7TDesC16 @ 104 NONAME
+ _ZNK7CSendUi14TechnologyTypeE4TUid @ 105 NONAME
+ _ZN12CMessageData12InternalizeLER11RReadStream @ 106 NONAME
+ _ZN15CMessageAddress12ExternalizeLER12RWriteStream @ 107 NONAME
+ _ZN15CMessageAddress12InternalizeLER11RReadStream @ 108 NONAME
+ _ZN15CSendingService19CreateTemplateDataLEv @ 109 NONAME ABSENT
+ _ZN19CSendingServiceInfo18SetServiceFeaturesEi @ 110 NONAME
+ _ZN19CSendingServiceInfo19SetTechnologyTypeIdE4TUid @ 111 NONAME
+ _ZNK12CMessageData12ExternalizeLER12RWriteStream @ 112 NONAME
+ _ZNK19CSendingServiceInfo15ServiceFeaturesEv @ 113 NONAME
+ _ZNK19CSendingServiceInfo16TechnologyTypeIdEv @ 114 NONAME
+ _ZN15CSendingServiceC2ER7CCoeEnvR16CSendUiSingleton @ 115 NONAME
+ _ZN16CSendUiSingleton11MsvSessionLEv @ 116 NONAME
+ _ZN16CSendUiSingleton14MtmUiRegistryLEv @ 117 NONAME
+ _ZN16CSendUiSingleton18ClientMtmRegistryLEv @ 118 NONAME
+ _ZN16CSendUiSingleton18MtmUiDataRegistryLEv @ 119 NONAME
+ _ZN16CSendUiSingleton4NewLEv @ 120 NONAME
+ _ZN12CMessageData14SetOpaqueDataLEPK6TDesC84TUid @ 121 NONAME
+ _ZNK12CMessageData10OpaqueDataEv @ 122 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/group/Sendnorm.rss Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,244 @@
+/*
+* Copyright (c) 2002-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: Resource definitions for project SendUi
+*
+*/
+
+
+
+NAME SEND
+
+#include <eikon.rh>
+#include <avkon.rh>
+#include <avkon.rsg>
+#include <avkon.mbg>
+#include <avkon.loc>
+#include <AiwCommon.hrh>
+#include <AiwCommon.rh>
+#include <sendnorm.loc>
+#include <drmcommon.loc>
+//#include <messaging.loc>
+#include <AvkonIcons.hrh> // AVKON_ICON_FILE
+
+RESOURCE RSS_SIGNATURE { }
+
+RESOURCE TBUF32 r_sendui_menuitem_send { buf = qtn_options_send_via; }
+
+RESOURCE MENU_PANE r_sendui_menu
+{
+ items =
+ {
+ // will be dynamically populated
+ };
+}
+
+RESOURCE DIALOG r_sendui_list_query
+{
+ flags = EGeneralQueryFlags;
+ buttons = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtListQueryControl;
+ id = EListQueryControl;
+ control = AVKON_LIST_QUERY_CONTROL
+ {
+ heading = " "; // needed, otherwise heading is not created at all!
+ listtype = EAknCtSinglePopupMenuListBox;
+ listbox = LISTBOX
+ {
+ flags = EAknListBoxMenuList;
+ height = 3;
+ width = 3;
+ };
+ };
+ }
+ };
+}
+
+
+RESOURCE DIALOG r_sendui_create_mailbox_confirmation_query
+{
+ flags = EGeneralQueryFlags;
+ buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtQuery;
+ id = EGeneralQuery;
+ control = AVKON_CONFIRMATION_QUERY
+ {
+ layout = EConfirmationQueryLayout;
+ label = qtn_mce_conf_no_mailboxes;
+ };
+ }
+ };
+}
+
+RESOURCE DIALOG r_sendui_wait_note
+{
+ flags = EAknWaitNoteFlags;
+ buttons = R_AVKON_SOFTKEYS_EMPTY;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtNote;
+ id = 10;
+ control = AVKON_NOTE
+ {
+ layout = EWaitLayout;
+ singular_label = qtn_mail_wait_opening_editor;
+ plural_label = "";
+ animation = R_QGN_GRAF_WAIT_BAR_ANIM;
+ };
+ }
+ };
+}
+
+RESOURCE DIALOG r_sendui_drm_forwardlocked_content_query
+{
+ flags = EGeneralQueryFlags;
+ buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtQuery;
+ id = EGeneralQuery;
+ control = AVKON_CONFIRMATION_QUERY
+ {
+ layout = EConfirmationQueryLayout;
+ };
+ }
+ };
+}
+
+// For DRM engine
+RESOURCE TBUF r_sendui_drm_single_distrutable { buf = qtn_drm_send_wo_rights_sd_1; }
+RESOURCE TBUF r_sendui_drm_several_distrutable { buf = qtn_drm_send_wo_rights_misc; }
+RESOURCE TBUF r_sendui_drm_several_locked { buf = qtn_drm_fl_query_send_forbid; }
+RESOURCE TBUF r_sendui_drm_one_file_deleted { buf = qtn_drm_send_forbid_1; }
+RESOURCE TBUF r_sendui_drm_all_files_deleted { buf = qtn_drm_send_forbid; }
+
+// For MMS Media Resolver
+RESOURCE TBUF r_sendui_mme_one_too_big { buf = qtn_mms_info_not_inserted; }
+RESOURCE TBUF r_sendui_mme_many_too_big { buf = qtn_mms_info_all_not_inserted; }
+RESOURCE TBUF r_sendui_mme_some_files_deleted { buf = qtn_mms_info_some_not_supported; }
+RESOURCE TBUF r_sendui_mme_file_not_supported { buf = qtn_mms_info_object_not_supported; }
+RESOURCE TBUF r_sendui_mme_files_not_supported { buf = qtn_mms_info_objects_not_supported; }
+RESOURCE TBUF r_sendui_mme_none_cannot_ins { buf = qtn_mms_info_cannot_ins; }
+RESOURCE TBUF r_sendui_mme_some_inserted { buf = qtn_mms_info_only_some_ins; }
+
+RESOURCE TBUF r_sendui_settings_not_ok { buf = qtn_mce_error_stand_settings; }
+
+
+RESOURCE AIW_INTEREST r_sendui_baseinterest
+{
+ items=
+ {
+ // This application is interested in printing jpeg images from menu.
+ AIW_CRITERIA_ITEM
+ {
+ id = 200000;
+ serviceCmd = KAiwCmdSend;
+ serviceClass = KAiwClassBase;
+ contentType = "*";
+ maxProviders = 3;
+ }
+ };
+}
+
+// For DRM engine
+RESOURCE TBUF r_sendui_drm_many_sd_items { buf = qtn_drm_send_wo_rights_sd; }
+RESOURCE TBUF r_sendui_drm_some_locked { buf = qtn_drm_query_send_forbid; }
+
+// For MMS upload
+RESOURCE TBUF r_sendui_mms_upload_file_corrupted { buf = qtn_mms_upload_info_corrupted; }
+RESOURCE TBUF r_sendui_mms_upload_files_corrupted { buf = qtn_mms_upload_info_corrupted_all; }
+RESOURCE TBUF r_sendui_mms_upload_some_files_corrupted { buf = qtn_mms_upload_info_corrupted_some; }
+RESOURCE TBUF r_sendui_mms_upload_one_too_big { buf = qtn_mms_info_size_not_sent; }
+RESOURCE TBUF r_sendui_mms_upload_many_too_big { buf = qtn_mms_info_size_all_not_sent; }
+RESOURCE TBUF r_sendui_mms_upload_none_cannot_ins { buf = qtn_mms_info_cannot_send; }
+RESOURCE TBUF r_sendui_mms_upload_some_inserted { buf = qtn_mms_info_only_some_sent; }
+RESOURCE TBUF r_sendui_mms_upload_some_files_deleted { buf = qtn_mms_info_some_not_supp_send; }
+RESOURCE TBUF r_sendui_mms_upload_file_not_supported { buf = qtn_mms_info_obj_not_supp_send; }
+RESOURCE TBUF r_sendui_mms_upload_files_not_supported { buf = qtn_mms_info_objects_not_supp_send; }
+RESOURCE TBUF r_sendui_mms_upload_drm_one_sd { buf = qtn_drm_query_mms_upload_one_sd; }
+RESOURCE TBUF r_sendui_mms_upload_drm_many_sd { buf = qtn_drm_query_mms_upload_all_sd; }
+RESOURCE TBUF r_sendui_mms_upload_drm_some_sd { buf = qtn_drm_query_mms_upload_some; }
+RESOURCE TBUF r_sendui_settings_not_ok_many { buf = qtn_mce_error_stand_settings_many; }
+
+RESOURCE TBUF r_sendui_list_query_title { buf = qtn_query_heading_send; }
+
+// DRM notes
+RESOURCE TBUF r_sendui_drm_send_forbid_one { buf = qtn_drm_info_send_forbid_one; }
+RESOURCE TBUF r_sendui_drm_send_forbid_some { buf = qtn_drm_info_send_forbid_some; }
+
+// -----------------------------------------------------------------------------
+//
+// r_sendui_confirmable_info
+// Confirmation query.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE DIALOG r_sendui_confirmable_info
+ {
+ flags = EGeneralQueryFlags;
+ buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtQuery;
+ id = EGeneralQuery;
+ control = AVKON_CONFIRMATION_QUERY
+ {
+ layout = EConfirmationQueryLayout;
+ animation = R_QGN_NOTE_INFO_ANIM;
+ };
+ }
+ };
+ }
+
+RESOURCE TBUF r_sendui_menuitem_write { buf = qtn_options_write; }
+RESOURCE TBUF r_sendui_list_query_title_write { buf = qtn_query_heading_write; }
+RESOURCE TBUF r_sendui_mme_rmode_file_not_supported { buf = qtn_mms_info_rmode_object_not_supported; }
+RESOURCE TBUF r_sendui_mme_rmode_files_not_supported { buf = qtn_mms_info_rmode_objects_not_supported; }
+RESOURCE TBUF r_sendui_mme_rmode_some_not_supported { buf = qtn_mms_info_rmode_some_not_supported; }
+
+
+RESOURCE ARRAY r_senduiserviceorder_array
+{
+ items =
+ {
+ NUMBER_INT32 { value = 0x102072D6; }, // KSenduiMtmUniMessageUidValue,
+ NUMBER_INT32 { value = 0x1020745B; }, // KSenduiMtmAudioMessageUidValue,
+ NUMBER_INT32 { value = 0x10001028; }, // KSenduiMtmSmtpUidValue,
+ NUMBER_INT32 { value = 0x101f7c5c; }, // KSenduiMtmSyncMLEmailUidValue,
+ NUMBER_INT32 { value = 0x10207245; }, // KSenduiMtmPostcardUidValue,
+ NUMBER_INT32 { value = 0x101F8835; }, // KMmsUploadService1,
+ NUMBER_INT32 { value = 0x101F8836; }, // KMmsUploadService2,
+ NUMBER_INT32 { value = 0x101F8837; }, // KMmsUploadService3,
+ NUMBER_INT32 { value = 0x101F8838; }, // KMmsUploadService4,
+ NUMBER_INT32 { value = 0x10009ED5; }, // KSenduiMtmBtUidValue,
+ NUMBER_INT32 { value = 0x100053A4; }, // KSenduiMtmIrUidValue,
+ NUMBER_INT32 { value = 0x10207388; } // KDrmLinkSenderValue
+ };
+}
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/group/Sendui.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* 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 is project specification file for the sendui.
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+// --- LOGGING ---
+//MACRO USE_LOGGER // HW debugging support
+//LIBRARY Flogger.lib // RFileLogger, debug logging
+// --- LOGGING ---
+
+TARGET SENDUI.DLL
+TARGETTYPE DLL
+UID 0x1000008D 0x100058F0
+VENDORID VID_DEFAULT
+VERSION 10.0
+CAPABILITY CAP_GENERAL_DLL
+PAGED
+
+SOURCEPATH ../group
+START RESOURCE Sendnorm.rss
+HEADER
+TARGETPATH RESOURCE_FILES_DIR
+LANGUAGE_IDS
+END
+
+USERINCLUDE ../inc ../datautils/inc
+
+SYSTEMINCLUDE /epoc32/include/ecom
+APP_LAYER_SYSTEMINCLUDE
+
+
+
+#if defined(ARMCC)
+DEFFILE ../eabi/
+#elif defined( WINSCW )
+DEFFILE ../bwinscw/
+#elif defined( WINS )
+DEFFILE ../bwins/
+#else
+DEFFILE ../bmarm/
+#endif
+
+SOURCEPATH ../src
+SOURCE SendUi.cpp
+SOURCE SendUiImpl.cpp
+SOURCE TSendingCapabilities.cpp
+SOURCE CSendingService.cpp
+SOURCE CSendingServiceInfo.cpp
+SOURCE SendingServiceInfoImpl.cpp
+SOURCE CMessageData.cpp
+SOURCE CMessageDataImpl.cpp
+SOURCE CMessageAddress.cpp
+SOURCE MessageAddressImpl.cpp
+SOURCE senduiserviceclient.cpp
+SOURCE propertyobserver.cpp
+SOURCE senduisingleton.cpp
+SOURCE SendUiUtils.cpp
+SOURCE SendUiCapabilityCheck.cpp
+
+
+
+LIBRARY euser.lib
+LIBRARY apparc.lib
+
+LIBRARY eikcoctl.lib
+LIBRARY eikcore.lib // appuifactory
+LIBRARY CommonEngine.lib // Resource loader
+LIBRARY centralrepository.lib
+LIBRARY cone.lib
+
+/* End of File */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* 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 provides the information required for building the
+* whole of a Messagingfw/senduiservices library.
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../conf/sendui.confml MW_LAYER_CONFML(sendui.confml)
+../conf/sendui_10282823.crml MW_LAYER_CRML(sendui_10282823.crml)
+
+../rom/Senduiservices.iby CORE_MW_LAYER_IBY_EXPORT_PATH(Senduiservices.iby)
+../rom/SenduiservicesResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(SenduiservicesResources.iby)
+
+../loc/Sendnorm.loc MW_LAYER_LOC_EXPORT_PATH(sendnorm.loc)
+//Stub Sis
+../stub_sis/stub_senduiserviceresolver.sis /epoc32/data/z/system/install/stub_senduiserviceresolver.sis
+../stub_sis/stub_senduilauncher.sis /epoc32/data/z/system/install/stub_senduilauncher.sis
+
+PRJ_MMPFILES
+
+// SendUI
+//../datautils/group/senduidatautils.mmp
+./Sendui.mmp
+//../launcher/group/senduilauncher.mmp
+//../serviceresolver/group/senduiserviceresolver.mmp
+../watcher/group/SendUiWatcher.mmp
+
+/* End of File */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/CMessageAddressImpl.inl Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
+* Encapsulates message real address and alias.
+*
+*/
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::Address
+// Returns real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline const TPtrC CMessageAddressImpl::Address() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::Alias
+// Returns the alias for the real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline const TPtrC CMessageAddressImpl::Alias() const
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/CMessageDataImpl.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,365 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the message data for sending services.
+*
+*/
+
+
+#ifndef C_MESSAGEDATAIMPL_H
+#define C_MESSAGEDATAIMPL_H
+
+#include <e32base.h>
+#include <badesca.h>
+#include <f32file.h>
+#include <msvstd.h>
+#include <CMessageAddress.h>
+
+class MDesC16Array;
+class CRichText;
+
+/**
+* Encapsulates the message data for sending services.
+*
+* Encapsulates the message data for sending services. Class supports
+* externalazation and internalization, which are used to relay message
+* to SendUI server application.
+*
+* @lib sendui
+* @since S60 v3.2
+*/
+NONSHARABLE_CLASS( CMessageDataImpl ) : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return Pointer to object of CMessageDataImpl.
+ */
+ static CMessageDataImpl* NewL();
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return Pointer to object of CMessageDataImpl.
+ */
+ static CMessageDataImpl* NewLC();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMessageDataImpl();
+
+ public: // New functions
+
+ /**
+ * Set message subject.
+ *
+ * @since Series 60 3.0
+ * @param aSubject Sets message subject. Does not take ownership.
+ * @return None.
+ */
+ void SetSubjectL( const TDesC* aSubject );
+
+ /**
+ * Returns message subject.
+ *
+ * @since Series 60 3.0
+ * @return Message subject.
+ */
+ const TPtrC Subject() const;
+
+ /**
+ * Appends attachment file path to the array of attachment file paths. Only a link
+ * to the attachment is stored and compared to AppendAttachmentHandleL less resources
+ * is used during the send operation.
+ *
+ * NOTE: Do not add any temporary files as an attachment. Always use
+ * AppendAttachmentHandleL for temporary files.
+ *
+ * @since Series 60 3.2
+ * @param aFilePath File path of the attachment.
+ *
+ * @return None.
+ */
+ void AppendAttachmentL( const TDesC& aFilePath );
+
+ /**
+ * Returns the array of attachment file paths.
+ *
+ * @since Series 60 3.2
+ * @return Array of attachment file paths.
+ */
+ const CDesCArray& AttachmentArray() const;
+
+ /**
+ * Clears the array of attachment file paths.
+ *
+ * @since Series 60 3.2
+ * @return Array of attachment file paths.
+ */
+ void ClearAttachmentArray();
+
+ /**
+ * Encapsulates address and alias to CMessageAddress and adds to array.
+ *
+ * @since Series 60 3.2
+ * @param aAddress Real address.
+ * @param aAlias Alias for the real address.
+ * @return None.
+ */
+ void AppendToAddressL(
+ const TDesC& aAddress,
+ const TDesC& aAlias = KNullDesC);
+
+ /**
+ * Returns array of addresses and aliases.
+ *
+ * @since Series 60 3.2
+ * @return Array of addresses and aliases.
+ */
+ const CMessageAddressArray& ToAddressArray() const;
+
+ /**
+ * Encapsulates CC address and alias to CMessageAddress and adds to
+ * array.
+ *
+ * @since Series 60 3.2
+ * @param aCcAddress Real CC-address.
+ * @param aCcAlias Alias for the real CC-address.
+ * @return None.
+ */
+ void AppendCcAddressL(
+ const TDesC& aCcAddress,
+ const TDesC& aCcAlias = KNullDesC);
+
+ /**
+ * Returns array of CC addresses and aliases.
+ *
+ * @since Series 60 3.2
+ * @return Array of cc addresses and aliases.
+ */
+ const CMessageAddressArray& CcAddressArray() const;
+
+ /**
+ * Encapsulates Bcc address and alias to CMessageAddress and adds to
+ * array.
+ *
+ * @since Series 60 3.2
+ * @param aBccAddress Real Bcc-address.
+ * @param aBccAlias Alias for the real Bcc-address.
+ * @return None.
+ */
+ void AppendBccAddressL(
+ const TDesC& aBccAddress,
+ const TDesC& aBccAlias = KNullDesC);
+
+ /**
+ * Returns array of Bcc addresses and aliases.
+ *
+ * @since Series 60 3.2
+ * @return Array of Bcc addresses and aliases.
+ */
+ const CMessageAddressArray& BccAddressArray() const;
+
+ /**
+ * Set message body text.
+ *
+ * @since Series 60 3.2
+ * @param aBodyText Message body text.
+ * @return None.
+ */
+ void SetBodyTextL( const CRichText* aBodyText );
+
+ /**
+ * Returns message body text.
+ *
+ * @since Series 60 3.2
+ * @return Message body text.
+ */
+ const CRichText* BodyText() const;
+
+ /**
+ * Appends attachment handle to the array of attachment handles.
+ *
+ * NOTE: Attachment handles should be opened using ShareProtected()
+ * file session, otherwise handles can not be transfered through
+ * client-server interface.
+ *
+ * NOTE: When adding a temporary file as an attachment, always use this method,
+ *
+ * @since Series 60 3.2
+ * @param aFileHandle File handle of the attachment.
+ * @return None.
+ */
+ void AppendAttachmentHandleL( const RFile& aFileHandle );
+
+ /**
+ * Returns the array of attachment handles.
+ *
+ * @since Series 60 3.2
+ * @return Array of attachment handles.
+ */
+ const RArray<RFile>& AttachmentHandleArray() const;
+
+ /**
+ * Returns data type id.
+ *
+ * This is used for static casting.
+ * @since Series 60 3.2
+ * @return Data type id.
+ */
+ TUid DataType() const;
+
+ /**
+ * Clears all addressee arrays.
+ *
+ * @since Series 60 3.2
+ * @return None.
+ */
+ void ClearAddresses();
+
+ /**
+ * Externalizes message data to a stream
+ *
+ * @since Series 60 3.2
+ * @return None.
+ */
+
+ void ExternalizeL( RWriteStream& aStream ) const;
+
+ /**
+ * Internalizes message data to from a stream
+ *
+ * @since Series 60 3.2
+ * @return None.
+ */
+ void InternalizeL( RReadStream& aStream );
+
+ /**
+ * Set opaque data
+ *
+ * @since Series 60 3.2
+ * @param aData Opaque data.
+ * @return None.
+ */
+ void SetOpaqueDataL( const TDesC8* aData );
+
+ /**
+ * Get opaque data
+ *
+ * @since Series 60 3.2
+ * @return aData Opaque data.
+ */
+ const TPtrC8 OpaqueData() const;
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CMessageDataImpl();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ /**
+ * Externalizes an address array
+ *
+ * @since Series 60 3.2
+ * @param anArray Addresses to be externalized
+ * @param aStream Destination stream
+ * @return None.
+ */
+ void ExternalizeArrayL( CMessageAddressArray* anArray, RWriteStream& aStream ) const;
+
+ /**
+ * Internalizes an address array
+ *
+ * @since Series 60 3.2
+ * @param anArray Destination of the internalized addresses
+ * @param aStream Source stream
+ * @return None.
+ */
+ void InternalizeArrayL( CMessageAddressArray* anArray, RReadStream& aStream );
+
+ /**
+ * Creates temporary path
+ */
+ void CreateTempPathL( TDes16& aPath, RFs& aFs ) const;
+
+ protected: // Data
+
+ /**
+ * Data type of this message. Normally this is KSenduiMsgDataBase
+ */
+ TUid iDataType;
+
+ private: // Data
+
+ /**
+ * Message subject.
+ * Owned.
+ */
+ HBufC* iSubject;
+
+ /**
+ * Message body text.
+ * Owned.
+ */
+ CRichText* iBodyText;
+
+ /**
+ * Attachment filepaths.
+ * Owned.
+ */
+ CDesCArray* iAttachments;
+
+ /**
+ * Array of real addresses and aliases.
+ * Owned.
+ */
+ CMessageAddressArray* iToAddresses;
+
+ /**
+ * Array of real CC addresses and aliases.
+ * Owned.
+ */
+ CMessageAddressArray* iCcAddresses;
+
+ /**
+ * Array of real BC addresses and aliases.
+ * Owned.
+ */
+ CMessageAddressArray* iBccAddresses;
+
+ /**
+ * Attachment handles.
+ * Owned.
+ */
+ RArray<RFile> iAttachmentHandles;
+
+ /**
+ * Opaque data. Interpretation depends on service handler.
+ * Owned.
+ */
+ HBufC8* iOpaqueData;
+ };
+
+#endif // C_MESSAGEDATAIMPL_H
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/CSendingServiceInfo.inl Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the ECom plugged sending service data.
+*
+*/
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceName
+// Returns service human readable name.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline const TPtrC CSendingServiceInfoImpl::ServiceName() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceMenuName
+// Returns service human readable name for the "Send"-menu.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline const TPtrC CSendingServiceInfoImpl::ServiceMenuName() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceAddress
+// Returns service address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline const TPtrC CSendingServiceInfoImpl::ServiceAddress() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceId
+// Sets service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline void CSendingServiceInfoImpl::SetServiceId( TUid aServiceId )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline TUid CSendingServiceInfoImpl::ServiceId() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceProviderId
+// Sets service provider id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline void CSendingServiceInfoImpl::SetServiceProviderId(
+ TUid aServiceProviderId )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceProviderId
+// Returns service provider id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline TUid CSendingServiceInfoImpl::ServiceProviderId() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceCapabilities
+// Set service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline void CSendingServiceInfoImpl::SetServiceCapabilities(
+ TSendingCapabilities aServiceCapabilities )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceCapabilities
+// Returns service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline TSendingCapabilities CSendingServiceInfoImpl::ServiceCapabilities() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline TUid CSendingServiceInfoImpl::TechnologyTypeId() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceProviderId
+// Sets service provider id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline void CSendingServiceInfoImpl::SetTechnologyTypeId(
+ TUid aTechnologyTypeId )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceCapabilities
+// Set service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline void CSendingServiceInfoImpl::SetServiceFeatures(
+ TInt aServiceFeatures )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::ServiceCapabilities
+// Returns service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+inline TInt CSendingServiceInfoImpl::ServiceFeatures() const
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/MessageAddressImpl.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2002-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 of CMessageAddress interface.
+* Encapsulates message real address and alias.
+*
+*/
+
+
+#ifndef C_MESSAGEADDRESSIMPL_H
+#define C_MESSAGEADDRESSIMPL_H
+
+#include <e32base.h>
+
+class RWriteStream;
+class RReadStream;
+
+const TInt KMaxLength = 128;
+
+/**
+ * Encapsulates message recipient real address and alias.
+ *
+ * @lib SendUi
+ * @since Series 60 v3.0
+ */
+class CMessageAddressImpl : public CBase
+{
+public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ CMessageAddressImpl();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMessageAddressImpl();
+
+public: // New functions
+
+ /**
+ * Sets real address.
+ *
+ * @since Series 60 3.0
+ * @param aAddress Real address.
+ * @return None.
+ */
+ void SetAddressL( const TDesC& aAddress );
+
+ /**
+ * Returns real address.
+ *
+ * @since Series 60 3.0
+ * @return Real address.
+ */
+ inline const TPtrC Address() const;
+
+ /**
+ * Sets alias for the real address.
+ *
+ * @since Series 60 3.0
+ * @param aAlias Alias for the real address.
+ * @return None.
+ */
+ void SetAliasL( const TDesC& aAlias );
+
+ /**
+ * Externalizes message address data
+ *
+ * @since S60 v3.2
+ * @param aStream Open write stream
+ */
+ inline const TPtrC Alias() const;
+
+ void ExternalizeL( RWriteStream& aStream ) const;
+
+ /**
+ * Internalizes message address data
+ *
+ * @since S60 v3.2
+ * @param aStream Stream containing message address
+ */
+ void InternalizeL( RReadStream& aStream );
+
+
+ private: // Data
+
+ /**
+ * Real address
+ * Own.
+ */
+ HBufC* iRealAddress;
+
+ /**
+ * Alias for real address
+ * Own.
+ */
+ HBufC* iAlias;
+
+};
+
+#include "CMessageAddressImpl.inl"
+
+#endif // C_MESSAGEADDRESSIMPL_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendUiCapabilityCheck.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2002-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: Capability checker for SendUI.
+*
+*/
+
+
+
+
+#ifndef CSENDUICAPABILITYCHECK_H
+#define CSENDUICAPABILITYCHECK_H
+
+// INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CBaseMtm;
+class CMsvSession;
+// CLASS DECLARATION
+
+/**
+* Capability checker for SendUI.
+*
+* @lib SenduiDataUtils.lib
+* @since S60 3.2
+*/
+NONSHARABLE_CLASS(CSendUiCapabilityCheck) : public CActive
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CSendUiCapabilityCheck* NewLC();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendUiCapabilityCheck();
+
+ TBool CheckCapabilitiesL(
+ const TSecurityInfo& aSecurityInfo,
+ CMsvSession& aSession,
+ const TUid aMtmType,
+ const TDesC& aServiceName );
+
+ private:
+
+ void RunL();
+
+ void DoCancel();
+
+ void ConstructL();
+
+ /**
+ * C++ default constructor.
+ */
+ CSendUiCapabilityCheck();
+
+ private:
+
+ CActiveSchedulerWait iWait;
+
+ RNotifier iNotifier;
+ TUid iNotifierUid;
+
+ TPckgBuf<TInt> iNotifierResult;
+
+ };
+
+#endif // CSENDUICAPABILITYCHECK_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendUiDummyMtm.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* 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: SendUiDummyMtm declaration
+*
+*/
+
+
+
+#ifndef CSENDUIDUMMYMTM_H
+#define CSENDUIDUMMYMTM_H
+
+// INCLUDES
+#include <mtclbase.h>
+#include <eikfutil.h>
+
+// ==========================================================
+// CSendUiDummyMtm
+// ==========================================================
+
+class CSendUiDummyMtm : public CBaseMtm
+ {
+ public:
+ CSendUiDummyMtm(
+ CRegisteredMtmDll& aRegisteredMtmDll,
+ CMsvSession& aSession );
+
+ public:
+ inline CCharFormatLayer*& CharFormat()
+ {
+ return iCharFormatLayer;
+ }
+
+ inline CParaFormatLayer*& ParaFormat()
+ {
+ return iParaFormatLayer;
+ }
+
+ inline void SetCharFormatL(const CCharFormatLayer& aCharFormatLayer)
+ {
+ delete iCharFormatLayer;
+ iCharFormatLayer = NULL;
+ iCharFormatLayer = aCharFormatLayer.CloneL();
+ }
+
+ inline void SetParaFormatL(const CParaFormatLayer& aParaFormatLayer)
+ {
+ delete iParaFormatLayer;
+ iParaFormatLayer = NULL;
+ iParaFormatLayer = aParaFormatLayer.CloneL();
+ }
+ };
+
+#endif // CSENDUIDUMMYMTM_H
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendUiImpl.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,473 @@
+/*
+* Copyright (c) 2002-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: SendUI API implementation
+*
+*/
+
+
+
+
+
+#ifndef C_CSENDUIIMPL_H
+#define C_CSENDUIIMPL_H
+
+#include <f32file.h>
+#include <e32base.h>
+#include <e32property.h>
+#include <badesca.h>
+#include <ConeResLoader.h>
+#include <apaserverapp.h>
+#include <msvapi.h>
+
+#include <TSendingCapabilities.h>
+#include <sendui.h>
+#include <SendUiConsts.h>
+
+class CEikMenuPane;
+class CSendNormalUi;
+class CMessageData;
+class CSendingServiceManager;
+class CSendingServiceInfo;
+class RSendUiServiceClient;
+class CPropertyObserver;
+class TDataType;
+class CSendUiSingleton;
+
+/**
+ * Implementation of SendUI API
+ *
+ * Can be used to show "Send" list query and to create and send
+ * messages via available services. Sending services can be based
+ * on the MTM or ECom architecture. Created messages are sent
+ * directly or message editor is opened for editing, depending on
+ * the type of selected service.
+ * @lib sendui.lib
+ * @since S60 v3.0
+ */
+class CSendUiImpl : public CBase
+ {
+ friend class UT_CSendUiImpl;
+public:
+
+ static CSendUiImpl* NewL();
+
+ virtual ~CSendUiImpl();
+
+public:
+
+ /**
+ * Adds menu item of given type to menupane.
+ *
+ * @since Series 60 3.0
+ * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
+ * @param aMenuPane Menupane where the menu item should be added.
+ * @param aIndex The place of the menu item in menupane.
+ * @param aCommandId Command id for the menu item.
+ * @param aRequiredCapabilities Capabilities required by services to be
+ * shown in "Send" list query. If no capabilities are required
+ * (KCapabilitiesForAllServices), all available services are
+ * shown in "Send" list query.
+ * @return None.
+ */
+ void AddTypedMenuItemL(
+ CSendUi::TSendUiMenuType aMenuType,
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
+
+ /**
+ * First displays list query and then creates the message.
+ * Editor is launched for editing the message or the message is sent
+ * directly without opening the editor. Functionality depends on the
+ * type of selected service.
+ *
+ * List query can be manipulated in three ways. All three methods can be
+ * used or just some of those.
+ *
+ * The first option is to set the required capabilities for services.
+ * Eg. attachments supported. Sending services not matching to required
+ * capabilities are filtered away. Capabilities are defined in
+ * TSendingCapabilities.h.
+ *
+ * The second option is content based filtering. Filtering is based on
+ * the files intended to send. Those files can be set as part of message
+ * data. Filtering is done according the predefined rules.
+ *
+ * The third option is to set the array of service uids not wanted to
+ * be shown in list query. Uid can be the technology type, service provider or
+ * service id. These sending services are filtered away
+ * even if those match to required capabilities.
+ *
+ * @since Series 60 3.0
+ * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
+ * @param aMessageData Data for the message.
+ * @param aRequiredCapabilities Capabilities required by sending services
+ * to be shown in "Send" pop-up list query. If no capabilities are
+ * required (KCapabilitiesForAllServices), all available services
+ * are shown in "Send" pop-up list query.
+ * @param aServicesToDim Array of service uids (service uid, service
+ * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
+ * list query.
+ * See predefined sending service uids in SendUiConsts.h .
+ * @param aLaunchEditorEmbedded ETrue if the editor should be launched
+ * embedded. Otherwise the editor is launched stand-alone.
+ * Note: some services sends the messages without launching the
+ * editor at all.
+ * @param aTitleText Title of the list query. If no title is defined,
+ * then the localised default title is used, e.g. "Send" or
+ * "Write".
+ * @return None.
+ */
+ void ShowTypedQueryAndSendL(
+ CSendUi::TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
+ CArrayFix<TUid>* aServicesToDim = NULL,
+ TBool aLaunchEditorEmbedded = ETrue,
+ const TDesC& aTitleText = KNullDesC );
+
+ /**
+ * Displays list query and returns the user selection.
+ *
+ * List query can be manipulated in three ways. All three methods can be
+ * used or just some of those.
+ *
+ * The first option is to set the required capabilities for services.
+ * Eg. attachments supported. Sending services not matching to required
+ * capabilities are filtered away. Capabilities are defined in
+ * TSendingCapabilities.h.
+ *
+ * The second option is content based filtering. Filtering is based on
+ * the files intended to send. Those files can be set as part of message
+ * data. Filtering is done according the predefined rules.
+ *
+ * The third option is to set the array of service uids not wanted to
+ * be shown in list query. These sending services are filtered away
+ * even if those match to required capabilities.
+ *
+ * @since Series 60 3.0
+ * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
+ * @param aMessageData Data for the message. Attachments are used for
+ * content based filtering.
+ * @param aRequiredCapabilities Capabilities required by sending services
+ * to be shown in list query. If no capabilities are required
+ * (KCapabilitiesForAllServices), all available services are
+ * shown in list query.
+ * @param aServicesToDim Array of service uids (service uid, service
+ * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
+ * list query.
+ * See predefined sending service uids in SendUiConsts.h .
+ * @param aTitleText Title of the list query. If no title is defined,
+ * then the localised default title is used, e.g. "Send" or
+ * "Write"
+ * @return Uid of the selected service (MTM or ECom).
+ * KNullId is returned if user selects cancel.
+ */
+ TUid ShowTypedQueryL(
+ CSendUi::TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData = NULL,
+ TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
+ CArrayFix<TUid>* aServicesToDim = NULL,
+ const TDesC& aTitleText = KNullDesC );
+
+ /**
+ * Creates the message and launches the editor for editing the message
+ * or sends the message directly without opening the editor.
+ * Functionality depends on the type of selected service.
+ *
+ * @since Series 60 3.2
+ * @param aServiceUid Uid of the sending service.
+ * @param aMessageData Data for the message.
+ * @return None.
+ */
+ TInt SendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded );
+
+ /**
+ * Launches server application, which will eventually call SendMessageL
+ * with the same parameters.
+ *
+ * @since Series 60 3.2
+ * @param aServiceUid Uid of the sending service.
+ * @param aMessageData Data for the message.
+ * @return None.
+ */
+ void SendMessageViaServerL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded );
+ /**
+ * Creates the message and launches the editor for editing the message
+ * or sends the message directly without opening the editor.
+ * Functionality depends on the type of selected service.
+ *
+ * @since Series 60 3.0
+ * @param aServiceUid Uid of the sending service.
+ * @param aMessageData Data for the message.
+ * @return None.
+ */
+ void CreateAndSendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded = ETrue );
+
+ /**
+ * Returns sending capabilities of the sending service.
+ * @since Series 60 3.0
+ * @param aServiceUid Uid of the sending service.
+ * @param aServiceCapabilities TSendingCapabilities of the sending
+ * service as a return value.
+ * @return Return KErrNone if successful, or one of the system wide
+ * errors if unsuccessful.
+ */
+ TInt ServiceCapabilities(
+ TUid aServiceUid,
+ TSendingCapabilities& aServiceCapabilities );
+
+ /**
+ * Populates given list with the information about services
+ * provided by specified ECom service provider.
+ * Each service provider can provide 1..n services.
+ * Ownership of the pointed objects are transfered to caller.
+ *
+ * Can be used for ex. when creating own "Send" menu, which needs to
+ * include ECom based services.
+ *
+ * NOTE: Can be used only for ECom based services, also for MTMs
+ *
+ * @since Series 60 2.8
+ * @param aServiceList Service list to be populated.
+ * @param aServiceProvider Id of the specified service provider.
+ * KNullId means all service providers.
+ * Service providers are defined in SendUiConsts.h
+ * @return none
+ */
+ void AvailableServicesL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ TUid aServiceProvider = KNullUid);
+
+ /**
+ * Returns the technology type of a service
+ *
+ * @since Series 60 3.0
+ * @param aServiceId Service of interest
+ * @return Technology type of the provided service. NULL if Mtm
+ * service doesn't exist or service is ECOM based.
+ */
+ TUid TechnologyType( TUid aServiceUid );
+
+ /**
+ * Returns the index of the service in service array
+ *
+ * @since Series 60 3.2
+ * @param aServiceId Service of interest
+ * @return Index of a found service. Otherwise KErrNotFound.
+ */
+ TInt ResolveServiceIndex( TUid aUid );
+
+ /**
+ * Compares service capabilities with the required capabilities
+ *
+ * @since S60 v3.2
+ * @param aServiceIndex Index of the service
+ * @param aRequiredCapabilities Required capabilities
+ * @return ETrue, if service has required or more capabilities.
+ * EFalse, if service does not have the required capabilities
+ * or service does not exist.
+ */
+ TBool QueryCapabilities(
+ TInt aServiceIndex,
+ TSendingCapabilities aCap );
+
+ /**
+ * Copies sending service information from Central Repository to local data
+ *
+ * @since S60 v3.2
+ */
+ void GetServicesL( );
+
+private:
+
+
+ /**
+ *
+ * @since Series 60 3.0
+ * @param aListItems
+ * @param aTitleText Title of the pop-up list query. If no title
+ * is defined, then the localised default title is used.
+ * @return: User selection.
+ */
+ TUid ShowListQueryL(
+ MDesCArray* aListItems,
+ const CArrayFix<TUid>& aListItemUids,
+ const TDesC& aTitleText,
+ CSendUi::TSendUiMenuType aMenuType );
+
+ /**
+ * Filtering services by their content
+ *
+ * @since Series 60 3.0
+ * @param aServiceUid
+ * @param aServiceProviderUid
+ * @param aMessageData Message data, which is base of the content filtering.
+ * @param aMimeType The mimetype of the first attachment.
+ * @return: True, if given service can send specified content
+ */
+ TBool CanSendContentL(
+ TUid aServiceUid,
+ TUid aServiceProviderUid,
+ const CMessageData* aMessageData,
+ TDataType* aMimeType );
+
+ /**
+ *
+ * @since Series 60 3.0
+ * @param aListItemUids
+ * @param aListItemUids
+ * @param aRequiredCapabilities
+ * @param aContentArray
+ * @param aServicesToDim
+ * @return: None.
+ */
+ void FilterServicesL(
+ CDesCArrayFlat& aListItems,
+ CArrayFix<TUid>& aListItemUids,
+ TSendingCapabilities aRequiredCapabilities,
+ const CMessageData* aMessageData,
+ CSendUi::TSendUiMenuType aMenuType );
+
+ /**
+ * Sorts service lists
+ *
+ * @since S60 v3.0
+ * @param aListItems Names of items in array
+ * @param aListItemUids Uids of items in array
+ * @return: Sorted array
+ */
+ void SortListL(
+ CDesCArrayFlat& aListItems,
+ CArrayFix<TUid>& aListItemUids );
+
+ /**
+ * Resets sending state flag.
+ * @since Series 60 3.0
+ * @return None.
+ */
+ static void ResetIsSending( TAny* aAny );
+
+ /**
+ * Compares ECom service sending capabilities to required capabilities.
+ * @since Series 60 3.0
+ * @param aServiceUid Uid of the sending service.
+ * @param aRequiredCapabilities Capabilities required for the sending
+ * service.
+ * @return: ETrue if service sending capabilities matches to
+ * required capabilities, otherwise EFalse.
+ */
+ TBool CheckServiceCapabilities(
+ TUid aServiceUid,
+ TSendingCapabilities aRequiredCapabilities );
+
+ /**
+ * Checks if the feature is supported by feature manager.
+ * @since Series 60 3.2.3
+ * @param aFeature Feature manager id of the sending service.
+ * @param aNewFeatures To keep track of which feature is modified
+ * @param aFeatureFlag Uid of the sending service used for central repository storage.
+ * @return None
+ */
+ void FeatureStatus(
+ TInt aFeature,
+ TInt &aNewFeatures,
+ TInt aFeatureFlag );
+private:
+
+ CSendUiImpl();
+
+ void ConstructL();
+
+private: // data
+
+ /**
+ * Pointer to Control environment
+ * Not own.
+ */
+ CCoeEnv* iCoeEnv;
+
+ /**
+ * Pointer to File Server Session. Initialized from CCoeEnv->FsSession.
+ * Not own.
+ */
+ RFs& iFs;
+
+ /**
+ * Pointer to CSendUiSingleton
+ * Own.
+ */
+ CSendUiSingleton* iSingleton;
+
+ /**
+ * Indicates whether or not the sending process is in progress.
+ */
+ TBool iIsSending;
+
+ /**
+ * For UI resource loading
+ * Own.
+ */
+ RConeResourceLoader iResourceLoader;
+
+ /**
+ * Services to be dimmed
+ * Own.
+ */
+ CArrayFixFlat<TUid>* iServicesToDim;
+
+ /**
+ * Resource file name and path.
+ * Own.
+ */
+ TFileName iResourceFileName;
+
+
+ TBool iEmailClientIntegration;
+ /**
+ * Array of available sending service
+ * Own.
+ */
+ RPointerArray<CSendingServiceInfo> iSendingServices;
+
+ /**
+ * IPC client with SendUiLauncherApp
+ * Own.
+ */
+ RSendUiServiceClient* iSendUiClient;
+
+ /**
+ * The requested order of sending services in the menu.
+ * Read from resources.
+ * Own.
+ */
+ CArrayFixFlat<TInt32>* iSendUiServicesOrderArray;
+
+ TBool iServerAppLaunch;
+
+ CPropertyObserver* iPropertyObserver;
+
+ };
+
+#endif // C_CSENDUIIMPL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendUiInternalConsts.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* 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: Uid definitions for SendUI services
+* that falls neither in Dom_api nor sdk_api.
+*
+*/
+
+
+
+#ifndef SENDUIINTERNALCONSTS_H
+#define SENDUIINTERNALCONSTS_H
+
+// CONSTANTS
+#define KShareOnlineValue 0x200009D5
+const TUid KShareOnline = { KShareOnlineValue };
+
+#endif // SENDUIINTERNALCONSTS_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendUiPrivateCRKeys.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* 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: SendUI central repository key definitions
+*
+*/
+
+
+
+
+#ifndef _SENDUIPRIVATECRKES_H
+#define _SENDUIPRIVATECRKES_H
+
+// CONSTANTS
+
+/**
+* Send UI Service API
+*/
+const TUid KCRUidSendUi = {0x10282823};
+
+/**
+* Number of sending services
+*/
+const TInt32 KKeySendUiServiceCount = 0x01000000;
+const TInt32 KKeySendUiServiceLanguage = 0x01000001;
+const TInt32 KKeySendUiServiceMtmCount = 0x01000002;
+const TInt32 KKeySendUiServiceEcomCount = 0x01000003;
+const TInt32 KKeySendUiFeatureManagerServices = 0x01000004;
+
+// Sendui service list is updated, if Postcard, Audio Message or MMS Upload service state changes according to FeatureManager
+const TInt32 KSendUiPostcard = 0x00000001;
+const TInt32 KSendUiAudioMessage = 0x00000002;
+const TInt32 KSendUiMmsUpload = 0x00000004;
+
+/**
+* Elements of the sending service structure
+*/
+const TInt32 KSendUiServiceId = 0x00000000;
+const TInt32 KSendUiServiceProviderId = 0x00000001;
+const TInt32 KSendUiServiceFlags = 0x00000002;
+const TInt32 KSendUiServiceBodySize = 0x00000003;
+const TInt32 KSendUiServiceMessageSize = 0x00000004;
+const TInt32 KSendUiServiceTechnologyType = 0x00000005;
+const TInt32 KSendUiServiceName = 0x00000006;
+const TInt32 KSendUiServiceMenuName = 0x00000007;
+const TInt32 KSendUiServiceFeatures = 0x00000008;
+const TInt32 KSendUiServiceAddress = 0x00000009;
+
+/**
+* Service index "position":
+*
+* 1st sending service:
+* 0x0000
+* 0x0001
+* 0x0002
+* ...
+* 2nd sending service:
+* 0x0100
+* 0x0101
+* 0x0102
+* ...
+* 3rd sending service:
+* 0x0200
+* 0x0201
+* 0x0202
+* ...
+* etc.
+*/
+const TInt32 KSendUiServiceIndex = 0x00000100;
+
+/**
+* Maximum length for the name of the sending service
+*/
+const TInt32 KSendUiServiceMaxNameLength = 40;
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendUiUtils.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2002-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: Provides functionality for searching DRM content link.
+*
+*/
+
+
+
+
+#ifndef SENDUIUTILS_H
+#define SENDUIUTILS_H
+
+// INCLUDES
+#include <e32base.h>
+#include <f32file.h>
+#include <apmstd.h>
+
+// CLASS DECLARATION
+
+/**
+* Provides functionality for searching DRM content link.
+*
+* @lib SenduiDataUtils.lib
+* @since Series 60 3.0
+*/
+NONSHARABLE_CLASS ( SendUiUtils )
+ {
+ public: // New functions
+
+
+ /**
+ * Searches for drm link content in a file
+ *
+ * @since S60 v3.0
+ * @param aFilePath File to check
+ * @param aFs File server session
+ * @return ETrue if Content URL exists,
+ * EFalse otherwise
+ */
+ static RFile OpenFileHandleL( const TDesC& aFilePath, RFs& aFs );
+
+ /**
+ * Searches for drm link content in a file handle
+ *
+ * @since S60 v3.0
+ * @param aFile File to check
+ * @return ETrue if Content URL exists,
+ * EFalse otherwise
+ */
+ static TBool HasContentUrlL( RFile& aFile );
+
+ /**
+ *
+ */
+ static void ResolveMimeTypeL( const RFile& aFile, TDataType& aMimeType );
+
+ };
+
+#endif // SENDUIUTILS_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendingServiceConfig.rh Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* 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 contains declarations for resources of
+* sending services.
+* The file can be included in resource file.
+*
+*/
+
+
+
+#ifndef SENDINGSERVICECONFIG_RH
+#define SENDINGSERVICECONFIG_RH
+
+
+// RESOURCE STRUCTS
+
+STRUCT SERVICE_NAME_ARRAY
+ {
+ STRUCT serviceNames[4];
+ }
+
+STRUCT SERVICE_NAMES
+ {
+ LTEXT service_name = "";
+ LTEXT service_menu_name = "";
+ }
+
+#endif // SENDINGSERVICECONFIG_RH
+
+//End of file
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/SendingServiceInfoImpl.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,226 @@
+/*
+* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
+* Encapsulates the ECom plugged sending service data.
+*
+*/
+
+
+
+#ifndef CSENDINGSERVICEINFOIMPL_H
+#define CSENDINGSERVICEINFOIMPL_H
+
+// INCLUDES
+#include <e32base.h>
+#include <sendui.h> // TSendingCapabilities
+
+class RReadStream;
+class RWriteStream;
+// CLASS DECLARATION
+
+/**
+ * Encapsulates the ECom plugged sending service data.
+ *
+ * @lib Sendui
+ * @since Series 60 3.0
+ */
+class CSendingServiceInfoImpl : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @return Pointer to object of CSendingServiceInfoImpl.
+ */
+ static CSendingServiceInfoImpl* NewL();
+
+ /**
+ * Two-phased constructor.
+ * @return Pointer to object of CSendingServiceInfoImpl.
+ */
+ static CSendingServiceInfoImpl* NewLC();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CSendingServiceInfoImpl();
+
+ public: // New functions
+
+ /**
+ * Creates a copy of CSendingServiceInfoImpl object.
+ * @since Series 60 3.0
+ * @return A pointer to the new copy of the CSendingServiceInfoImpl object.
+ */
+ CSendingServiceInfoImpl* CopyL() const;
+
+ /**
+ * Set service human readable name.
+ * Service name is used in editors "To"-field.
+ * @since Series 60 3.0
+ * @param aServiceName Service human readable name.
+ * @return None.
+ */
+ void SetServiceNameL( const TDesC& aServiceName );
+
+ /**
+ * Returns service human readable name.
+ * Service name is used in editors "To"-field.
+ * @since Series 60 3.0
+ * @return Service human readable name.
+ */
+ inline const TPtrC ServiceName() const;
+
+ /**
+ * Set service human readable name for the "Send"-menu.
+ * @since Series 60 3.0
+ * @param aServiceMenuName Service human readable name for the
+ * "Send"-menu.
+ * @return None.
+ */
+ void SetServiceMenuNameL( const TDesC& aServiceMenuName );
+
+ /**
+ * Returns service human readable name for the "Send"-menu.
+ * @since Series 60 3.0
+ * @return Service human readable name for the "Send"-menu.
+ */
+ inline const TPtrC ServiceMenuName() const;
+
+ /**
+ * Set service address.
+ * @since Series 60 3.0
+ * @param aServiceAddress Service address.
+ * @return None.
+ */
+ void SetServiceAddressL( const TDesC& aServiceAddress );
+
+ /**
+ * Returns service address.
+ * @since Series 60 3.0
+ * @return Service address.
+ */
+ inline const TPtrC ServiceAddress() const;
+
+ /**
+ * Set sending service id.
+ * @since Series 60 3.0
+ * @param aServiceId Service id.
+ * @return None.
+ */
+ inline void SetServiceId( TUid aServiceId );
+
+ /**
+ * Returns sending service id.
+ * @since Series 60 3.0
+ * @return Service id.
+ */
+ inline TUid ServiceId() const;
+
+ /**
+ * Set sending service provider id.
+ * @since Series 60 3.0
+ * @param aServiceProviderId Service provider id.
+ * @return None.
+ */
+ inline void SetServiceProviderId( TUid aServiceProviderId );
+
+ /**
+ * Returns sending service provider id.
+ * @since Series 60 3.0
+ * @return Service provider id.
+ */
+ inline TUid ServiceProviderId() const;
+
+ /**
+ * Set service sending capabilities.
+ * @since Series 60 3.0
+ * @param aServiceCapabilities Service sending capabilities.
+ * @return None.
+ */
+ inline void SetServiceCapabilities(
+ TSendingCapabilities aServiceCapabilities );
+
+ /**
+ * Returns service sending capabilities.
+ * @since Series 60 3.0
+ * @return Service sending capabilities.
+ */
+ inline TSendingCapabilities ServiceCapabilities() const;
+
+ /**
+ * Returns sending service's technology type id.
+ * @since Series 60 3.1
+ * @return Technology type.
+ */
+ inline TUid TechnologyTypeId() const;
+
+ /**
+ * Set sending service id.
+ * @since Series 60 3.0
+ * @param aServiceId Service id.
+ * @return None.
+ */
+ inline void SetTechnologyTypeId( TUid aTechnologyTypeId );
+
+
+ void ExternalizeL( RWriteStream& aStream );
+
+ void InternalizeL( RReadStream& aStream );
+
+ /**
+ * Set service sending capabilities.
+ * @since Series 60 3.0
+ * @param aServiceCapabilities Service sending capabilities.
+ * @return None.
+ */
+ inline void SetServiceFeatures( TInt aServiceFeatures );
+
+ /**
+ * Returns service sending capabilities.
+ * @since Series 60 3.0
+ * @return Service sending capabilities.
+ */
+ inline TInt ServiceFeatures() const;
+
+ private:
+
+
+ /**
+ * C++ default constructor.
+ */
+ CSendingServiceInfoImpl();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: // Data
+
+ HBufC* iServiceName;
+ HBufC* iServiceMenuName;
+ HBufC* iServiceAddress;
+ TUid iServiceId;
+ TUid iServiceProviderId;
+ TUid iTechnologyTypeId;
+ TSendingCapabilities iServiceCapabilities;
+ TInt iServiceFeatures;
+ };
+
+#include "CSendingServiceInfo.inl"
+
+#endif // CSENDINGSERVICEINFOIMPL_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/propertyobserver.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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: Observes sending service list and invokes an local sending service
+* update. This is required to keep the sending service list up-to-date
+* in a loaded sendui object.
+*
+*/
+
+
+
+#ifndef C_PROPERTYOBSERVER_H
+#define C_PROPERTYOBSERVER_H
+
+#include <e32base.h>
+#include <e32property.h>
+
+class CSendUiImpl;
+
+/**
+ * Property observer for catching sending service list updates
+ *
+ * @lib sendui.lib
+ * @since S60 S60 v3.2
+ */
+
+NONSHARABLE_CLASS ( CPropertyObserver ): public CActive
+ {
+
+public:
+
+ static CPropertyObserver* NewL( CSendUiImpl* aParent );
+
+ virtual ~CPropertyObserver();
+
+// from base class CActive
+
+ /**
+ * From CActive.
+ *
+ * @since S60 v3.2
+ */
+ void RunL();
+
+ /**
+ * From CActive.
+ *
+ * @since S60 v3.2
+ */
+ void DoCancel();
+
+private:
+
+ CPropertyObserver( CSendUiImpl* aParent );
+
+ void ConstructL();
+
+private: // data
+
+
+ /**
+ * Used for accessing GetEcomServicesL from CSendUiImpl
+ * Not own.
+ */
+ CSendUiImpl* iParent;
+
+ RProperty iPropertyUpdateOperation;
+
+ };
+
+
+#endif // C_PROPERTYOBSERVER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/senduilauncher.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* 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: Launcher uids for the use of SendUi and SendUiLauncher
+*
+*/
+
+
+
+#ifndef SENDUILAUNCHER_H
+#define SENDUILAUNCHER_H
+
+// CONSTANTS
+
+const TUid KSendUiLauncherAppUid = {0x102823C5};
+const TUid KSendUiLauncherAppServiceUid = { 0x10282444 };
+const TInt KTransferBufferSize = 512;
+
+#endif // SENDUICONSTS_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/senduiproperty.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* 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: Constant data for SendUi Refresh API
+*
+*/
+
+
+
+#ifndef R_CSENDUIPROPERTY_H
+#define R_CSENDUIPROPERTY_H
+
+const TUid KPSUidSendUiProperty = { 0x102072E4 };
+
+enum TSendUiPropertyKeys
+ {
+ KSendUiUpdateRequest,
+ KSendUiUpdateOperation
+ };
+
+enum TSendUiPropertyValues
+ {
+ KSendUiNotInitialized = -1,
+ KSendUiUpdated,
+ KSendUiUpdateRequested,
+ KSendUiUpdateOperationRunning,
+ KSendUiUpdateOperationDone
+ };
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/senduiserviceclient.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* 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: Clientside class for launching SendUi from SendUiLauncher
+* (server application)
+*
+*/
+
+
+
+
+#ifndef R_SENDUISERVICECLIENT_H
+#define R_SENDUISERVICECLIENT_H
+
+#include <aknappui.h>
+#include <AknServerApp.h>
+#include <SendUiConsts.h>
+
+class CMessageData;
+
+const TInt KMessageBufferSize = 4 * sizeof(TUint32);
+
+/**
+ * SendUI Server Application API implentation, client side
+ *
+ * @lib sendui.lib
+ * @since S60 S60 v3.2
+ */
+NONSHARABLE_CLASS (RSendUiServiceClient) : public RAknAppServiceBase
+ {
+
+public:
+
+ /**
+ * Requests SendUi launch on server application side
+ *
+ * @since S60 v3.2
+ * @param aServiceUid Sending service Uid
+ * @param aLaunchEmbedded ETrue, if editor is to be launched embedded
+ * @param CMessageData Message to be sent
+ */
+ void LaunchSendUiL(
+ TUid& aServiceUid,
+ TUid& aServiceProviderUid,
+ TBool& aLaunchEmbedded,
+ const CMessageData* aMessageData );
+
+// from base class RAknAppServiceBase
+
+ /**
+ * From RAknAppServiceBase.
+ * Return Service identifier
+ *
+ * @since S60 v3.2
+ * @return Service's identification
+ */
+ TUid ServiceUid() const;
+
+ virtual ~RSendUiServiceClient();
+
+ };
+
+#endif // R_SENDUISERVICECLIENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/senduiservicecommands.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* 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: Commands for IPC communication between SendUI and
+* SendUiServerApplication
+*
+*/
+
+
+
+
+enum TSendUiServiceCommands
+ {
+ //ESendUiDataBlock= RApaAppServiceBase::KServiceCmdBase,
+ EDataSent,
+ ECopyFileHandle,
+ ELaunchSendUi
+ };
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/inc/senduiserviceslog.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* 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: Logger facility for the SendUiServices.
+*
+*/
+
+
+
+
+#ifndef SENDUISERVICESLOG_H
+#define SENDUISERVICESLOG_H
+
+// MACROS
+
+#include <flogger.h> // HW debug logging support
+
+//
+#ifdef USE_LOGGER
+//
+
+_LIT(KSendUiServicesLogFile,"SENDUISERVICES.TXT");
+_LIT(KSendUiServicesLogDir,"SENDUISERVICES");
+_LIT(KSendUiServicesTimeFormatString,"%H:%T:%S:%*C2");
+
+#define CREATELOGTEXT(a) RFileLogger::Write(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeOverwrite,a)
+#define LOGTEXT(a) RFileLogger::Write(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,a)
+#define LOGTEXT2(a,b) RFileLogger::WriteFormat(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(a),b)
+#define LOGTEXT3(a,b,c) RFileLogger::WriteFormat(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(a),b,c)
+#define LOGHEXDUMP(a,b,c,d) RFileLogger::HexDump(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,a,b,c,d);
+#define LOGTIMESTAMP(a) {_LIT(temp, a); TTime time; time.HomeTime(); TBuf<256> buffer; time.FormatL( buffer, KSendUiServicesTimeFormatString ); buffer.Insert(0, temp); RFileLogger::Write(KSendUiServicesLogDir, KSendUiServicesLogFile, EFileLoggingModeAppend, buffer); }
+
+#else // no logger
+
+#define CREATELOGTEXT(a)
+#define LOGTEXT(a)
+#define LOGTEXT2(a,b)
+#define LOGTEXT3(a,b,c)
+#define LOGHEXDUMP(a,b,c,d)
+#define LOGTIMESTAMP(a)
+
+#endif // USE_LOGGER
+
+#endif // SENDUISERVICESLOG_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* 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: bld.inf*
+*/
+
+
+PRJ_MMPFILES
+
+senduilauncher.mmp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/group/senduilauncher.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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 definition file for project ?myapp
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+
+// --- LOGGING ---
+//MACRO USE_LOGGER // HW debugging support
+//LIBRARY Flogger.lib // RFileLogger, debug logging
+// --- LOGGING ---
+
+TARGET senduilauncher.exe
+EPOCSTACKSIZE 0x5000
+TARGETTYPE exe
+UID 0x100039CE 0x102823C5
+VERSION 10.0
+CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment NetworkControl ReadDeviceData WriteDeviceData
+VENDORID VID_DEFAULT
+PAGED
+
+SOURCEPATH ../src
+SOURCE senduilauncher.cpp
+SOURCE senduilauncherapp.cpp
+SOURCE senduilauncherappui.cpp
+SOURCE senduilauncherdoc.cpp
+SOURCE senduiservice.cpp
+
+USERINCLUDE ../inc
+USERINCLUDE ../../inc
+APP_LAYER_SYSTEMINCLUDE
+
+
+LIBRARY euser.lib
+LIBRARY apparc.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY avkon.lib
+LIBRARY gdi.lib
+LIBRARY sendui.lib
+LIBRARY estor.lib
+LIBRARY efsrv.lib
+LIBRARY apgrfx.lib
+LIBRARY ws32.lib
+LIBRARY eikcoctl.lib
+
+SOURCEPATH ../group
+START RESOURCE senduilauncher.rss
+HEADER
+targetpath APP_RESOURCE_DIR
+LANGUAGE_IDS
+end
+
+SOURCEPATH ../group
+START RESOURCE senduilauncher_reg.rss
+// Do not change the UID 10003a3f below.
+TARGETPATH /private/10003a3f/apps
+END
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/group/senduilauncher.rss Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* 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: Resource definitions for project SendUiLauncher
+*
+*/
+
+
+NAME SELC
+
+#include <eikon.rh>
+#include <eikon.rsg>
+#include <avkon.rh>
+#include <avkon.rsg>
+#include <appinfo.rh>
+
+// ---------------------------------------------------------
+//
+// Define the resource file signature
+// This resource should be empty.
+//
+// ---------------------------------------------------------
+//
+RESOURCE RSS_SIGNATURE { }
+
+// ---------------------------------------------------------
+//
+// Default Document Name
+//
+// ---------------------------------------------------------
+//
+RESOURCE TBUF r_default_document_name { buf=""; }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/group/senduilauncher_reg.rss Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* 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: SendUiServer application's registration resource file
+*
+*/
+
+
+
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0x102823C5
+
+RESOURCE APP_REGISTRATION_INFO
+ {
+ app_file="senduilauncher";
+ hidden = KAppIsHidden;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/inc/senduilauncher.hrh Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* 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: Resource headers for project SendUiLauncher
+*
+*/
+
+
+
+
+#ifndef SENDUILAUNCHER_HRH
+#define SENDUILAUNCHER_HRH
+
+#include <AknServerApp.h>
+
+/** SendUi Launcher commands */
+
+enum TSendUiServerIds
+ {
+ ESendUiServerCommand1 = 1 // start value must not be 0
+ };
+
+
+#endif // SENDUILAUNCHER_HRH
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/inc/senduilauncherapp.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,62 @@
+/*
+* 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: Server application for launching SendUi with low
+* capability requirements.
+*
+*/
+
+
+
+
+#ifndef C_CSENDUILAUNCHERAPP_H
+#define C_CSENDUILAUNCHERAPP_H
+
+
+#include <aknapp.h>
+#include <AknServerApp.h>
+
+
+/**
+ * Returns a new application server and a document
+ *
+ * @since S60 v.3.2
+ */
+class CSendUiLauncherApplication : public CAknApplication
+ {
+
+public:
+
+ TUid AppDllUid() const;
+
+// from base CAknApplication
+
+protected:
+
+ /**
+ * Creates document
+ *
+ * @since S60 v.3.2
+ */
+ CApaDocument* CreateDocumentL();
+
+ /**
+ * Return new Application Server
+ *
+ */
+ void NewAppServerL( CApaAppServer* & aAppServer);
+
+ };
+
+
+#endif // C_SENDUILAUNCHERAPP_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/inc/senduilauncherappui.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* 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: Server application for launching SendUi with low
+* capability requirements.
+*
+*/
+
+
+
+
+
+#ifndef C_CSENDUILAUNCHERAPPUI_H
+#define C_CSENDUILAUNCHERAPPUI_H
+
+
+#include <aknappui.h>
+
+class CMessageData;
+
+/**
+ * Launcher application ui constructs SendUi object
+ *
+ * ?more_complete_description
+ *
+ * @since S60 v.3.2
+ */
+class CSendUiLauncherAppUi : public CAknAppUi
+ {
+
+public:
+
+ virtual ~CSendUiLauncherAppUi ();
+
+ /**
+ * Creates and sends message
+ *
+ * @since S60 v.3.2
+ * @param aServiceId Uid of the requested service
+ * @param aMessageData Message data
+ * @param aLaunchEmbedded ETrue if editor is to be launched embedded.
+ * Otherwise EFalse.
+ */
+ void CreateAndSendMessageL(
+ TUid aServiceUid,
+ CMessageData* aMessageData,
+ TBool aLaunchEmbedded );
+
+ /**
+ * Used for exiting server application properly
+ *
+ * @since S60 v.3.2
+ * @param aThis Pointer to this AppUi
+ */
+ static TInt DelayedExit( TAny* aThis );
+
+ /**
+ * Does delayed exit earliest after specified delay
+ *
+ * @since S60 v.3.2
+ * @param aDelayTime Requested delay in microseconds
+ */
+ void DoDelayedExitL( TInt aDelayTime );
+
+// from base class CAknAppUi
+
+ /**
+ * From CAknAppUi.
+ * Handles commands. Only Exit is implemented.
+ *
+ * @since S60 v.3.2
+ * @param aCommand Command code
+ */
+ void HandleCommandL(TInt aCommand);
+
+ CSendUiLauncherAppUi();
+
+private:
+
+
+ void ConstructL();
+
+private: // data
+
+ /**
+ * Timer for the delayed exit function
+ * Own.
+ */
+ CPeriodic* iIdle;
+
+ };
+
+
+#endif // C_CSENDUILAUNCHERAPPUI_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/inc/senduilauncherdoc.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* 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: Server application for launching SendUi with low
+* capability requirements.
+*
+*/
+
+
+
+#ifndef C_SENDUILAUNCHERDOC_H
+#define C_SENDUILAUNCHERDOC_H
+
+
+#include <akndoc.h>
+
+
+class CSendUiLauncherAppUi;
+class CEikApplication;
+
+/**
+ * Document for SendUiLauncher
+ *
+ * @since S60 v.3.2
+ */
+class CSendUiLauncherDocument : public CAknDocument
+ {
+
+public:
+
+ static CSendUiLauncherDocument* NewL(CEikApplication& aApp);
+
+ static CSendUiLauncherDocument* NewLC(CEikApplication& aApp);
+
+ virtual ~CSendUiLauncherDocument();
+
+
+ /**
+ * Create a CSendUiServerAppUi object and return a pointer to it
+ *
+ * @since S60 v3.2
+ * @return a pointer to the created instance of the AppUi created
+ */
+ CEikAppUi* CreateAppUiL();
+
+private:
+
+ CSendUiLauncherDocument(CEikApplication& aApp);
+
+ };
+#endif // C_SENDUILAUNCHERDOC_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/inc/senduiservice.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* 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: Communication class between SendUi and SendUiLauncher
+*
+*/
+
+
+
+
+#ifndef C_CSENDUISERVICE_H
+#define C_CSENDUISERVICE_H
+
+
+#include <AknServerApp.h>
+
+#include "senduilauncher.hrh"
+// forward declarations
+class RDesReadStream;
+class CSendUiLauncherAppUi;
+class CMessageData;
+
+
+/**
+ * SendUi launch service implementation class
+ *
+ * ?more_complete_description
+ *
+ * @since S60 v.3.2
+ */
+NONSHARABLE_CLASS (CSendUiService) : public CAknAppServiceBase
+ {
+
+public:
+
+ /** IPC message slots */
+ enum TIpcSlots
+ {
+ ESlot1 = 0,
+ ESlot2,
+ ESlot3
+ };
+
+ static CSendUiService* NewL();
+
+ virtual ~CSendUiService();
+
+// from base class CAknAppServiceBase
+
+ /**
+ * From CAknAppServiceBase.
+ * Server side service implementation
+ *
+ * @since S60 v.3.2
+ * @param RMessage2& IPC message
+ */
+ void ServiceL( const RMessage2& aMessage );
+
+private:
+
+ void ConstructL();
+
+private: // data
+
+ /**
+ * Temporary storage for the incoming message data
+ * Own.
+ */
+ TInt iTransferredBytes;
+
+ /**
+ * Temporary storage for the incoming message data
+ * Own.
+ */
+ HBufC8* iTransferBuffer;
+
+ /**
+ * Message data container
+ * Own.
+ */
+ CMessageData* iMessageData;
+
+ /**
+ * Pointer to application ui.
+ * Not own.
+ */
+ CSendUiLauncherAppUi* iAppUi;
+
+ /**
+ * Readstream
+ * Own.
+ */
+ RDesReadStream* iReadStream;
+ };
+
+#endif // C_CSENDUISERVICE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/src/senduilauncher.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* 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: Server application for launching SendUI services with
+* low capabilites.
+*
+*/
+
+
+
+#include <eikstart.h>
+
+#include "senduilauncherapp.h"
+
+
+// ======== GLOBAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructs and returns an application object.
+// ---------------------------------------------------------------------------
+//
+LOCAL_C CApaApplication* NewApplication()
+ {
+ return new CSendUiLauncherApplication;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Main function of the application executable.
+// ---------------------------------------------------------------------------
+//
+TInt E32Main()
+ {
+ return EikStart::RunApplication(NewApplication);
+
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/src/senduilauncherapp.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* 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: Server application for launching SendUi with low
+* capability requirements.
+*
+*/
+
+
+
+#include "senduilauncherdoc.h"
+#include "senduilauncherapp.h"
+#include "senduilauncherappui.h"
+#include "senduiservice.h"
+#include "senduiserviceclient.h"
+#include "senduiserviceslog.h"
+#include <SendUiConsts.h>
+#include "senduilauncher.h"
+
+// ---------------------------------------------------------------------------
+// Creates SendUiService or pass service request to the framework
+// ---------------------------------------------------------------------------
+//
+class CSendUiServer : public CAknAppServer
+ {
+ public:
+
+ CApaAppServiceBase* CreateServiceL( TUid aServiceType ) const
+ {
+ if( aServiceType.iUid == KSendUiLauncherAppServiceUid.iUid )
+ {
+ return CSendUiService::NewL();
+ }
+ else
+ {
+ return CAknAppServer::CreateServiceL( aServiceType );
+ }
+ }
+ };
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructs and returns an application object.
+// ---------------------------------------------------------------------------
+//
+CApaDocument* CSendUiLauncherApplication::CreateDocumentL()
+ {
+ // Create an SendUiServer document, and return a pointer to it
+ CApaDocument* document = CSendUiLauncherDocument::NewL(*this);
+ return document;
+ }
+
+// ---------------------------------------------------------------------------
+// AppDllUid
+// Return application Uid
+// ---------------------------------------------------------------------------
+//
+TUid CSendUiLauncherApplication::AppDllUid() const
+ {
+ // Return the UID for the SendUiServer application
+ return KSendUiLauncherAppUid;
+ }
+
+// ---------------------------------------------------------------------------
+// NewAppServerL
+// Returns new CSendUIServer object for the framework
+// ---------------------------------------------------------------------------
+//
+void CSendUiLauncherApplication::NewAppServerL( CApaAppServer* & aAppServer )
+ {
+ aAppServer = new(ELeave)CSendUiServer;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/src/senduilauncherappui.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,139 @@
+/*
+* 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: Server application for launching SendUi with low
+* capability requirements.
+*
+*/
+
+
+
+#include <avkon.hrh>
+#include <akntitle.h> // CAknTitlePane
+#include <aknnotewrappers.h>
+#include <sendui.h>
+
+#include "senduilauncherappui.h"
+#include "senduilauncher.hrh"
+#include "senduiserviceslog.h"
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSendUiLauncherAppUi::~CSendUiLauncherAppUi()
+ {
+ delete iIdle;
+ }
+
+// ---------------------------------------------------------------------------
+// Use SendUiImpl class to launch SendUi. Called from CSendUiService.
+// ---------------------------------------------------------------------------
+//
+void CSendUiLauncherAppUi::CreateAndSendMessageL(
+ TUid aServiceUid,
+ CMessageData* aMessageData,
+ TBool aLaunchEmbedded )
+ {
+ LOGTEXT(_L("LauncherAppUi::CreateAndSendMessageL >>"));
+
+ CSendUi* sendUi = CSendUi::NewL();
+ CleanupStack::PushL( sendUi );
+ sendUi->CreateAndSendMessageL(
+ aServiceUid,
+ aMessageData,
+ KNullUid,
+ aLaunchEmbedded );
+ CleanupStack::PopAndDestroy( sendUi );
+ LOGTEXT(_L("LauncherAppUi::CreateAndSendMessageL <<"));
+ }
+
+// ---------------------------------------------------------------------------
+// Delayed exit is used for server app to exit automatically and properly.
+// ---------------------------------------------------------------------------
+//
+void CSendUiLauncherAppUi::DoDelayedExitL( TInt aDelayTime )
+ {
+ LOGTEXT(_L("LauncherAppUi::DoDelayedExit >>"));
+ delete iIdle;
+ iIdle = 0;
+ // Priority must be lower than the priority of iWrappedWaitDialog
+ iIdle = CPeriodic::NewL( EPriorityNormal - 1);
+ iIdle->Start( aDelayTime,
+ aDelayTime,
+ TCallBack( DelayedExit, this ));
+ }
+
+// ---------------------------------------------------------------------------
+// Delayed exit is used for server app to exit properly.
+// ---------------------------------------------------------------------------
+//
+TInt CSendUiLauncherAppUi::DelayedExit( TAny* aThis )
+ {
+ LOGTEXT(_L("CSendUiLauncherAppUi: DelayedExit >>"));
+
+ CSendUiLauncherAppUi* editor = static_cast<CSendUiLauncherAppUi*>( aThis );
+ editor->Exit( );
+ LOGTEXT(_L("LauncherAppUi::DelayedExit <<"));
+
+ return KErrNone;
+ }
+
+// ---------------------------------------------------------------------------
+// HandleCommandL
+// ---------------------------------------------------------------------------
+//
+void CSendUiLauncherAppUi::HandleCommandL(TInt aCommand)
+ {
+ switch(aCommand)
+ {
+ case EEikCmdExit: // fall through
+ case EAknSoftkeyExit:
+ Exit();
+ break;
+
+ default:
+ break;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSendUiLauncherAppUi::ConstructL()
+ {
+ LOGTEXT(_L("LauncherAppUi::ConstructL >>"));
+
+ BaseConstructL(ENoAppResourceFile);
+ HideApplicationFromFSW( ETrue );
+
+ // application name is shown, if not set otherwise
+ _LIT( KEmptyText, "" );
+ CAknTitlePane* title = static_cast<CAknTitlePane*>
+ (StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
+ title->SetTextL( KEmptyText );
+
+ LOGTEXT(_L("LauncherAppUi::ConstructL <<"));
+ }
+
+
+// ---------------------------------------------------------------------------
+// Empty constructor
+// ---------------------------------------------------------------------------
+//
+CSendUiLauncherAppUi::CSendUiLauncherAppUi()
+ {
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/src/senduilauncherdoc.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* 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: Server application for launching SendUi with low
+* capability requirements.
+*
+*/
+
+
+#include <eikappui.h>
+
+#include "senduilauncherappui.h"
+#include "senduilauncherdoc.h"
+
+
+// ======== LOCAL FUNCTIONS ========
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSendUiLauncherDocument::CSendUiLauncherDocument(CEikApplication& aApp) : CAknDocument(aApp)
+ {
+ // no implementation required
+ }
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CSendUiLauncherDocument* CSendUiLauncherDocument::NewL(CEikApplication& aApp)
+ {
+ CSendUiLauncherDocument* self = NewLC(aApp);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// NewLC
+// ---------------------------------------------------------------------------
+//
+CSendUiLauncherDocument* CSendUiLauncherDocument::NewLC(CEikApplication& aApp)
+ {
+ CSendUiLauncherDocument* self = new (ELeave) CSendUiLauncherDocument(aApp);
+ CleanupStack::PushL(self);
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSendUiLauncherDocument::~CSendUiLauncherDocument()
+ {
+ // no implementation required
+ }
+
+// ---------------------------------------------------------------------------
+// CreateAppUiL
+// ---------------------------------------------------------------------------
+//
+CEikAppUi* CSendUiLauncherDocument::CreateAppUiL()
+ {
+ // Create the application user interface, and return a pointer to it,
+ // the framework takes ownership of this object
+ CEikAppUi* appUi = new(ELeave)CSendUiLauncherAppUi;
+ return appUi;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/launcher/src/senduiservice.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,193 @@
+/*
+* 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: SendUi service class. Receives message data from the
+* SendUi host.
+*
+*/
+
+
+
+
+#include <eikenv.h>
+#include <s32mem.h>
+
+#include <CMessageData.h>
+#include <SendUiConsts.h>
+#include <CSendingService.h>
+
+#include "senduiservice.h"
+#include "senduilauncherappui.h"
+#include "senduiserviceslog.h"
+#include "SendUiPrivateCRKeys.h"
+#include "senduiservicecommands.h"
+#include "senduilauncher.h"
+#include <senduisingleton.h>
+
+typedef TBuf8<KTransferBufferSize> TTransferBuf;
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSendUiService::ConstructL()
+ {
+ iAppUi = (CSendUiLauncherAppUi*)CEikonEnv::Static()->EikAppUi();
+ }
+
+// ---------------------------------------------------------------------------
+// NewLC
+// ---------------------------------------------------------------------------
+//
+CSendUiService* CSendUiService::NewL()
+ {
+ CSendUiService* self = new( ELeave ) CSendUiService;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSendUiService::~CSendUiService()
+ {
+ LOGTEXT(_L("CSendUiService->~ >>"));
+ delete iMessageData;
+ delete iTransferBuffer;
+ delete iReadStream;
+ LOGTEXT(_L("CSendUiService->~ <<"));
+ }
+
+// ---------------------------------------------------------------------------
+// ServiceL
+// Receives message from SendUi and passes data to AppUi
+// ---------------------------------------------------------------------------
+//
+void CSendUiService::ServiceL( const RMessage2& aMessage )
+ {
+ LOGTEXT(_L("CSendUiService->ServiceL >>"));
+
+ TTransferBuf transferBuffer;
+
+ switch (aMessage.Function())
+ {
+ case ESendUiDataBlock: // receive main message data in blocks
+ {
+ TPckgBuf<TTransferBuf> bufPckg;
+ TPckgBuf<TInt> blockSizePckg;
+ TPckgBuf<TInt> totalSizePckg;
+
+ aMessage.ReadL( ESlot1, bufPckg );
+ aMessage.ReadL( ESlot2, blockSizePckg );
+ aMessage.ReadL( ESlot3, totalSizePckg );
+
+ TInt blockSize = blockSizePckg();
+ TInt totalSize = totalSizePckg();
+
+ transferBuffer = bufPckg();
+
+ if (!iTransferBuffer)
+ {
+ iTransferredBytes = 0;
+ iTransferBuffer = HBufC8::NewL( totalSize );
+ }
+ TPtr8 bufferPtr8( iTransferBuffer->Des() );
+ bufferPtr8.Insert( iTransferredBytes, transferBuffer );
+
+ iTransferredBytes += blockSize;
+ break;
+ }
+ case EDataSent: // this is the last data block, start reading
+ {
+
+ iReadStream = new(ELeave)RDesReadStream( *iTransferBuffer );
+ TUid serviceProviderUid(KNullUid);
+ TUid dataTypeUid(KNullUid);
+
+ if ( iTransferBuffer )
+ {
+ LOGTEXT(_L("CSendUiService->ServiceL: ELaunchSendUi: openstream"));
+
+ TUint32 tmpVal = iReadStream->ReadUint32L();
+ serviceProviderUid = TUid::Uid( tmpVal );
+
+ tmpVal = iReadStream->ReadUint32L();
+ dataTypeUid = TUid::Uid( tmpVal );
+ }
+ iMessageData = CMessageData::NewL();
+ break;
+ }
+ case ECopyFileHandle: // receive file handles
+ {
+ LOGTEXT(_L("CSendUiService->ServiceL: ECopyFileHandle"));
+
+ // open source file handle
+ RFile sourceFile;
+ User::LeaveIfError(sourceFile.AdoptFromClient(aMessage, 0, 1));
+ CleanupClosePushL(sourceFile);
+ iMessageData->AppendAttachmentHandleL( sourceFile );
+ CleanupStack::Pop(&sourceFile);
+
+ LOGTEXT(_L("CSendUiService->ServiceL: ECopyFileHandle done"));
+ break;
+ }
+ case ELaunchSendUi: // construct message data and invoke sendui
+ {
+ LOGTEXT(_L("CSendUiService->ServiceL: ELaunchSendUi>>"));
+
+ if ( iReadStream )
+ {
+ LOGTEXT(_L("CSendUiService->ServiceL: ELaunchSendUi: openstream"));
+
+
+ TUint32 tmpVal = iReadStream->ReadUint32L();
+ TUid serviceUid( TUid::Uid( tmpVal ));
+
+ tmpVal = iReadStream->ReadUint32L();
+ TBool launchEmbedded( tmpVal );
+
+ tmpVal = iReadStream->ReadUint32L();
+
+ if (tmpVal )
+ {
+ iMessageData->InternalizeL( *iReadStream );
+ }
+
+ iReadStream->Release();
+ iReadStream->Close();
+
+ iAppUi->CreateAndSendMessageL(
+ serviceUid,
+ iMessageData,
+ launchEmbedded );
+ }
+ iAppUi->DoDelayedExitL( 0 );
+
+ LOGTEXT(_L("CSendUiService->ServiceL: complete message"));
+
+ break;
+ }
+ default:
+ // No other commands exist.
+ LOGTEXT(_L("CSendUiService->ServiceL: ERROR! Unknown command"));
+ }
+ aMessage.Complete( KErrNone );
+
+};
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/loc/Sendnorm.loc Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2002-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: This file contains the localised strings for Sendui.
+*
+*/
+
+
+
+
+// LOCALISATION STRINGS
+
+// d: Query text to confirm if user wants to define new remote mailbox.
+// l: popup_note_window
+//
+#define qtn_mce_conf_no_mailboxes "No Remote mailboxes defined.\nDo you want to define it now?"
+
+// d: Text in wait note.
+// d: Shown when opening message editor.
+// l: popup_note_wait_window
+//
+#define qtn_mail_wait_opening_editor "Opening..."
+
+// d: Text in error note.
+// d: Shown when message cannot be created when settings are missing or incomplete.
+// d: Settings must be defined in message centre.
+// l: popup_note_window
+//
+#define qtn_mce_error_stand_settings "Message can't be created. Settings incomplete. Fill them in in Messages."
+
+//d: Information note
+//d: Note shown when one corrupted object is tried to send.
+//l: popup_note_window
+#define qtn_mms_upload_info_corrupted "Unable to send. Object is corrupted."
+
+//d: Information note
+//d: Note shown when many corrupted objects are tried to send.
+//l: popup_note_window
+#define qtn_mms_upload_info_corrupted_all "Unable to send. Objects are corrupted."
+
+//d: Information note
+//d: Shown when some of the files to be sent are corrupted
+//l: popup_note_window
+#define qtn_mms_upload_info_corrupted_some "Unable to send. Some objects are corrupted."
+
+//d: Information note.
+//d: Note shown when many big objects exceeding the [Maximum MMS size in kB] are
+//d: tried to sent.
+//l: popup_note_window
+#define qtn_mms_info_size_all_not_sent "Message size %N kB exceeded. Unable to send all objects."
+
+//d: Information note.
+//d: Note shown when an object is so big that the insertion
+//d: of the object would exceed the [Maximum MMS size in kB].
+//l: popup_note_window
+#define qtn_mms_info_size_not_sent "Message size %N kB exceeded. Sending not possible."
+
+//d: Information note
+//d: Shown when some of the files are rejected with different error codes
+//l: popup_note_window
+#define qtn_mms_info_only_some_sent "All objects could not be sent."
+
+//d: Information note
+//d: Shown when all of the files are rejected with different error codes
+//l: popup_note_window
+#define qtn_mms_info_cannot_send "Unable to send objects."
+
+//d: Information note
+//d: Note shown when one unsupported object is tried to send.
+//l: popup_note_window
+#define qtn_mms_info_obj_not_supp_send "Unable to send. Object format not supported."
+
+//d: Information note
+//d: Shown when some of the files to be sent are not supported.
+//l: popup_note_window
+#define qtn_mms_info_some_not_supp_send "Unable to send all. Some object formats not supported."
+
+//d: Information note
+//d: Note shown when many unsupported objects are tried to send.
+//l: popup_note_window
+#define qtn_mms_info_objects_not_supp_send "Unable to send. Object formats not supported."
+
+// d: Text in confirmation query for one protected item.
+// l: popup_note_window
+#define qtn_drm_query_mms_upload_one_sd "Object protected. Protected objects may not be used in the service. Continue?"
+
+// d: Text in confirmation query for several SD protected items.
+// l: popup_note_window
+#define qtn_drm_query_mms_upload_all_sd "Objects protected. Protected objects may not be used in the service. Continue?"
+
+// d: Text in confirmation query for at least one protected item.
+// l: popup_note_window
+#define qtn_drm_query_mms_upload_some "Some objects protected. Protected objects may not be used in the service. Continue?"
+
+//d: Text in error note.
+//d: Shown when messages cannot be created when settings are missing or incomplete.
+//l: popup_note_window
+//w:
+//r:3.0
+//
+#define qtn_mce_error_stand_settings_many "Messages can not be created. Settings incomplete. Fill them in in Messages."
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/rom/Senduiservices.iby Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* 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: Senduiservices.iby*
+*/
+
+#ifndef __SENDUISERVICES_IBY__
+#define __SENDUISERVICES_IBY__
+
+file=ABI_DIR\BUILD_DIR\SENDUI.DLL SHARED_LIB_DIR\Sendui.dll
+//file=ABI_DIR\BUILD_DIR\SenduiDataUtils.dll SHARED_LIB_DIR\SenduiDataUtils.dll
+
+//ECOM_PLUGIN(SendUiWatcher.dll, senduiwatcher.rsc)
+
+//S60_APP_EXE(SendUiServiceResolver) // SendUiServiceResolver.exe
+//S60_UPGRADABLE_APP_REG_RSC(SendUiServiceResolver) // SendUiServiceResolver_reg
+
+//S60_APP_EXE(senduilauncher) // senduilauncher.exe
+//S60_UPGRADABLE_APP_REG_RSC(senduilauncher) // senduilauncher_reg
+
+// Stub sis files
+data=\epoc32\data\z\system\install\stub_senduiserviceresolver.sis \system\install\stub_senduiserviceresolver.sis
+data=\epoc32\data\z\system\install\stub_senduilauncher.sis \system\install\stub_senduilauncher.sis
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/rom/SenduiservicesResources.iby Tue Aug 31 15:41:11 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: SenduiservicesResources.iby*
+*/
+
+
+#ifndef __SENDUISERVICES_RESOURCES_IBY__
+#define __SENDUISERVICES_RESOURCES_IBY__
+
+data=DATAZ_\RESOURCE_FILES_DIR\Sendnorm.rsc RESOURCE_FILES_DIR\Sendnorm.rsc
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/group/SendUiServiceResolver_reg.rss Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* 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: Resource definitions for project SendUiServiceResolver
+*
+*/
+
+
+
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0x102823b5
+
+RESOURCE APP_REGISTRATION_INFO
+ {
+ app_file="SendUiSr";
+ hidden = KAppIsHidden;
+ }
+
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* 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 project SendUiServiceResolver
+*
+*/
+
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+senduiserviceresolver.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/group/senduiserviceresolver.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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 definition file for project SendUiServiceResolver
+*
+*/
+
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+// --- LOGGING ---
+//MACRO USE_LOGGER // HW debugging support
+//LIBRARY Flogger.lib // RFileLogger, debug logging
+// --- LOGGING ---
+
+TARGET SendUiServiceResolver.exe
+TARGETTYPE exe
+UID 0x100039CE 0x102823b5
+VERSION 10.0
+CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment NetworkControl ReadDeviceData WriteDeviceData
+VENDORID VID_DEFAULT
+PAGED
+
+SOURCEPATH ../src
+SOURCE senduisr.cpp
+SOURCE senduisrapp.cpp
+SOURCE senduisrappui.cpp
+SOURCE senduisrdoc.cpp
+SOURCEPATH ../../src
+SOURCE SendingServiceInfoImpl.cpp
+
+
+USERINCLUDE ../inc
+USERINCLUDE ../../inc
+USERINCLUDE ../../watcher/inc
+
+SYSTEMINCLUDE /epoc32/include/ecom
+APP_LAYER_SYSTEMINCLUDE
+
+
+LIBRARY euser.lib
+LIBRARY apparc.lib
+LIBRARY cone.lib
+LIBRARY eikcore.lib
+LIBRARY avkon.lib
+LIBRARY apgrfx.lib
+LIBRARY centralrepository.lib
+LIBRARY ecom.lib
+LIBRARY sendui.lib
+LIBRARY ws32.lib
+
+SOURCEPATH ../group
+START RESOURCE SendUiServiceResolver_reg.rss
+// Do not change the UID 10003a3f below.
+TARGETPATH /private/10003a3f/apps
+END
+
+START RESOURCE senduiserviceresolver.rss
+HEADER
+targetpath RESOURCE_FILES_DIR
+LANGUAGE_IDS
+end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/group/senduiserviceresolver.rss Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,40 @@
+/*
+* 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: Resource definitions for project SendUiServiceResolver
+*
+*/
+
+
+NAME SESR
+
+#include <eikon.rh>
+#include <eikon.rsg>
+#include <avkon.rh>
+#include <avkon.rsg>
+#include <aiftool.rh>
+
+// ---------------------------------------------------------
+// Define the resource file signature
+// This resource should be empty.
+// ---------------------------------------------------------
+//
+RESOURCE RSS_SIGNATURE { }
+
+// ---------------------------------------------------------
+//
+// Default Document Name
+//
+// ---------------------------------------------------------
+//
+RESOURCE TBUF r_default_document_name { buf=""; }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/inc/senduisrapp.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* 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: Resolves sending service information and stores it to
+* Central Repository.
+*
+*/
+
+
+
+#ifndef C_CSENDUISRAPP_H
+#define C_CSENDUISRAPP_H
+
+#include <aknapp.h>
+
+/**
+ * Application class for SendUiServiceResolver application
+ *
+ * @since S60 S60 v3.2
+ */
+class CSendUiSrApp : public CAknApplication
+ {
+public: // from base class CAknApplication
+
+ /**
+ * From CAknApplication.
+ * Return unique application identifier
+ *
+ * @since S60 v3.2
+ */
+ TUid AppDllUid() const;
+
+protected: // from base class CAknApplication
+ /**
+ * From CAknApplication.
+ * Creates document
+ *
+ * @since S60 v3.2
+ */
+ CApaDocument* CreateDocumentL();
+
+ };
+
+#endif // C_SENDUISRAPP_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/inc/senduisrappui.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,164 @@
+/*
+* 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: Resolves sending service information and stores it to
+* Central Repository.
+*
+*/
+
+
+
+
+
+#ifndef C_CSENDUISRAPPUI_H
+#define C_CSENDUISRAPPUI_H
+
+
+#include <aknappui.h>
+#include <msvapi.h>
+
+// Forward declarations
+class CSendUiPropertyObserver;
+class CSendingServiceInfo;
+class CSendingService;
+class TSendingCapabilities;
+class CSendUiSrAppView;
+class CRepository;
+class CSendUiSingleton;
+
+const TInt KEightBits = 8;
+
+/**
+ * An instance of class CSendUiSrAppUi is the UserInterface part of the AVKON
+ * application framework for the SendUiServiceResolver application
+ *
+ * @since S60 v3.2
+ */
+class CSendUiSrAppUi : public CAknAppUi
+ {
+
+public:
+
+ /** Publish & Subscribe API keys */
+ enum TSendUiPropertyKeys { ESendUiListStatus };
+
+ virtual ~CSendUiSrAppUi();
+
+ CSendUiSrAppUi();
+
+// from base class CAknAppUi
+
+ /**
+ * From CAknAppUi.
+ *
+ * @since S60 v3.2
+ * @param aCommand Command code
+ */
+ void HandleCommandL( TInt aCommand );
+
+private:
+
+ void ConstructL();
+
+ /**
+ * Resolves and stores sending service information
+ *
+ * @since S60 v3.2
+ */
+ void HandleUpdateSendListL();
+
+ /**
+ * Removes all SendUi's sending service information from the central repository
+ *
+ * @since S60 v3.2
+ * @param aRep Reference to an open CRepository object
+ */
+ void ClearPluginListL( CRepository* aRep );
+
+ /**
+ * Inserts given sending service information to Central Repository.
+ *
+ * @since S60 v3.2
+ * @param aRep Reference to an open CRepository object
+ * @param aServiceId Identification code of this service
+ * @param aServiceProviderId Identification code of the service provider
+ * @param aTechnologyType Identification code of the service's technology type
+ * @param aCapabilities Sending capabilities of this service
+ * @param aServiceMenuName Name of the service shown in menu (Send...)
+ * @param aServiceName Name of the service (Write...)
+ */
+ TInt AddSendingService(
+ CRepository* aRep,
+ TUint aIndex,
+ TUid aServiceId,
+ TUid aServiceProviderId,
+ TUid aTechnologyType,
+ TInt aFeatures,
+ TSendingCapabilities aCapabilities,
+ TPtrC aServiceMenuName,
+ TPtrC aServiceName,
+ TPtrC aServiceAddress );
+
+ /**
+ * Populates given list with the sending services.
+ * The pointers in the list point to the actual objects
+ * (which remain owned by the Service Providers).
+ *
+ * @since Series 60 3.2
+ * @param aServiceList List of available services
+ * @param aServiceProviders list of service providers.
+ * @param aCoeEnv
+ * @return aServiceList and aServiceProviders
+ */
+ void PopulateServicesListL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ RPointerArray<CSendingService>& aServiceProviders,
+ CCoeEnv* aCoeEnv );
+
+ static TInt UpdateTask( TAny* aThis );
+
+ /**
+ * Loads a service provides and fetches the provided services.
+ * This functions is trapped in PopulateServicesListL to insulate serious
+ * service loading problems to the service in question.
+ *
+ * @since Series 60 3.2
+ * @param aServiceProviderUid
+ * @param aCoeEnv Pointer to CCoeEnv passed to the service provider
+ * @param aSingleton Pointer to a singleton class passed to the service provider
+ * @param aServiceList List of services available at the loaded service provider.
+ */
+
+ CSendingService* LoadServiceL(
+ TUid aServiceUid,
+ CCoeEnv* aCoeEnv,
+ CSendUiSingleton* aSingleton,
+ RPointerArray<CSendingServiceInfo>& aServiceList );
+
+private:
+
+ /**
+ * Not own.
+ */
+ CCoeEnv* iCoeEnv;
+
+ /**
+ * Timer for updater. HandleUpdateSendListL can not be called directly from ConstructL,
+ * so HandleUpdateSendListL call is requested after construction with timer.
+ *
+ * Own.
+ */
+ CIdle* iIdle;
+ };
+
+#endif // C_CSENDUIAPPUI_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/inc/senduisrdoc.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* 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: Document class for SendUi service resolver
+*
+*/
+
+
+
+
+
+#ifndef C_CSENDUISRDOC_H
+#define C_CSENDUISRDOC_H
+
+
+#include <akndoc.h>
+#include <ConeResLoader.h>
+
+// forward declarations
+class CSendUiSrAppUi;
+class CEikApplication;
+
+/**
+ * Document class for SendUiServiceResolver application
+ *
+ * An instance of class CSendUiSrDocument is the Document part of the AVKON
+ * application framework for the SendUiServiceResolver application
+ * @since S60 v3.2
+ */
+class CSendUiSrDocument : public CAknDocument
+ {
+
+public:
+
+ static CSendUiSrDocument* NewL(CEikApplication& aApp);
+
+ static CSendUiSrDocument* NewLC(CEikApplication& aApp);
+
+ virtual ~CSendUiSrDocument();
+
+// from base class CAknDocument
+
+ /**
+ * From CAknDocument.
+ * Create new AppUi
+ *
+ * @since S60 v3.2
+ * @return Reference to new AppUi.
+ */
+ CEikAppUi* CreateAppUiL();
+
+private:
+
+ CSendUiSrDocument(CEikApplication& aApp);
+
+ void ConstructL();
+
+ /**
+ * Create new AppUi
+ *
+ * @since S60 v3.2
+ * @return Reference to new AppUi.
+ */
+ void HandleUpdateSendList();
+
+ /**
+ * Hides task name from fast swap window
+ *
+ * @since S60 v3.2
+ * @param aWgName Reference to a new window group name
+ */
+ void UpdateTaskNameL(CApaWindowGroupName* aWgName);
+
+ };
+
+
+#endif // C_CSENDUIDOC_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/src/senduisr.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* 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: Resolves sending service information and stores it to
+* Central Repository.
+*
+*/
+
+
+#include <eikstart.h>
+#include "senduisrapp.h"
+
+// ======== GLOBAL FUNCTIONS ========
+
+
+// ---------------------------------------------------------------------------
+// Constructs and returns an application object.
+// ---------------------------------------------------------------------------
+//
+CApaApplication* NewApplication()
+ {
+ return new CSendUiSrApp;
+ }
+
+// ---------------------------------------------------------------------------
+// Main function of the application executable.
+// ---------------------------------------------------------------------------
+//
+GLDEF_C TInt E32Main()
+ {
+ return EikStart::RunApplication( NewApplication );
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/src/senduisrapp.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,47 @@
+/*
+* 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: Resolves sending service information and stores it to
+* Central Repository.
+*
+*/
+
+
+
+#include "senduisrapp.h"
+#include "senduisrdoc.h"
+
+static const TUid KUidSendUiSrApp = {0x102823b5};
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+CApaDocument* CSendUiSrApp::CreateDocumentL()
+ {
+ // Create an SendUiSr document, and return a pointer to it
+ CApaDocument* document = CSendUiSrDocument::NewL(*this);
+ return document;
+ }
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+TUid CSendUiSrApp::AppDllUid() const
+ {
+ // Return the UID for the SendUiSr application
+ return KUidSendUiSrApp;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/src/senduisrappui.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,339 @@
+/*
+* 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: Resolves sending service information and stores it to
+* Central Repository.
+*
+*/
+
+
+
+#include <e32property.h>
+#include <e32cmn.h>
+#include <apgwgnam.h>
+#include <mtclreg.h> // CClientMtmRegistry
+#include <SendUiConsts.h>
+#include <CSendingService.h>
+#include <CSendingServiceInfo.h>
+#include <SendingServiceInterfaceUids.hrh>
+
+#include <CSendingServiceInfo.h>
+#include <TSendingCapabilities.h>
+#include "centralrepository.h"
+#include "senduisrappui.h"
+#include "SendUiPrivateCRKeys.h"
+#include "senduiproperty.h"
+#include "senduiserviceslog.h" // Logging
+#include <senduisingleton.h>
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSendUiSrAppUi::CSendUiSrAppUi() :
+ iCoeEnv( CCoeEnv::Static() )
+ {
+ SetFullScreenApp(EFalse); // disable possible transition effects
+ }
+
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSendUiSrAppUi::ConstructL()
+ {
+ BaseConstructL(ENoAppResourceFile);
+
+ HideApplicationFromFSW( ETrue ); // hide from Fast Swap Window
+
+ TApaTask task(iEikonEnv->WsSession());
+ task.SetWgId(iEikonEnv->RootWin().Identifier());
+ task.SendToBackground();
+
+ iIdle = CIdle::NewL( CActive::EPriorityIdle );
+ iIdle->Start( TCallBack(UpdateTask, this ));
+ }
+
+TInt CSendUiSrAppUi::UpdateTask( TAny* aThis )
+ {
+ CSendUiSrAppUi* appUi = static_cast<CSendUiSrAppUi*>( aThis );
+
+ TRAPD( err, appUi->HandleUpdateSendListL() );
+
+ if ( err )
+ {
+#ifdef _DEBUG
+ TBuf<256> buf;
+ buf.Format(_L("SendUi err"));
+ User::InfoPrint(buf);
+ LOGTEXT2(_L("SendUiServiceResolver: Error %d while loading CenRep."), err );
+#endif
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateOperation,
+ KSendUiUpdateOperationDone );
+
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateRequest,
+ KSendUiNotInitialized );
+ }
+
+ appUi->Exit();
+ return KErrNone;
+ }
+
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSendUiSrAppUi::~CSendUiSrAppUi()
+ {
+ delete iIdle;
+ }
+
+// ---------------------------------------------------------------------------
+// HandleUpdateSendListL
+// ---------------------------------------------------------------------------
+//
+void CSendUiSrAppUi::HandleUpdateSendListL()
+ {
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateOperation,
+ KSendUiUpdateOperationRunning );
+
+ CRepository* myRep = CRepository::NewLC( KCRUidSendUi );
+ LOGTEXT(_L("SendUiSr: Repository created."));
+
+ // KErrNotFound indicates undefined repository state and services are re-read by Watcher
+ // in boot, if this update fails. The correct language value is set when update completes
+ // succesfully.
+ TInt result = myRep->Set( KKeySendUiServiceLanguage, KErrNotFound );
+
+ LOGTEXT(_L("SendUiSr: Service Manager created."));
+ RPointerArray<CSendingServiceInfo> servicesArray;
+ RPointerArray<CSendingService> serviceProviders;
+
+ PopulateServicesListL( servicesArray, serviceProviders, iCoeEnv );
+
+ TSendingCapabilities serviceCapabilities;
+
+ // cleaning old and storing new sending service values to Central Repository
+ // is done in one transaction.
+ result += myRep->StartTransaction( CRepository::EConcurrentReadWriteTransaction );
+
+ if ( result != KErrNone )
+ {
+ servicesArray.Close();
+ CleanupStack::PopAndDestroy( myRep );
+ return;
+ }
+ else
+ {
+ ClearPluginListL( myRep );
+ }
+
+ TInt i(0);
+ TInt err(0);
+ for ( i = 0; i < servicesArray.Count(); i++)
+ {
+ // Store to Central Repository: uid, providerId, name, menuname, capabilities,
+ // technologytype, messagesize, flags and serviceFeatures
+ err += AddSendingService(
+ myRep,
+ i,
+ servicesArray[i]->ServiceId(),
+ servicesArray[i]->ServiceProviderId(),
+ servicesArray[i]->TechnologyTypeId(),
+ servicesArray[i]->ServiceFeatures(),
+ servicesArray[i]->ServiceCapabilities(),
+ servicesArray[i]->ServiceName().Left( KSendUiServiceMaxNameLength ),
+ servicesArray[i]->ServiceMenuName().Left( KSendUiServiceMaxNameLength ),
+ servicesArray[i]->ServiceAddress().Left( KSendUiServiceMaxNameLength ) );
+ }
+
+ err += myRep->Set( KKeySendUiServiceCount, servicesArray.Count() );
+ err += myRep->Set( KKeySendUiServiceLanguage, (TInt)User::Language() );
+
+ if ( err == KErrNone )
+ {
+ TUint32 keyInfo;
+ myRep->CommitTransaction( keyInfo );
+ }
+
+ servicesArray.Close();
+ serviceProviders.ResetAndDestroy();
+ CleanupStack::PopAndDestroy( myRep ); // myRep
+
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateOperation,
+ KSendUiUpdateOperationDone );
+
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateRequest,
+ KSendUiUpdated );
+}
+
+// ---------------------------------------------------------------------------
+// AddSendingService
+// ---------------------------------------------------------------------------
+//
+TInt CSendUiSrAppUi::AddSendingService(
+ CRepository* aRep,
+ TUint aIndex,
+ TUid aMtmUid,
+ TUid aServiceProviderId,
+ TUid aTechnologyType,
+ TInt aFeatures,
+ TSendingCapabilities aCapabilities,
+ TPtrC aServiceName,
+ TPtrC aServiceMenuName,
+ TPtrC aServiceAddress )
+ {
+ // Cenrep stays in readble state during transaction
+
+ aIndex = aIndex * KSendUiServiceIndex;
+ // "collect" errors. Focus is in the existance of errors, not on any specific error.
+ TInt err = aRep->Create( aIndex | KSendUiServiceId, (TInt)aMtmUid.iUid );
+ err += aRep->Create( aIndex | KSendUiServiceProviderId, (TInt)aServiceProviderId.iUid );
+
+ err += aRep->Create( aIndex | KSendUiServiceName, aServiceName );
+ err += aRep->Create( aIndex | KSendUiServiceMenuName, aServiceMenuName );
+ err += aRep->Create( aIndex | KSendUiServiceAddress, aServiceAddress );
+
+ err += aRep->Create( aIndex | KSendUiServiceFlags, aCapabilities.iFlags );
+ err += aRep->Create( aIndex | KSendUiServiceBodySize, aCapabilities.iBodySize );
+ err += aRep->Create( aIndex | KSendUiServiceMessageSize, aCapabilities.iMessageSize );
+ err += aRep->Create( aIndex | KSendUiServiceTechnologyType, (TInt)aTechnologyType.iUid );
+ err += aRep->Create( aIndex | KSendUiServiceFeatures, aFeatures );
+ LOGTEXT3(_L("SendUiServiceResolver: index %d, service %d"), aIndex, aMtmUid.iUid );
+ if ( err != KErrNone )
+ {
+ LOGTEXT(_L("Error while creating Central Repository data.") );
+ }
+ return ( err != KErrNone );
+ }
+
+// ---------------------------------------------------------------------------
+// ClearPluginListL
+// Deletes all service detail keys from the repository.
+// ---------------------------------------------------------------------------
+//
+void CSendUiSrAppUi::ClearPluginListL( CRepository* aRep )
+ {
+ TUint32 partialKey = 0x00000000;
+ TUint32 keyMask = 0xFFFF0000; // 0, don't care mask
+ RArray<TUint32> indexKeys;
+ CleanupClosePushL( indexKeys );
+
+ aRep->FindL( partialKey, keyMask, indexKeys );
+
+ for (int i(0) ; i < indexKeys.Count(); i++)
+ {
+ aRep->Delete( indexKeys[ i ] );
+ }
+
+ CleanupStack::PopAndDestroy( &indexKeys );
+ }
+
+// ---------------------------------------------------------------------------
+// From class CAknAppUi.
+// ---------------------------------------------------------------------------
+//
+void CSendUiSrAppUi::HandleCommandL(TInt /*aCommand*/)
+ {
+ // no implementation required
+ }
+
+// ---------------------------------------------------------------------------
+CSendingService* CSendUiSrAppUi::LoadServiceL(
+ TUid aServiceProviderUid,
+ CCoeEnv* aCoeEnv,
+ CSendUiSingleton* aSingleton,
+ RPointerArray<CSendingServiceInfo>& aServiceList )
+ {
+ CSendingService* sendingService = CSendingService::NewL(
+ aServiceProviderUid,
+ *aCoeEnv,
+ *aSingleton );
+
+ if( sendingService )
+ {
+ CleanupStack::PushL( sendingService );
+ sendingService->PopulateServicesListL( aServiceList );
+ // if everything goes well, aServiceProviders will own this object soon enough
+ CleanupStack::Pop( sendingService );
+ }
+ return sendingService;
+ }
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void CSendUiSrAppUi::PopulateServicesListL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ RPointerArray<CSendingService>& aServiceProviders,
+ CCoeEnv* aCoeEnv )
+ {
+ CSendUiSingleton* singleton = CSendUiSingleton::NewL();
+ CleanupStack::PushL( singleton );
+ aServiceList.Reset();
+
+ RImplInfoPtrArray implInfoArray;
+ RPointerArray<CSendingServiceInfo> services;
+
+ REComSession::ListImplementationsL(
+ TUid::Uid( KSendUiSendingServiceInterface ),implInfoArray);
+
+ TInt serviceIndex(0);
+ CSendingService* sendingService;
+ while ( serviceIndex < implInfoArray.Count() )
+ {
+ sendingService = NULL;
+ TUid serviceUid = (*implInfoArray[serviceIndex]).ImplementationUid();
+ // If Ecom service loading fails, then just move on
+ TRAPD( error, sendingService = LoadServiceL( serviceUid, aCoeEnv, singleton, services ) );
+
+ if( sendingService && error == KErrNone )
+ {
+ aServiceProviders.AppendL( sendingService );
+
+ for ( TInt index = 0; index < services.Count(); index++ )
+ {
+ aServiceList.Append( services[ index ] );
+ }
+ services.Reset();
+
+ LOGTEXT2( _L("Provider %d creation SUCCESS."), serviceUid );
+ }
+ else
+ {
+ LOGTEXT3( _L("Provider %d creation FAILED. Error code: %d"), serviceUid, error );
+ }
+
+ serviceIndex++;
+ }
+ services.Close();
+ implInfoArray.ResetAndDestroy();
+ REComSession::FinalClose();
+ CleanupStack::PopAndDestroy( singleton );
+ }
+
+// end of file
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/serviceresolver/src/senduisrdoc.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* 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: Document class for SendUi service resolver
+*
+*/
+
+
+
+#include <centralrepository.h>
+#include <apgwgnam.h> //CApaWindowGroupName
+
+#include "senduisrappui.h"
+#include "senduisrdoc.h"
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSendUiSrDocument::CSendUiSrDocument(CEikApplication& aApp) : CAknDocument(aApp)
+ {
+ // no implementation required
+ }
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSendUiSrDocument::ConstructL()
+ {
+ // no implementation required
+ }
+
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CSendUiSrDocument* CSendUiSrDocument::NewL(CEikApplication& aApp)
+ {
+ CSendUiSrDocument* self = NewLC(aApp);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// NewLC
+// ---------------------------------------------------------------------------
+//
+CSendUiSrDocument* CSendUiSrDocument::NewLC(CEikApplication& aApp)
+ {
+ CSendUiSrDocument* self = new (ELeave) CSendUiSrDocument(aApp);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSendUiSrDocument::~CSendUiSrDocument()
+ {
+ // no implementation required
+ }
+
+// ---------------------------------------------------------------------------
+// From CAknDocument.
+// ---------------------------------------------------------------------------
+//
+CEikAppUi* CSendUiSrDocument::CreateAppUiL()
+ {
+ // Create the application user interface, and return a pointer to it,
+ // the framework takes ownership of this object
+
+ CEikAppUi* appUi = new(ELeave)CSendUiSrAppUi;
+ return appUi;
+ }
+
+// ---------------------------------------------------------------------------
+// From CAknDocument.
+// Hide application from the fast swap list.
+// ---------------------------------------------------------------------------
+//
+void CSendUiSrDocument::UpdateTaskNameL(CApaWindowGroupName* aWgName)
+ {
+ CAknDocument::UpdateTaskNameL(aWgName);
+ aWgName->SetHidden(ETrue);
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/CMessageAddress.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2002-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: Encapsulates message real address and alias.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <CMessageAddress.h>
+#include "MessageAddressImpl.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::CMessageAddress
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CMessageAddress::CMessageAddress()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CMessageAddress::ConstructL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageAddress* CMessageAddress::NewL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageAddress* CMessageAddress::NewLC()
+ {
+ }
+
+
+// Destructor
+EXPORT_C CMessageAddress::~CMessageAddress()
+ {
+ }
+
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::SetAddressL
+// Sets real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::SetAddressL( const TDesC& aAddress )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::Address
+// Returns real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CMessageAddress::Address() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::SetAliasL
+// Sets alias for real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::SetAliasL( const TDesC& aAlias )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::Alias
+// Returns the alias for the real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CMessageAddress::Alias() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::ExternalizeL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::ExternalizeL( RWriteStream& aStream )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::InternalizeL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::InternalizeL( RReadStream& aStream )
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/CMessageData.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,289 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the message data for sending services.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32std.h>
+#include <SendUiConsts.h>
+#include <CMessageData.h>
+#include "CMessageDataImpl.h"
+//#include "CSendUiAttachment.h"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageData::CMessageData
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageData::CMessageData()
+ : iDataType(KSenduiMsgDataBase)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::ConstructL()
+ {
+ iMessageDataImpl = CMessageDataImpl::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageData* CMessageData::NewL()
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageData::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+EXPORT_C CMessageData* CMessageData::NewLC()
+ {
+ }
+
+
+// Destructor
+EXPORT_C CMessageData::~CMessageData()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::SetSubjectL
+// Set message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::SetSubjectL( const TDesC* aSubject )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::Subject
+// Returns message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CMessageData::Subject() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendAttachmentL
+// Appends attachment file path to the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendAttachmentL( const TDesC& aFileName )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AttachmentArray
+// Returns array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CDesCArray& CMessageData::AttachmentArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ClearAttachmentArray
+// Clears the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::ClearAttachmentArray()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendToAddressL
+// Encapsulates address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendToAddressL(
+ const TDesC& aAddress,
+ const TDesC& aAlias)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ToAddressArray
+// Returns array of addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CMessageAddressArray& CMessageData::ToAddressArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendCcAddressL
+// Encapsulates CC address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendCcAddressL(
+ const TDesC& aCcAddress,
+ const TDesC& aCcAlias)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::CcAddressArray
+// Returns array of CC addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CMessageAddressArray& CMessageData::CcAddressArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendBccAddressL
+// Encapsulates Bcc address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendBccAddressL(
+ const TDesC& aBccAddress,
+ const TDesC& aBccAlias)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::BccAddressArray
+// Returns array of Bcc addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CMessageAddressArray& CMessageData::BccAddressArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::SetBodyTextL
+// Set message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::SetBodyTextL( const CRichText* aBodyText )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::BodyText
+// Returns message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CRichText* CMessageData::BodyText() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendAttachmentHandleL
+// Appends attachment handle to the array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendAttachmentHandleL( const RFile& aFileHandle )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AttachmentHandleArray
+// Returns array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const RArray<RFile>& CMessageData::AttachmentHandleArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::DataType
+// Returns data type id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CMessageData::DataType() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ClearAddresses
+// Clears all addressee arrays.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::ClearAddresses()
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageData::ExternalizeL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CMessageData::ExternalizeL( RWriteStream& aStream ) const
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageData::InternalizeL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CMessageData::InternalizeL( RReadStream& aStream )
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageData::SetOpaqueDataL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CMessageData::SetOpaqueDataL( const TDesC8* aData, TUid aDataType )
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageData::OpaqueData
+//
+// ---------------------------------------------------------
+//
+EXPORT_C const TPtrC8 CMessageData::OpaqueData() const
+ {
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/CMessageDataImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,334 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the message data for sending services.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <s32file.h>
+#include <txtrich.h>
+#include <eikenv.h>
+#include <s32mem.h>
+#include <s32std.h>
+#include <msvstore.h>
+#include <SendUiConsts.h>
+
+#ifdef RD_MULTIPLE_DRIVE
+#include <driveinfo.h>
+#endif
+
+#include "CMessageDataImpl.h"
+//#include "CSendUiAttachment.h"
+
+// CONSTANTS
+const TInt KMDArrayGranularity = 1;
+const TInt KMDRichTextStoreGranularity = 512;
+
+_LIT( KSenduiTempFile, ":\\system\\temp\\sendui\\%x_%x");
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::CMessageDataImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CMessageDataImpl::CMessageDataImpl()
+ : iDataType(KSenduiMsgDataBase)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::ConstructL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CMessageDataImpl* CMessageDataImpl::NewL()
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+CMessageDataImpl* CMessageDataImpl::NewLC()
+ {
+ }
+
+
+// Destructor
+CMessageDataImpl::~CMessageDataImpl()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::SetSubjectL
+// Set message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::SetSubjectL( const TDesC* aSubject )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::Subject
+// Returns message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TPtrC CMessageDataImpl::Subject() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendAttachmentL
+// Appends attachment file path to the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendAttachmentL( const TDesC& aFileName )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AttachmentArray
+// Returns array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CDesCArray& CMessageDataImpl::AttachmentArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ClearAttachmentArray
+// Clears the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::ClearAttachmentArray()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendToAddressL
+// Encapsulates address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendToAddressL(
+ const TDesC& aAddress,
+ const TDesC& aAlias)
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ToAddressArray
+// Returns array of addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CMessageAddressArray& CMessageDataImpl::ToAddressArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendCcAddressL
+// Encapsulates CC address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendCcAddressL(
+ const TDesC& aCcAddress,
+ const TDesC& aCcAlias)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::CcAddressArray
+// Returns array of CC addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CMessageAddressArray& CMessageDataImpl::CcAddressArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendBccAddressL
+// Encapsulates Bcc address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendBccAddressL(
+ const TDesC& aBccAddress,
+ const TDesC& aBccAlias)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::BccAddressArray
+// Returns array of Bcc addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CMessageAddressArray& CMessageDataImpl::BccAddressArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::SetBodyTextL
+// Set message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::SetBodyTextL( const CRichText* aBodyText )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::BodyText
+// Returns message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CRichText* CMessageDataImpl::BodyText() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendAttachmentHandleL
+// Appends attachment handle to the array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendAttachmentHandleL( const RFile& aFileHandle )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AttachmentHandleArray
+// Returns array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const RArray<RFile>& CMessageDataImpl::AttachmentHandleArray() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::DataType
+// Returns data type id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TUid CMessageDataImpl::DataType() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ClearAddresses
+// Clears all addressee arrays.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::ClearAddresses()
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::ExternalizeL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::ExternalizeL( RWriteStream& aStream ) const
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::InternalizeL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::InternalizeL( RReadStream& aStream )
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::ExternalizeArrayL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::ExternalizeArrayL(
+ CMessageAddressArray* anArray,
+ RWriteStream& aStream ) const
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::InternalizeArrayL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::InternalizeArrayL(
+ CMessageAddressArray* anArray,
+ RReadStream& aStream )
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::CreateTempPathL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::CreateTempPathL( TDes16& aPath, RFs& aFs ) const
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::SetOpaqueDataL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::SetOpaqueDataL( const TDesC8* aData )
+ {
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::OpaqueData
+//
+// ---------------------------------------------------------
+//
+const TPtrC8 CMessageDataImpl::OpaqueData() const
+ {
+ }
+
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/CSendingService.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* 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: CSendingService implementation.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <ecom.h>
+#include <CSendingService.h>
+#include <CMessageData.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendingService::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingService* CSendingService::NewL(
+ const TUid& aImplementationUid,
+ CCoeEnv& aCoeEnv,
+ CSendUiSingleton& aSingleton )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// Destructor
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingService::~CSendingService()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// C++ constructor
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingService::CSendingService( CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton )
+ : iCoeEnv( aCoeEnv ),
+ iSingleton( aSingleton )
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/CSendingServiceInfo.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,246 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the ECom plugged sending service data.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <CSendingServiceInfo.h>
+#include "SendingServiceInfoImpl.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::CSendingServiceInfo
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfo::CSendingServiceInfo()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfo::ConstructL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingServiceInfo* CSendingServiceInfo::NewL()
+ {
+ }
+
+// ---------------------------------------------------------
+// CSendingServiceInfo::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+EXPORT_C CSendingServiceInfo* CSendingServiceInfo::NewLC()
+ {
+ }
+
+
+// Destructor
+EXPORT_C CSendingServiceInfo::~CSendingServiceInfo()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::CopyLC
+// Creates a copy of CSendingServiceInfo object.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingServiceInfo* CSendingServiceInfo::CopyLC() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceNameL
+// Sets service human readable name.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceNameL( const TDesC& aServiceName )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceName
+// Returns service human readable name.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CSendingServiceInfo::ServiceName() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceMenuNameL
+// Sets service human readable name for the "Send"-menu.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceMenuNameL(
+ const TDesC& aServiceMenuName )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceMenuName
+// Returns service human readable name for the "Send"-menu.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CSendingServiceInfo::ServiceMenuName() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceAddressL
+// Sets service address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceAddressL(
+ const TDesC& aServiceAddress )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceAddress
+// Returns service address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CSendingServiceInfo::ServiceAddress() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceId
+// Sets service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceId( TUid aServiceId )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendingServiceInfo::ServiceId() const
+ {
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetTechnologyTypeId( TUid aTechnologyType )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendingServiceInfo::TechnologyTypeId() const
+ {
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceProviderId
+// Sets service provider id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceProviderId( TUid aServiceProviderId )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceProviderId
+// Returns service provider id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendingServiceInfo::ServiceProviderId() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceCapabilities
+// Set service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceCapabilities(
+ TSendingCapabilities aServiceCapabilities )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceCapabilities
+// Returns service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TSendingCapabilities CSendingServiceInfo::ServiceCapabilities() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceCapabilities
+// Set service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceFeatures(
+ TInt aServiceFeatures )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceCapabilities
+// Returns service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CSendingServiceInfo::ServiceFeatures() const
+ {
+ }
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/MessageAddressImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
+* Encapsulates message real address and alias.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "MessageAddressImpl.h"
+#include <msvstore.h>
+#include <sendui.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::CMessageAddressImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CMessageAddressImpl::CMessageAddressImpl()
+ {
+ }
+
+// Destructor
+CMessageAddressImpl::~CMessageAddressImpl()
+ {
+ }
+
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::SetAddressL
+// Sets real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::SetAddressL( const TDesC& aAddress )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::SetAliasL
+// Sets alias for real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::SetAliasL( const TDesC& aAlias )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::ExternalizeL
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::ExternalizeL( RWriteStream& aStream ) const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::InternalizeL
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::InternalizeL( RReadStream& aStream )
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/SendUi.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,277 @@
+/*
+* Copyright (c) 2002-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: Can be used to show "Send" list query and to create and send
+* messages via available sending services. Created messages are
+* sent directly or message editor is opened for editing,
+* depending on the type of the selected service.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <sendui.h>
+#include "SendUiImpl.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUi::CSendUi
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUi::CSendUi()
+ {
+ int i=0;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUi::ConstructL()
+ {
+ iSendUiImpl = CSendUiImpl::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUi* CSendUi::NewL()
+ {
+ CSendUi* self = CSendUi::NewLC();
+
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CSendUi::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+EXPORT_C CSendUi* CSendUi::NewLC()
+ {
+
+ }
+
+// Destructor
+EXPORT_C CSendUi::~CSendUi()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::AddSendMenuItemL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::AddSendMenuItemL(
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowQueryAndSendL
+// First shows "Send" pop-up list query and then creates the message.
+// Editor is launched for editing the message or the message is sent
+// directly without opening the editor. Functionality depends on the
+// type of selected sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::ShowQueryAndSendL(
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ TUid /*aBioTypeUid*/,
+ TBool aLaunchEditorEmbedded,
+ const TDesC& aTitleText )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowSendQueryL
+// Shows "Send" pop-up list query and returns the user selection.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendUi::ShowSendQueryL(
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ const TDesC& aTitleText )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::CreateAndSendMessageL
+// Creates the message and launches the editor for editing the message
+// or sends the message directly without opening the editor.
+// Functionality depends on the type of selected sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::CreateAndSendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TUid /*aBioTypeUid*/,
+ TBool aLaunchEditorEmbedded )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ValidateServiceL
+// Validates that service is available and has required capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUi::ValidateServiceL(
+ TUid aServiceUid,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ServiceCapabilitiesL
+// Returns sending capabilities of the sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CSendUi::ServiceCapabilitiesL(
+ TUid aServiceUid,
+ TSendingCapabilities& aServiceCapabilities )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::CanSendBioMessage
+// Can be used to check if sending of bio message is supported.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUi::CanSendBioMessage( TUid /*aBioMessageUid*/ ) const
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::AvailableServicesL
+// Populates given list with the information about services
+// provided by specified ECom service provider.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::AvailableServicesL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ TUid aServiceProvider)
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::AddTypedMenuItemL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::AddTypedMenuItemL(
+ TSendUiMenuType aMenuType,
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowTypedQueryAndSendL
+// First shows list query and then creates the message.
+// Editor is launched for editing the message or the message is sent
+// directly without opening the editor. Functionality depends on the
+// type of selected sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::ShowTypedQueryAndSendL(
+ TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ TUid /*aBioTypeUid*/,
+ TBool aLaunchEditorEmbedded,
+ const TDesC& aTitleText )
+ {
+ iSendUiImpl->ShowTypedQueryAndSendL(
+ aMenuType,
+ aMessageData,
+ aRequiredCapabilities,
+ aServicesToDim,
+ aLaunchEditorEmbedded,
+ aTitleText );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowTypedQueryL
+// Shows list query and returns the user selection.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendUi::ShowTypedQueryL(
+ TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ const TDesC& aTitleText )
+ {
+ return iSendUiImpl->ShowTypedQueryL(
+ aMenuType,
+ aMessageData,
+ aRequiredCapabilities,
+ aServicesToDim,
+ aTitleText );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::TechnologyType
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendUi::TechnologyType( TUid aServiceUid ) const
+ {
+ return iSendUiImpl->TechnologyType( aServiceUid );
+ }
+
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/SendUiCapabilityCheck.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2002-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: Utility class for SendUI.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <s32mem.h>
+#include <e32base.h>
+#include <mtclbase.h>
+#include <tmsvpackednotifierrequest.h>
+
+#include "SendUiCapabilityCheck.h"
+
+// CONSTANTS
+const TUid KSendUiNotifierPluginUid = {0x10282895};
+const TInt32 KSendUiServiceMaxNameLength = 40; // original defined in SendUIPrivateCRKeys.h
+const TInt32 KSendUiNotifierBufferSize = KSendUiServiceMaxNameLength + sizeof(TUint32);
+
+typedef TBuf8<KSendUiNotifierBufferSize> TTransferBuf;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck:CSendUiCapabilityCheck
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiCapabilityCheck::CSendUiCapabilityCheck()
+ : CActive( EPriorityStandard )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendUiCapabilityCheck* CSendUiCapabilityCheck::NewLC()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSendUiCapabilityCheck::ConstructL()
+ {
+
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::CheckCapabilitiesL
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiCapabilityCheck::CheckCapabilitiesL(
+ const TSecurityInfo& aSecurityInfo,
+ CMsvSession& aSession,
+ const TUid aMtmType,
+ const TDesC& aServiceName )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::~CSendUiCapabilityCheck
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSendUiCapabilityCheck::~CSendUiCapabilityCheck()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::RunL
+// -----------------------------------------------------------------------------
+//
+void CSendUiCapabilityCheck::RunL()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CSendUiCapabilityCheck::DoCancel()
+ {
+
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/SendUiDummyMtm.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* 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: SendUiDummyMtm implementation
+*
+*/
+
+
+
+#include "SendUiDummyMtm.h"
+#include <mtclbase.h>
+
+CSendUiDummyMtm::CSendUiDummyMtm(
+ CRegisteredMtmDll& aRegisteredMtmDll,
+ CMsvSession& aSession ) :
+ CBaseMtm( aRegisteredMtmDll, aSession )
+ {
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/SendUiImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,351 @@
+/*
+* Copyright (c) 2002-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: Can be used to show "Send" list query and to create and send
+* messages via available sending services. Created messages are
+* sent directly or message editor is opened for editing,
+* depending on the type of the selected service.
+*
+*/
+
+
+#include <coemain.h>
+#include <sendnorm.rsg>
+#include <aknlistquerydialog.h>
+#include <eikmenup.h>
+#include <data_caging_path_literals.hrh>
+#include <DRMHelper.h>
+#include <centralrepository.h>
+#include <e32cmn.h> // Uid
+#include <e32property.h>
+#include <barsread.h>
+#include <akninputblock.h>
+#include <centralrepository.h>
+#include <miutset.h>
+//#include <MessagingDomainCRKeys.h>
+
+// Features
+#include <featmgr.h>
+#include <bldvariant.hrh>
+//#include <msgmimetypes.h>
+//#include <CSendingServiceInfo.h>
+//#include <CSendingService.h>
+//#include <CMessageData.h>
+//#include <SendUiConsts.h>
+//#include <senduisingleton.h>
+
+#include "SendUiImpl.h"
+#include "senduiserviceclient.h"
+#include "SendUiCapabilityCheck.h"
+#include "SendUiUtils.h"
+#include "senduiserviceslog.h" // Logging
+#include "SendUiPrivateCRKeys.h"
+#include "senduiproperty.h"
+#include "propertyobserver.h"
+#include "senduilauncher.h"
+#include "SendUiInternalConsts.h"
+
+
+const TInt KArrayGranularity = 2;
+const TInt KSendUiServiceOrderArrayGranularity = 6;
+const TInt KTitleBufLength = 64;
+
+
+_LIT( KSendUiResourceFileName,"sendnorm.rsc" );
+
+// ======== MEMBER FUNCTIONS ========
+// -----------------------------------------------------------------------------
+// CSendUiImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendUiImpl* CSendUiImpl::NewL()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSendUiImpl::~CSendUiImpl()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// AddTypedMenuItemL
+//
+// No menu item is added, if services are not found. This can happen if asyncronous
+// sending service update is not yet finished.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::AddTypedMenuItemL(
+ CSendUi::TSendUiMenuType aMenuType,
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// ShowTypedQueryAndSendL
+// First shows list query and then creates the message.
+// Editor is launched for editing the message or the message is sent
+// directly without opening the editor. Functionality depends on the
+// type of selected sending service.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::ShowTypedQueryAndSendL(
+ CSendUi::TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ TBool aLaunchEditorEmbedded,
+ const TDesC& aTitleText )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// ShowTypedQueryL
+// Shows list query and returns the user selection.
+// -----------------------------------------------------------------------------
+//
+TUid CSendUiImpl::ShowTypedQueryL(
+ CSendUi::TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ const TDesC& aTitleText )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// SendMessageL
+// -----------------------------------------------------------------------------
+TInt CSendUiImpl::SendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// SendMessageViaServer
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::SendMessageViaServerL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CreateAndSendMessageL
+// Creates the message and launches the editor for editing the message
+// or sends the message directly without opening the editor.
+// Functionality depends on the type of selected sending service.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::CreateAndSendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// ServiceCapabilitiesL
+// Returns sending capabilities of the sending service.
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiImpl::ServiceCapabilities(
+ TUid aServiceUid,
+ TSendingCapabilities& aServiceCapabilities )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// AvailableServicesL
+// Populates given list with the information about services
+// provided by specified ECom service provider.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+void CSendUiImpl::AvailableServicesL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ TUid aServiceProvider)
+ {
+
+ }
+// -----------------------------------------------------------------------------
+// TechnologyType
+// -----------------------------------------------------------------------------
+//
+TUid CSendUiImpl::TechnologyType( TUid aServiceUid )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiImpl::ResolveServiceIndex( TUid aServiceUid )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// QueryCapabilities
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiImpl::QueryCapabilities(
+ TInt index,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl::GetServicesL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+void CSendUiImpl::GetServicesL( )
+{
+
+}
+
+// ---------------------------------------------------------
+// ShowListQueryL(
+// Displays list query.
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TUid CSendUiImpl::ShowListQueryL(
+ MDesCArray* aListItems,
+ const CArrayFix<TUid>& aListItemUids,
+ const TDesC& aTitleText,
+ CSendUi::TSendUiMenuType aMenuType )
+ {
+
+ }
+
+
+// -----------------------------------------------------------------------------
+// CanSendContentL
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiImpl::CanSendContentL(
+ TUid aServiceUid,
+ TUid aServiceProviderId,
+ const CMessageData* aMessageData,
+ TDataType* aMimeType )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl::FilterServicesL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::FilterServicesL(
+ CDesCArrayFlat& aListItems,
+ CArrayFix<TUid>& aListItemUids,
+ TSendingCapabilities aRequiredCapabilities,
+ const CMessageData* aMessageData,
+ CSendUi::TSendUiMenuType aMenuType )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// SortListL
+// Sets ECom services to correct positions in "Send"-list query.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::SortListL(
+ CDesCArrayFlat& aListItems,
+ CArrayFix<TUid>& aListItemUids )
+ {
+
+ }
+
+
+// ---------------------------------------------------------
+// ResetIsSending
+// Resets sending state flag.
+// ---------------------------------------------------------
+//
+void CSendUiImpl::ResetIsSending( TAny* aAny )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CheckServiceCapabilities
+// Compares ECom service sending capabilities to required capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiImpl::CheckServiceCapabilities(
+ TUid aServiceUid,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiImpl::CSendUiImpl()
+ : iCoeEnv( CCoeEnv::Static() ),
+ iFs( iCoeEnv->FsSession() ),
+ iResourceLoader( *iCoeEnv )
+
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl::FeatureStatus
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::FeatureStatus( TInt aFeature, TInt &aNewFeatures, TInt aFeatureFlag )
+ {
+
+ }
+// ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::ConstructL()
+ {
+
+ }
+
+// end of file
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/SendUiUtils.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* 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: Provides private utilities for SendUi.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <apmstd.h>
+#include <apgcli.h>
+#include <caf/caf.h>
+//#include <MsgMimeTypes.h>
+
+#include "SendUiUtils.h"
+
+// CONSTANTS
+_LIT8( KMmsSymbianInternalPattern, "x-epoc/x-app0");
+
+const TInt KSenduiUrlMaxLen = 1024;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// SendUiUtils::OpenFileHandleL
+// -----------------------------------------------------------------------------
+//
+RFile SendUiUtils::OpenFileHandleL( const TDesC& aFilePath, RFs& aFs )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// SendUiUtils::DrmContentUrlL
+// -----------------------------------------------------------------------------
+//
+TBool SendUiUtils::HasContentUrlL( RFile& aFile )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// SendUiUtils::ResolveMimeTypeL
+// -----------------------------------------------------------------------------
+//
+void SendUiUtils::ResolveMimeTypeL( const RFile& aFile, TDataType& aMimeType )
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/SendingServiceInfoImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
+* Encapsulates the ECom plugged sending service data.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "SendingServiceInfoImpl.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::CSendingServiceInfoImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfoImpl::CSendingServiceInfoImpl()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfoImpl* CSendingServiceInfoImpl::NewL()
+ {
+ }
+
+// ---------------------------------------------------------
+// CSendingServiceInfoImpl::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+CSendingServiceInfoImpl* CSendingServiceInfoImpl::NewLC()
+ {
+ }
+
+
+// Destructor
+CSendingServiceInfoImpl::~CSendingServiceInfoImpl()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::CopyL
+// Creates a copy of CSendingServiceInfoImpl object.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfoImpl* CSendingServiceInfoImpl::CopyL() const
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceNameL
+// Sets service human readable name.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfoImpl::SetServiceNameL(
+ const TDesC& aServiceName )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceMenuNameL
+// Sets service human readable name for the "Send"-menu.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfoImpl::SetServiceMenuNameL(
+ const TDesC& aServiceMenuName )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceAddressL
+// Sets service address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfoImpl::SetServiceAddressL(
+ const TDesC& aServiceAddress )
+ {
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/TSendingCapabilities.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2002-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: Sending capabilities for sending services. Used by SendUi to
+* filter sending services from "Send" pop-up list query.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <TSendingCapabilities.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TSendingCapabilities::TSendingCapabilities()
+ :
+ iBodySize(0),
+ iMessageSize(0),
+ iFlags(0)
+ {
+ }
+
+// ---------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------
+//
+EXPORT_C TSendingCapabilities::TSendingCapabilities(
+ TInt aBodySize,
+ TInt aMessageSize,
+ TInt aFlags)
+ :
+ iBodySize(aBodySize),
+ iMessageSize(aMessageSize),
+ iFlags(aFlags)
+ {
+ }
+
+// ---------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// Overloaded equal operator
+// might leave.
+// ---------------------------------------------------------
+//
+EXPORT_C TBool TSendingCapabilities::operator==(
+ const TSendingCapabilities& aSendingCapabilities ) const
+ {
+ }
+
+// ---------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// Overloaded not equal operator
+// might leave.
+// ---------------------------------------------------------
+//
+EXPORT_C TBool TSendingCapabilities::operator!=(
+ const TSendingCapabilities& aSendingCapabilities ) const
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/propertyobserver.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* 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: Notifies SendUI to refresh its local sending service list
+* if list in Central Repository is updated.
+*
+*/
+
+
+
+#include <e32base.h>
+#include <e32property.h>
+
+#include "propertyobserver.h"
+#include "senduiproperty.h"
+#include "SendUiImpl.h"
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CPropertyObserver* CPropertyObserver::NewL( CSendUiImpl* aParent)
+ {
+ CPropertyObserver* self = new ( ELeave ) CPropertyObserver( aParent );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CPropertyObserver::~CPropertyObserver()
+ {
+ iPropertyUpdateOperation.Close();
+ Cancel();
+ }
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CPropertyObserver::ConstructL()
+ {
+
+ User::LeaveIfError( iPropertyUpdateOperation.Attach( KPSUidSendUiProperty, KSendUiUpdateOperation ));
+ iPropertyUpdateOperation.Subscribe( iStatus );
+ SetActive();
+
+ }
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CPropertyObserver::CPropertyObserver( CSendUiImpl* aParent )
+ : CActive( CActive::EPriorityStandard ),
+ iParent( aParent)
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CPropertyObserver::DoCancel()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CPropertyObserver::RunL()
+ {
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/senduiserviceclient.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* 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: Communicates message data to SendUILauncher server application
+*
+*/
+
+
+
+#include <aknappui.h>
+#include <AknServerApp.h>
+#include <s32mem.h>
+
+#include <CMessageData.h>
+#include <SendUiConsts.h>
+
+#include "senduiserviceclient.h"
+#include "senduiserviceslog.h"
+#include "senduilauncher.h"
+#include "senduiservicecommands.h"
+
+typedef TBuf8<KTransferBufferSize> TTransferBuf;
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Launch SendUi
+// ---------------------------------------------------------------------------
+//
+void RSendUiServiceClient::LaunchSendUiL(
+ TUid& aServiceUid,
+ TUid& aServiceProviderUid,
+ TBool& aLaunchEmbedded,
+ const CMessageData* aMessageData )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// Return service identifier
+// ---------------------------------------------------------------------------
+//
+TUid RSendUiServiceClient::ServiceUid() const
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+RSendUiServiceClient::~RSendUiServiceClient()
+ {
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src/senduisingleton.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,116 @@
+/*
+* 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: Singleton
+*
+*/
+
+
+
+// INCLUDE FILES
+
+#include <msvapi.h> // CMsvSession
+#include <mtclreg.h> // CClientMtmRegistry
+#include <mtuireg.h> // CMtmUiRegistry
+#include <mtudreg.h> // CMtmUiDataRegistry
+
+#include <senduisingleton.h>
+
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::CSendUiSingleton
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiSingleton::CSendUiSingleton()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUiSingleton::ConstructL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiSingleton* CSendUiSingleton::NewL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::~CSendUiSingleton
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSendUiSingleton::~CSendUiSingleton()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MsvSessionL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMsvSession& CSendUiSingleton::MsvSessionL()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::ClientMtmRegistryL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CClientMtmRegistry& CSendUiSingleton::ClientMtmRegistryL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MtmUiRegistryL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMtmUiRegistry& CSendUiSingleton::MtmUiRegistryL()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MtmUiDataRegistryL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMtmUiDataRegistry& CSendUiSingleton::MtmUiDataRegistryL()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MsvSessionL
+// -----------------------------------------------------------------------------
+//
+void CSendUiSingleton::HandleSessionEventL(TMsvSessionEvent /*aEvent*/, TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/)
+ {
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/CMessageAddress.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2002-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: Encapsulates message real address and alias.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <CMessageAddress.h>
+#include "MessageAddressImpl.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::CMessageAddress
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CMessageAddress::CMessageAddress()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CMessageAddress::ConstructL()
+ {
+ iMessageAddressImpl = new ( ELeave ) CMessageAddressImpl();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageAddress* CMessageAddress::NewL()
+ {
+ CMessageAddress* self = CMessageAddress::NewLC();
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageAddress* CMessageAddress::NewLC()
+ {
+ CMessageAddress* self = new( ELeave ) CMessageAddress;
+
+ CleanupStack::PushL( self );
+ self->ConstructL( );
+
+ return self;
+ }
+
+
+// Destructor
+EXPORT_C CMessageAddress::~CMessageAddress()
+ {
+ delete iMessageAddressImpl;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::SetAddressL
+// Sets real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::SetAddressL( const TDesC& aAddress )
+ {
+ iMessageAddressImpl->SetAddressL( aAddress );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::Address
+// Returns real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CMessageAddress::Address() const
+ {
+ return iMessageAddressImpl->Address();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::SetAliasL
+// Sets alias for real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::SetAliasL( const TDesC& aAlias )
+ {
+ iMessageAddressImpl->SetAliasL( aAlias );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::Alias
+// Returns the alias for the real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CMessageAddress::Alias() const
+ {
+ return iMessageAddressImpl->Alias();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::ExternalizeL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::ExternalizeL( RWriteStream& aStream )
+ {
+ iMessageAddressImpl->ExternalizeL( aStream );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddress::InternalizeL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageAddress::InternalizeL( RReadStream& aStream )
+ {
+ iMessageAddressImpl->InternalizeL( aStream );
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/CMessageData.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,323 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the message data for sending services.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32std.h>
+#include <SenduiConsts.h>
+#include <CMessageData.h>
+#include "CMessageDataImpl.h"
+#include "CSendUiAttachment.h"
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageData::CMessageData
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageData::CMessageData()
+ : iDataType(KSenduiMsgDataBase)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::ConstructL()
+ {
+ iMessageDataImpl = CMessageDataImpl::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMessageData* CMessageData::NewL()
+ {
+ CMessageData* self = CMessageData::NewLC();
+
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CMessageData::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+EXPORT_C CMessageData* CMessageData::NewLC()
+ {
+ CMessageData* self = new (ELeave) CMessageData;
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+
+ return self;
+ }
+
+
+// Destructor
+EXPORT_C CMessageData::~CMessageData()
+ {
+ delete iMessageDataImpl;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::SetSubjectL
+// Set message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::SetSubjectL( const TDesC* aSubject )
+ {
+ iMessageDataImpl->SetSubjectL( aSubject );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::Subject
+// Returns message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CMessageData::Subject() const
+ {
+ return iMessageDataImpl->Subject();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendAttachmentL
+// Appends attachment file path to the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendAttachmentL( const TDesC& aFileName )
+ {
+ iMessageDataImpl->AppendAttachmentL( aFileName );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AttachmentArray
+// Returns array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CDesCArray& CMessageData::AttachmentArray() const
+ {
+ return iMessageDataImpl->AttachmentArray();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ClearAttachmentArray
+// Clears the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::ClearAttachmentArray()
+ {
+ iMessageDataImpl->ClearAttachmentArray();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendToAddressL
+// Encapsulates address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendToAddressL(
+ const TDesC& aAddress,
+ const TDesC& aAlias)
+ {
+ iMessageDataImpl->AppendToAddressL( aAddress, aAlias );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ToAddressArray
+// Returns array of addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CMessageAddressArray& CMessageData::ToAddressArray() const
+ {
+ return iMessageDataImpl->ToAddressArray();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendCcAddressL
+// Encapsulates CC address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendCcAddressL(
+ const TDesC& aCcAddress,
+ const TDesC& aCcAlias)
+ {
+ iMessageDataImpl->AppendCcAddressL( aCcAddress, aCcAlias );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::CcAddressArray
+// Returns array of CC addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CMessageAddressArray& CMessageData::CcAddressArray() const
+ {
+ return iMessageDataImpl->CcAddressArray();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendBccAddressL
+// Encapsulates Bcc address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendBccAddressL(
+ const TDesC& aBccAddress,
+ const TDesC& aBccAlias)
+ {
+ iMessageDataImpl->AppendBccAddressL( aBccAddress, aBccAlias );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::BccAddressArray
+// Returns array of Bcc addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CMessageAddressArray& CMessageData::BccAddressArray() const
+ {
+ return iMessageDataImpl->BccAddressArray();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::SetBodyTextL
+// Set message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::SetBodyTextL( const CRichText* aBodyText )
+ {
+ iMessageDataImpl->SetBodyTextL( aBodyText );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::BodyText
+// Returns message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const CRichText* CMessageData::BodyText() const
+ {
+ return iMessageDataImpl->BodyText();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AppendAttachmentHandleL
+// Appends attachment handle to the array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::AppendAttachmentHandleL( const RFile& aFileHandle )
+ {
+ iMessageDataImpl->AppendAttachmentHandleL( aFileHandle );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::AttachmentHandleArray
+// Returns array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const RArray<RFile>& CMessageData::AttachmentHandleArray() const
+ {
+ return iMessageDataImpl->AttachmentHandleArray();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::DataType
+// Returns data type id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CMessageData::DataType() const
+ {
+ return iDataType;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageData::ClearAddresses
+// Clears all addressee arrays.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMessageData::ClearAddresses()
+ {
+ iMessageDataImpl->ClearAddresses();
+ }
+
+// ---------------------------------------------------------
+// CMessageData::ExternalizeL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CMessageData::ExternalizeL( RWriteStream& aStream ) const
+ {
+ iMessageDataImpl->ExternalizeL( aStream );
+ }
+
+// ---------------------------------------------------------
+// CMessageData::InternalizeL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CMessageData::InternalizeL( RReadStream& aStream )
+ {
+ iMessageDataImpl->InternalizeL( aStream );
+ }
+
+// ---------------------------------------------------------
+// CMessageData::SetOpaqueDataL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C void CMessageData::SetOpaqueDataL( const TDesC8* aData, TUid aDataType )
+ {
+ iMessageDataImpl->SetOpaqueDataL( aData );
+ iDataType = aDataType;
+ }
+
+// ---------------------------------------------------------
+// CMessageData::OpaqueData
+//
+// ---------------------------------------------------------
+//
+EXPORT_C const TPtrC8 CMessageData::OpaqueData() const
+ {
+ return iMessageDataImpl->OpaqueData();
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/CMessageDataImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,643 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the message data for sending services.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <s32file.h>
+#include <txtrich.h>
+#include <eikenv.h>
+#include <s32mem.h>
+#include <s32std.h>
+#include <msvstore.h>
+#include <SenduiConsts.h>
+
+#ifdef RD_MULTIPLE_DRIVE
+#include <driveinfo.h>
+#endif
+
+#include "CMessageDataImpl.h"
+#include "CSendUiAttachment.h"
+
+// CONSTANTS
+const TInt KMDArrayGranularity = 1;
+const TInt KMDRichTextStoreGranularity = 512;
+
+_LIT( KSenduiTempFile, ":\\system\\temp\\sendui\\%x_%x");
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::CMessageDataImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CMessageDataImpl::CMessageDataImpl()
+ : iDataType(KSenduiMsgDataBase)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::ConstructL()
+ {
+ iAttachments = new ( ELeave ) CDesCArrayFlat( KMDArrayGranularity );
+ iToAddresses = new ( ELeave ) CMessageAddressArray( KMDArrayGranularity );
+ iCcAddresses = new ( ELeave ) CMessageAddressArray( KMDArrayGranularity );
+ iBccAddresses = new ( ELeave ) CMessageAddressArray( KMDArrayGranularity );
+
+ CEikonEnv* eikonEnv = CEikonEnv::Static();
+ iBodyText = CRichText::NewL( eikonEnv->SystemParaFormatLayerL(),
+ eikonEnv->SystemCharFormatLayerL() );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CMessageDataImpl* CMessageDataImpl::NewL()
+ {
+ CMessageDataImpl* self = CMessageDataImpl::NewLC();
+
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+CMessageDataImpl* CMessageDataImpl::NewLC()
+ {
+ CMessageDataImpl* self = new (ELeave) CMessageDataImpl;
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+
+ return self;
+ }
+
+
+// Destructor
+CMessageDataImpl::~CMessageDataImpl()
+ {
+ TInt i = 0;
+
+ delete iSubject;
+ delete iAttachments;
+ delete iBodyText;
+ delete iOpaqueData;
+
+ if ( iToAddresses )
+ {
+ iToAddresses->ResetAndDestroy();
+ delete iToAddresses;
+ }
+
+ if ( iCcAddresses )
+ {
+ iCcAddresses->ResetAndDestroy();
+ delete iCcAddresses;
+ }
+
+ if ( iBccAddresses )
+ {
+ iBccAddresses->ResetAndDestroy();
+ delete iBccAddresses;
+ }
+
+ for (i = 0; i < iAttachmentHandles.Count(); i++)
+ {
+ iAttachmentHandles[i].Close();
+ }
+ iAttachmentHandles.Close();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::SetSubjectL
+// Set message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::SetSubjectL( const TDesC* aSubject )
+ {
+ delete iSubject;
+ iSubject = NULL;
+
+ if ( aSubject )
+ {
+ iSubject = aSubject->AllocL();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::Subject
+// Returns message subject.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TPtrC CMessageDataImpl::Subject() const
+ {
+ return iSubject ? TPtrC( *iSubject ) : TPtrC();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendAttachmentL
+// Appends attachment file path to the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendAttachmentL( const TDesC& aFileName )
+ {
+ iAttachments->AppendL( aFileName );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AttachmentArray
+// Returns array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CDesCArray& CMessageDataImpl::AttachmentArray() const
+ {
+ return *iAttachments;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ClearAttachmentArray
+// Clears the array of attachment file paths.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::ClearAttachmentArray()
+ {
+ TInt i( iAttachmentHandles.Count() );
+ iAttachments->Reset();
+
+ while( i-- )
+ {
+ iAttachmentHandles[i].Close();
+ }
+ iAttachmentHandles.Reset();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendToAddressL
+// Encapsulates address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendToAddressL(
+ const TDesC& aAddress,
+ const TDesC& aAlias)
+ {
+ CMessageAddress* messageAddress = CMessageAddress::NewLC();
+
+ messageAddress->SetAddressL( aAddress );
+ messageAddress->SetAliasL( aAlias );
+
+ iToAddresses->AppendL( messageAddress );
+
+ CleanupStack::Pop( messageAddress );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ToAddressArray
+// Returns array of addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CMessageAddressArray& CMessageDataImpl::ToAddressArray() const
+ {
+ return *iToAddresses;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendCcAddressL
+// Encapsulates CC address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendCcAddressL(
+ const TDesC& aCcAddress,
+ const TDesC& aCcAlias)
+ {
+ CMessageAddress* messageAddress = CMessageAddress::NewLC();
+
+ messageAddress->SetAddressL( aCcAddress );
+ messageAddress->SetAliasL( aCcAlias );
+
+ iCcAddresses->AppendL( messageAddress );
+
+ CleanupStack::Pop( messageAddress );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::CcAddressArray
+// Returns array of CC addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CMessageAddressArray& CMessageDataImpl::CcAddressArray() const
+ {
+ return *iCcAddresses;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendBccAddressL
+// Encapsulates Bcc address and alias to CMessageAddress and adds to array.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendBccAddressL(
+ const TDesC& aBccAddress,
+ const TDesC& aBccAlias)
+ {
+ CMessageAddress* messageAddress = CMessageAddress::NewLC();
+
+ messageAddress->SetAddressL( aBccAddress );
+ messageAddress->SetAliasL( aBccAlias );
+
+ iBccAddresses->AppendL( messageAddress );
+
+ CleanupStack::Pop( messageAddress );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::BccAddressArray
+// Returns array of Bcc addresses and aliases.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CMessageAddressArray& CMessageDataImpl::BccAddressArray() const
+ {
+ return *iBccAddresses;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::SetBodyTextL
+// Set message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::SetBodyTextL( const CRichText* aBodyText )
+ {
+ iBodyText->Reset();
+
+ if ( aBodyText )
+ {
+ // Save and restore the rich text object
+ CStreamStore* store = CBufStore::NewLC( KMDRichTextStoreGranularity );
+
+ TStreamId id = aBodyText->StoreL( *store );
+ iBodyText->RestoreL( *store, id );
+
+ CleanupStack::PopAndDestroy( store );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::BodyText
+// Returns message body text.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const CRichText* CMessageDataImpl::BodyText() const
+ {
+ return iBodyText;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AppendAttachmentHandleL
+// Appends attachment handle to the array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::AppendAttachmentHandleL( const RFile& aFileHandle )
+ {
+ if ( !aFileHandle.SubSessionHandle() )
+ {
+ User::Leave( KErrBadHandle );
+ }
+ RFile tempHandle;
+ tempHandle.Duplicate( aFileHandle );
+ CleanupClosePushL( tempHandle );
+ iAttachmentHandles.AppendL( tempHandle );
+ CleanupStack::Pop( );
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::AttachmentHandleArray
+// Returns array of attachment handles.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const RArray<RFile>& CMessageDataImpl::AttachmentHandleArray() const
+ {
+ return iAttachmentHandles;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::DataType
+// Returns data type id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TUid CMessageDataImpl::DataType() const
+ {
+ return iDataType;
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::ClearAddresses
+// Clears all addressee arrays.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageDataImpl::ClearAddresses()
+ {
+ iToAddresses->ResetAndDestroy();
+ iCcAddresses->ResetAndDestroy();
+ iBccAddresses->ResetAndDestroy();
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::ExternalizeL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::ExternalizeL( RWriteStream& aStream ) const
+ {
+ aStream.WriteUint32L( iDataType.iUid );
+
+ TInt length(0);
+ if ( iSubject )
+ {
+ length = iSubject->Length();
+ }
+ aStream.WriteUint32L( length);
+
+ if ( length > 0)
+ {
+ aStream << iSubject->Des();
+ }
+
+ // Store text to a file store
+
+ length = 0;
+
+ if ( iBodyText->DocumentLength() > 0 )
+ {
+ TStreamId streamId(0);
+
+ RFs& fs = CCoeEnv::Static()->FsSession();
+ CFileStore* theStore;
+ TParse fileStoreName;
+
+ HBufC* filenameBuf = HBufC::NewLC(KMaxFileName);
+ TPtr fileName = filenameBuf->Des();
+
+ CreateTempPathL( fileName, fs );
+
+ length = fileName.Length();
+ aStream.WriteUint32L( length );
+ if (length)
+ {
+ aStream << fileName; // write temporary filename
+ }
+
+ theStore = CDirectFileStore::ReplaceLC
+ ( fs, fileName, EFileRead|EFileWrite );
+ theStore->SetTypeL( KDirectFileStoreLayoutUid );
+ // externalize the rich text
+ streamId = iBodyText->StoreL( *theStore ); // Store and get ID
+ CleanupStack::PopAndDestroy( 2, filenameBuf ); // pop and destroy store, filenameBuf
+ aStream << streamId;
+ }
+ else
+ {
+ aStream.WriteUint32L( 0 ); // no file storage
+ }
+
+ TUint32 count = iAttachments->Count();
+ aStream << count; // compressed value
+ for ( TInt ii = 0; ii < count; ++ii )
+ {
+ TPtrC16 text = iAttachments->MdcaPoint(ii);
+
+ aStream.WriteUint32L( text.Length() );
+ aStream << text ;
+ }
+
+ ExternalizeArrayL( iToAddresses, aStream );
+ ExternalizeArrayL( iBccAddresses, aStream );
+ ExternalizeArrayL( iCcAddresses, aStream );
+
+ // Opaque data
+ length = 0;
+ if ( iOpaqueData )
+ {
+ length = iOpaqueData->Length();
+ }
+ aStream.WriteUint32L( length );
+ if ( length > 0 )
+ {
+ aStream << iOpaqueData->Des();
+ }
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::InternalizeL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::InternalizeL( RReadStream& aStream )
+ {
+ TUint32 tmpVal;
+ tmpVal = aStream.ReadUint32L( );
+ iDataType = TUid::Uid( tmpVal );
+
+ tmpVal = aStream.ReadInt32L( );
+ if ( tmpVal )
+ {
+ iSubject = HBufC::NewL( aStream, tmpVal );
+ }
+
+ // something in filestorage
+ tmpVal = aStream.ReadInt32L( );
+ if (tmpVal)
+ {
+ HBufC* fileName = HBufC::NewLC( aStream, tmpVal );
+
+ TStreamId streamId;
+ aStream >> streamId;
+
+ // Restore text from file store
+ RFs& fs = CCoeEnv::Static()->FsSession();
+ CFileStore* theStore;
+
+ theStore = CDirectFileStore::OpenLC(
+ fs,
+ fileName->Des(),
+ EFileRead|EFileShareReadersOnly );
+
+ if (theStore->Type()[0]!= KDirectFileStoreLayoutUid )
+ {
+ User::Leave( KErrUnknown );
+ }
+ // internalize from the store
+ iBodyText->RestoreL( *theStore, streamId );
+ CleanupStack::PopAndDestroy( theStore ); // store
+ fs.Delete( *fileName );
+ CleanupStack::PopAndDestroy( fileName );
+ }
+
+
+ // Filepath attachments
+ TInt count = aStream.ReadUint32L( );
+ HBufC16* buf;
+ for ( TInt ii = 0; ii < count; ++ii )
+ {
+ tmpVal = aStream.ReadUint32L( ); // string length
+ buf = HBufC16::NewLC( aStream, tmpVal );
+ iAttachments->AppendL( *buf );
+ CleanupStack::PopAndDestroy( buf );
+ }
+
+ InternalizeArrayL( iToAddresses, aStream );
+ InternalizeArrayL( iBccAddresses, aStream );
+ InternalizeArrayL( iCcAddresses, aStream );
+
+ tmpVal = aStream.ReadInt32L( );
+ if ( tmpVal )
+ {
+ iOpaqueData = HBufC8::NewL( aStream, tmpVal );
+ }
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::ExternalizeArrayL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::ExternalizeArrayL(
+ CMessageAddressArray* anArray,
+ RWriteStream& aStream ) const
+ {
+
+ TInt count = anArray->Count();
+ aStream.WriteUint32L( count ); // compressed value
+ for ( TInt ii = 0; ii < count; ++ii )
+ {
+ anArray->At(ii)->ExternalizeL( aStream );
+ }
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::InternalizeArrayL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::InternalizeArrayL(
+ CMessageAddressArray* anArray,
+ RReadStream& aStream )
+ {
+ TInt count;
+ count = aStream.ReadUint32L();
+ anArray->Reset();
+ for ( TInt ii = 0; ii < count; ++ii )
+ {
+ CMessageAddress* messageAddress = CMessageAddress::NewLC();
+ messageAddress->InternalizeL( aStream );
+ anArray->AppendL( messageAddress );
+ CleanupStack::Pop( messageAddress );
+ }
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::CreateTempPathL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::CreateTempPathL( TDes16& aPath, RFs& aFs ) const
+ {
+ aPath.Zero();
+
+ TInt drive = EDriveD;
+#ifdef RD_MULTIPLE_DRIVE
+ User::LeaveIfError(
+ DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRam, drive ) );
+#endif
+ TChar driveChar;
+ aFs.DriveToChar( drive, driveChar );
+
+ aPath.Append( driveChar );
+ aPath.Append( KSenduiTempFile );
+
+ TTime time;
+ time.UniversalTime();
+
+ TFileName* tempDir = new (ELeave) TFileName();
+ tempDir->Format(
+ aPath ,
+ I64HIGH( time.Int64() ),
+ I64LOW( time.Int64() ) );
+ aPath = *tempDir;
+ delete tempDir;
+
+ TInt err = aFs.MkDirAll( aPath );
+ if ( err && err != KErrAlreadyExists )
+ {
+ User::Leave( err );
+ }
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::SetOpaqueDataL
+//
+// ---------------------------------------------------------
+//
+void CMessageDataImpl::SetOpaqueDataL( const TDesC8* aData )
+ {
+ delete iOpaqueData;
+ iOpaqueData = NULL;
+ if ( aData )
+ {
+ iOpaqueData = aData->AllocL();
+ }
+ }
+
+// ---------------------------------------------------------
+// CMessageDataImpl::OpaqueData
+//
+// ---------------------------------------------------------
+//
+const TPtrC8 CMessageDataImpl::OpaqueData() const
+ {
+ return iOpaqueData ? TPtrC8( *iOpaqueData ) : TPtrC8();
+ }
+
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/CSendingService.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* 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: CSendingService implementation.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32Base.h>
+#include <ECom.h>
+#include <CSendingService.h>
+#include <CMessageData.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendingService::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingService* CSendingService::NewL(
+ const TUid& aImplementationUid,
+ CCoeEnv& aCoeEnv,
+ CSendUiSingleton& aSingleton )
+ {
+ // Get the instantiation
+ TSendingServiceParams params( aCoeEnv, aSingleton );
+ CSendingService* sendingService =
+ REINTERPRET_CAST(
+ CSendingService*, REComSession::CreateImplementationL(
+ aImplementationUid,
+ _FOFF(CSendingService, iDtor_ID_Key),
+ ¶ms )
+ );
+
+ return sendingService;
+ }
+
+// -----------------------------------------------------------------------------
+// Destructor
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingService::~CSendingService()
+ {
+ REComSession::DestroyedImplementation(iDtor_ID_Key);
+ }
+
+// -----------------------------------------------------------------------------
+// C++ constructor
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingService::CSendingService( CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton )
+ : iCoeEnv( aCoeEnv ),
+ iSingleton( aSingleton )
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/CSendingServiceInfo.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,281 @@
+/*
+* Copyright (c) 2002-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: Encapsulates the ECom plugged sending service data.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <CSendingServiceInfo.h>
+#include "SendingServiceInfoImpl.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::CSendingServiceInfo
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfo::CSendingServiceInfo()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfo::ConstructL()
+ {
+ iServiceInfoImpl = CSendingServiceInfoImpl::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingServiceInfo* CSendingServiceInfo::NewL()
+ {
+ CSendingServiceInfo* self = CSendingServiceInfo::NewLC();
+
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CSendingServiceInfo::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+EXPORT_C CSendingServiceInfo* CSendingServiceInfo::NewLC()
+ {
+ CSendingServiceInfo* self = new (ELeave) CSendingServiceInfo;
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+
+ return self;
+ }
+
+
+// Destructor
+EXPORT_C CSendingServiceInfo::~CSendingServiceInfo()
+ {
+ delete iServiceInfoImpl;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::CopyLC
+// Creates a copy of CSendingServiceInfo object.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendingServiceInfo* CSendingServiceInfo::CopyLC() const
+ {
+ CSendingServiceInfo* serviceInfo = new(ELeave)CSendingServiceInfo;
+ CleanupStack::PushL( serviceInfo );
+
+ serviceInfo->iServiceInfoImpl = iServiceInfoImpl->CopyL();
+
+ return serviceInfo;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceNameL
+// Sets service human readable name.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceNameL( const TDesC& aServiceName )
+ {
+ iServiceInfoImpl->SetServiceNameL( aServiceName );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceName
+// Returns service human readable name.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CSendingServiceInfo::ServiceName() const
+ {
+ return iServiceInfoImpl->ServiceName();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceMenuNameL
+// Sets service human readable name for the "Send"-menu.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceMenuNameL(
+ const TDesC& aServiceMenuName )
+ {
+ iServiceInfoImpl->SetServiceMenuNameL( aServiceMenuName );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceMenuName
+// Returns service human readable name for the "Send"-menu.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CSendingServiceInfo::ServiceMenuName() const
+ {
+ return iServiceInfoImpl->ServiceMenuName();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceAddressL
+// Sets service address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceAddressL(
+ const TDesC& aServiceAddress )
+ {
+ iServiceInfoImpl->SetServiceAddressL( aServiceAddress );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceAddress
+// Returns service address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C const TPtrC CSendingServiceInfo::ServiceAddress() const
+ {
+ return iServiceInfoImpl->ServiceAddress();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceId
+// Sets service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceId( TUid aServiceId )
+ {
+ iServiceInfoImpl->SetServiceId( aServiceId );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendingServiceInfo::ServiceId() const
+ {
+ return iServiceInfoImpl->ServiceId();
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetTechnologyTypeId( TUid aTechnologyType )
+ {
+ return iServiceInfoImpl->SetTechnologyTypeId( aTechnologyType );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceId
+// Returns service id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendingServiceInfo::TechnologyTypeId() const
+ {
+ return iServiceInfoImpl->TechnologyTypeId();
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceProviderId
+// Sets service provider id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceProviderId( TUid aServiceProviderId )
+ {
+ iServiceInfoImpl->SetServiceProviderId( aServiceProviderId );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceProviderId
+// Returns service provider id.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendingServiceInfo::ServiceProviderId() const
+ {
+ return iServiceInfoImpl->ServiceProviderId();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceCapabilities
+// Set service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceCapabilities(
+ TSendingCapabilities aServiceCapabilities )
+ {
+ iServiceInfoImpl->SetServiceCapabilities( aServiceCapabilities );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceCapabilities
+// Returns service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TSendingCapabilities CSendingServiceInfo::ServiceCapabilities() const
+ {
+ return iServiceInfoImpl->ServiceCapabilities();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::SetServiceCapabilities
+// Set service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendingServiceInfo::SetServiceFeatures(
+ TInt aServiceFeatures )
+ {
+ iServiceInfoImpl->SetServiceFeatures( aServiceFeatures );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfo::ServiceCapabilities
+// Returns service sending capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CSendingServiceInfo::ServiceFeatures() const
+ {
+ return iServiceInfoImpl->ServiceFeatures();
+ }
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/MessageAddressImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
+* Encapsulates message real address and alias.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "MessageAddressImpl.h"
+#include <msvstore.h>
+#include <sendui.h>
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMessageDataImpl::CMessageAddressImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CMessageAddressImpl::CMessageAddressImpl()
+ {
+ }
+
+// Destructor
+CMessageAddressImpl::~CMessageAddressImpl()
+ {
+ delete iRealAddress;
+ delete iAlias;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::SetAddressL
+// Sets real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::SetAddressL( const TDesC& aAddress )
+ {
+ delete iRealAddress;
+ iRealAddress = NULL;
+ iRealAddress = aAddress.AllocL();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::SetAliasL
+// Sets alias for real address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::SetAliasL( const TDesC& aAlias )
+ {
+ delete iAlias;
+ iAlias = NULL;
+ iAlias = aAlias.AllocL();
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::ExternalizeL
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::ExternalizeL( RWriteStream& aStream ) const
+ {
+ TInt length(0);
+
+ if (iAlias)
+ {
+ length = iAlias->Length();
+ }
+
+ aStream.WriteUint32L( length );
+
+ if ( length )
+ {
+ aStream << iAlias->Des();
+ }
+
+ if (iRealAddress)
+ {
+ length = iRealAddress->Length();
+ }
+ else
+ {
+ length = 0;
+ }
+
+ aStream.WriteUint32L( length );
+
+ if ( length )
+ {
+ aStream << iRealAddress->Des();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMessageAddressImpl::InternalizeL
+// -----------------------------------------------------------------------------
+//
+void CMessageAddressImpl::InternalizeL( RReadStream& aStream )
+ {
+ if ( aStream.ReadUint32L( ) )
+ {
+ iAlias = NULL;
+ iAlias = HBufC::NewL(aStream, KMaxLength);
+ }
+
+ if ( aStream.ReadUint32L( ) )
+ {
+ iRealAddress = NULL;
+ iRealAddress = HBufC::NewL( aStream, KMaxLength );
+ }
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/SendUi.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,310 @@
+/*
+* Copyright (c) 2002-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: Can be used to show "Send" list query and to create and send
+* messages via available sending services. Created messages are
+* sent directly or message editor is opened for editing,
+* depending on the type of the selected service.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <sendui.h>
+#include "SendUiImpl.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUi::CSendUi
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUi::CSendUi()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUi::ConstructL()
+ {
+ iSendUiImpl = CSendUiImpl::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUi* CSendUi::NewL()
+ {
+ CSendUi* self = CSendUi::NewLC();
+
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CSendUi::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+EXPORT_C CSendUi* CSendUi::NewLC()
+ {
+ CSendUi* self = new (ELeave) CSendUi;
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+
+ return self;
+ }
+
+// Destructor
+EXPORT_C CSendUi::~CSendUi()
+ {
+ delete iSendUiImpl;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::AddSendMenuItemL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::AddSendMenuItemL(
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+ iSendUiImpl->AddTypedMenuItemL(
+ ESendMenu,
+ aMenuPane,
+ aIndex,
+ aCommandId,
+ aRequiredCapabilities);
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowQueryAndSendL
+// First shows "Send" pop-up list query and then creates the message.
+// Editor is launched for editing the message or the message is sent
+// directly without opening the editor. Functionality depends on the
+// type of selected sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::ShowQueryAndSendL(
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ TUid /*aBioTypeUid*/,
+ TBool aLaunchEditorEmbedded,
+ const TDesC& aTitleText )
+ {
+ iSendUiImpl->ShowTypedQueryAndSendL(
+ ESendMenu,
+ aMessageData,
+ aRequiredCapabilities,
+ aServicesToDim,
+ aLaunchEditorEmbedded,
+ aTitleText );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowSendQueryL
+// Shows "Send" pop-up list query and returns the user selection.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendUi::ShowSendQueryL(
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ const TDesC& aTitleText )
+ {
+ return iSendUiImpl->ShowTypedQueryL(
+ ESendMenu,
+ aMessageData,
+ aRequiredCapabilities,
+ aServicesToDim,
+ aTitleText );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::CreateAndSendMessageL
+// Creates the message and launches the editor for editing the message
+// or sends the message directly without opening the editor.
+// Functionality depends on the type of selected sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::CreateAndSendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TUid /*aBioTypeUid*/,
+ TBool aLaunchEditorEmbedded )
+ {
+ iSendUiImpl->CreateAndSendMessageL(
+ aServiceUid,
+ aMessageData,
+ aLaunchEditorEmbedded );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ValidateServiceL
+// Validates that service is available and has required capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUi::ValidateServiceL(
+ TUid aServiceUid,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+ return iSendUiImpl->QueryCapabilities(
+ iSendUiImpl->ResolveServiceIndex( aServiceUid ),
+ aRequiredCapabilities );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ServiceCapabilitiesL
+// Returns sending capabilities of the sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CSendUi::ServiceCapabilitiesL(
+ TUid aServiceUid,
+ TSendingCapabilities& aServiceCapabilities )
+ {
+ return iSendUiImpl->ServiceCapabilities(
+ aServiceUid, aServiceCapabilities );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::CanSendBioMessage
+// Can be used to check if sending of bio message is supported.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CSendUi::CanSendBioMessage( TUid /*aBioMessageUid*/ ) const
+ {
+ return EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::AvailableServicesL
+// Populates given list with the information about services
+// provided by specified ECom service provider.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::AvailableServicesL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ TUid aServiceProvider)
+ {
+ iSendUiImpl->AvailableServicesL( aServiceList, aServiceProvider );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::AddTypedMenuItemL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::AddTypedMenuItemL(
+ TSendUiMenuType aMenuType,
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+ iSendUiImpl->AddTypedMenuItemL(
+ aMenuType,
+ aMenuPane,
+ aIndex,
+ aCommandId,
+ aRequiredCapabilities);
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowTypedQueryAndSendL
+// First shows list query and then creates the message.
+// Editor is launched for editing the message or the message is sent
+// directly without opening the editor. Functionality depends on the
+// type of selected sending service.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CSendUi::ShowTypedQueryAndSendL(
+ TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ TUid /*aBioTypeUid*/,
+ TBool aLaunchEditorEmbedded,
+ const TDesC& aTitleText )
+ {
+ iSendUiImpl->ShowTypedQueryAndSendL(
+ aMenuType,
+ aMessageData,
+ aRequiredCapabilities,
+ aServicesToDim,
+ aLaunchEditorEmbedded,
+ aTitleText );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::ShowTypedQueryL
+// Shows list query and returns the user selection.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendUi::ShowTypedQueryL(
+ TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ const TDesC& aTitleText )
+ {
+ return iSendUiImpl->ShowTypedQueryL(
+ aMenuType,
+ aMessageData,
+ aRequiredCapabilities,
+ aServicesToDim,
+ aTitleText );
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUi::TechnologyType
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TUid CSendUi::TechnologyType( TUid aServiceUid ) const
+ {
+ return iSendUiImpl->TechnologyType( aServiceUid );
+ }
+
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/SendUiCapabilityCheck.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2002-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: Utility class for SendUI.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <s32mem.h>
+#include <e32base.h>
+#include <mtclbase.h>
+#include <tmsvpackednotifierrequest.h>
+
+#include "SendUiCapabilityCheck.h"
+
+// CONSTANTS
+const TUid KSendUiNotifierPluginUid = {0x10282895};
+const TInt32 KSendUiServiceMaxNameLength = 40; // original defined in SendUIPrivateCRKeys.h
+const TInt32 KSendUiNotifierBufferSize = KSendUiServiceMaxNameLength + sizeof(TUint32);
+
+typedef TBuf8<KSendUiNotifierBufferSize> TTransferBuf;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck:CSendUiCapabilityCheck
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiCapabilityCheck::CSendUiCapabilityCheck()
+ : CActive( EPriorityStandard )
+ {
+ CActiveScheduler::Add( this );
+ iNotifierUid = KSendUiNotifierPluginUid;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendUiCapabilityCheck* CSendUiCapabilityCheck::NewLC()
+ {
+ CSendUiCapabilityCheck* self = new (ELeave) CSendUiCapabilityCheck();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSendUiCapabilityCheck::ConstructL()
+ {
+ User::LeaveIfError( iNotifier.Connect() );
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::CheckCapabilitiesL
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiCapabilityCheck::CheckCapabilitiesL(
+ const TSecurityInfo& aSecurityInfo,
+ CMsvSession& aSession,
+ const TUid aMtmType,
+ const TDesC& aServiceName )
+ {
+ TBool capabilitiesOK = EFalse;
+ // get required capabilities
+ TCapabilitySet caps;
+ aSession.GetMtmRequiredCapabilitiesL( aMtmType, caps );
+
+ // check client capabilities with required capabilities
+ if( aSecurityInfo.iCaps.HasCapabilities( caps ) )
+ {
+ capabilitiesOK = ETrue;
+ }
+ else
+ {
+ // compile a message buffer containing service name and service ID
+ TInt nameLength = aServiceName.Length();
+ CBufFlat* buffer = CBufFlat::NewL( nameLength + sizeof(TUint32) );
+ CleanupStack::PushL( buffer );
+
+ RBufWriteStream bufStream;
+ bufStream.Open( *buffer );
+ bufStream.WriteUint32L( nameLength );
+
+ if ( nameLength )
+ {
+ bufStream << aServiceName;
+ }
+ bufStream.WriteUint32L( aSecurityInfo.iSecureId );
+ bufStream.CommitL();
+ bufStream.Close();
+
+ TTransferBuf transferBuffer;
+ buffer->Read( 0, transferBuffer, buffer->Size() );
+ CleanupStack::PopAndDestroy( buffer );
+
+ iNotifier.StartNotifierAndGetResponse( iStatus, iNotifierUid, transferBuffer, iNotifierResult );
+ SetActive();
+ iWait.Start();
+
+ if ( iStatus == KErrNone )
+ {
+ capabilitiesOK = ETrue;
+ }
+ }
+
+ return capabilitiesOK;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::~CSendUiCapabilityCheck
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSendUiCapabilityCheck::~CSendUiCapabilityCheck()
+ {
+ iNotifier.Close();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::RunL
+// -----------------------------------------------------------------------------
+//
+void CSendUiCapabilityCheck::RunL()
+ {
+ iWait.AsyncStop();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiCapabilityCheck::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CSendUiCapabilityCheck::DoCancel()
+ {
+ iNotifier.NotifyCancel();
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/SendUiDummyMtm.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* 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: SendUiDummyMtm implementation
+*
+*/
+
+
+
+#include "SendUiDummyMtm.h"
+#include <mtclbase.h>
+
+CSendUiDummyMtm::CSendUiDummyMtm(
+ CRegisteredMtmDll& aRegisteredMtmDll,
+ CMsvSession& aSession ) :
+ CBaseMtm( aRegisteredMtmDll, aSession )
+ {
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/SendUiImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,1256 @@
+/*
+* Copyright (c) 2002-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: Can be used to show "Send" list query and to create and send
+* messages via available sending services. Created messages are
+* sent directly or message editor is opened for editing,
+* depending on the type of the selected service.
+*
+*/
+
+
+#include <coemain.h>
+#include <Sendnorm.rsg>
+#include <AknListQueryDialog.h>
+#include <eikmenup.h>
+#include <data_caging_path_literals.hrh>
+#include <DRMHelper.h>
+#include <centralrepository.h>
+#include <e32cmn.h> // Uid
+#include <e32property.h>
+#include <barsread.h>
+#include <akninputblock.h>
+#include <centralrepository.h>
+#include <miutset.h>
+#include <MessagingDomainCRKeys.h>
+
+// Features
+#include <FeatMgr.h>
+#include <bldvariant.hrh>
+#include <msgmimetypes.h>
+#include <CSendingServiceInfo.h>
+#include <CSendingService.h>
+#include <CMessageData.h>
+#include <SendUiConsts.h>
+#include <senduisingleton.h>
+
+#include "SendUiImpl.h"
+#include "senduiserviceclient.h"
+#include "SendUiCapabilityCheck.h"
+#include "SendUiUtils.h"
+#include "senduiserviceslog.h" // Logging
+#include "SendUiPrivateCRKeys.h"
+#include "senduiproperty.h"
+#include "propertyobserver.h"
+#include "senduilauncher.h"
+#include "SendUiInternalConsts.h"
+
+
+const TInt KArrayGranularity = 2;
+const TInt KSendUiServiceOrderArrayGranularity = 6;
+const TInt KTitleBufLength = 64;
+
+
+_LIT( KSendUiResourceFileName,"sendnorm.rsc" );
+
+// ======== MEMBER FUNCTIONS ========
+// -----------------------------------------------------------------------------
+// CSendUiImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendUiImpl* CSendUiImpl::NewL()
+ {
+ CSendUiImpl* self = new( ELeave ) CSendUiImpl;
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSendUiImpl::~CSendUiImpl()
+ {
+ iResourceLoader.Close();
+ TInt count = iSendingServices.Count();
+ while ( count )
+ {
+ delete iSendingServices[--count];
+ }
+ iSendingServices.Close();
+ delete iSendUiServicesOrderArray;
+ delete iServicesToDim;
+ delete iPropertyObserver;
+ delete iSingleton;
+ }
+
+// -----------------------------------------------------------------------------
+// AddTypedMenuItemL
+//
+// No menu item is added, if services are not found. This can happen if asyncronous
+// sending service update is not yet finished.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::AddTypedMenuItemL(
+ CSendUi::TSendUiMenuType aMenuType,
+ CEikMenuPane& aMenuPane,
+ TInt aIndex,
+ TInt aCommandId,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+ TInt i(0);
+ TBool menuItemAdded = EFalse;
+ TBuf<KTitleBufLength> menuItemName;
+
+ // Read the resources
+ aMenuType == CSendUi::ESendMenu ?
+ i = R_SENDUI_MENUITEM_SEND :
+ i = R_SENDUI_MENUITEM_WRITE; // CSendUi::EWriteMenu
+
+ iCoeEnv->ReadResourceL( menuItemName, i );
+
+ for ( i = 0; i < iSendingServices.Count(); i++ )
+ {
+ TUid serviceUid = iSendingServices[i]->ServiceId();
+ if ( QueryCapabilities( i, aRequiredCapabilities ) )
+ {
+ CEikMenuPaneItem::SData data;
+ data.iCascadeId = NULL;
+ data.iText = menuItemName;
+ data.iCommandId = aCommandId;
+
+ if ( aIndex == aMenuPane.NumberOfItemsInPane() )
+ {
+ aMenuPane.AddMenuItemL( data );
+ }
+ else
+ {
+ aMenuPane.InsertMenuItemL( data, aIndex );
+ }
+
+ menuItemAdded = ETrue;
+ break;
+ }
+ }
+
+ // Hide menu item if sending is already in progress.
+ if ( menuItemAdded )
+ {
+ aMenuPane.SetItemDimmed( aCommandId, iIsSending);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// ShowTypedQueryAndSendL
+// First shows list query and then creates the message.
+// Editor is launched for editing the message or the message is sent
+// directly without opening the editor. Functionality depends on the
+// type of selected sending service.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::ShowTypedQueryAndSendL(
+ CSendUi::TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ TBool aLaunchEditorEmbedded,
+ const TDesC& aTitleText )
+ {
+ TUid serviceId = ShowTypedQueryL(
+ aMenuType,
+ aMessageData,
+ aRequiredCapabilities,
+ aServicesToDim,
+ aTitleText );
+
+ if ( serviceId != KNullUid )
+ {
+ // Process user selection.
+ CreateAndSendMessageL(
+ serviceId,
+ aMessageData,
+ aLaunchEditorEmbedded);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// ShowTypedQueryL
+// Shows list query and returns the user selection.
+// -----------------------------------------------------------------------------
+//
+TUid CSendUiImpl::ShowTypedQueryL(
+ CSendUi::TSendUiMenuType aMenuType,
+ const CMessageData* aMessageData,
+ TSendingCapabilities aRequiredCapabilities,
+ CArrayFix<TUid>* aServicesToDim,
+ const TDesC& aTitleText )
+ {
+ // Implemented for CR # 401-1806 >>
+ // This section to enable/disable features (supported by feature manager) at run time, is to be revised,
+ // once an observer class is available from feature manager side to intimate about feature state
+
+ CRepository* repository = CRepository::NewLC( KCRUidSendUi );
+ TInt oldFeatures(0);
+ TInt newFeatures(0);
+ TBool updateNeeded( EFalse );
+
+ if ( repository->Get( KKeySendUiFeatureManagerServices, oldFeatures ) != KErrNone )
+ {
+ updateNeeded = ETrue;
+ }
+ FeatureManager::InitializeLibL();
+ FeatureStatus( KFeatureIdMmsPostcard, newFeatures, KSendUiPostcard );
+ FeatureStatus( KFeatureIdAudioMessaging, newFeatures, KSendUiAudioMessage );
+ FeatureStatus( KFeatureIdSenduiMmsUpload, newFeatures, KSendUiMmsUpload );
+ FeatureManager::UnInitializeLib();
+ if ( newFeatures != oldFeatures )
+ {
+ repository->Set( KKeySendUiFeatureManagerServices, newFeatures );
+ updateNeeded = ETrue;
+ }
+
+ CleanupStack::PopAndDestroy( repository );
+
+ RProperty propertyUpdateOperation;
+ TRequestStatus status;
+ if ( updateNeeded )
+ {
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateRequest,
+ KSendUiUpdateRequested );
+ User::LeaveIfError( propertyUpdateOperation.Attach( KPSUidSendUiProperty, KSendUiUpdateRequest ));
+ propertyUpdateOperation.Subscribe( status );
+ User::WaitForRequest(status);
+ TInt value = KErrNone;
+ if(propertyUpdateOperation.Get( value ) !=KErrNotFound && value == KSendUiUpdated )
+ {
+ TRAPD( err, GetServicesL() );
+ if ( err )
+ {
+#ifdef _DEBUG
+ TBuf<256> buf;
+ buf.Format(_L("SendUi err"));
+ User::InfoPrint(buf);
+#endif
+ TUid serviceId( KNullUid );
+ return serviceId;
+ }
+ }
+ propertyUpdateOperation.Close();
+ }
+ // Implemented for CR # 401-1806 <<
+ // List items for list query.
+ CDesCArrayFlat* listItems = new (ELeave) CDesCArrayFlat( KArrayGranularity );
+ CleanupStack::PushL( listItems);
+
+ // This array is used to map user selection to correct service.
+ CArrayFix<TUid>* listItemUids =
+ new ( ELeave ) CArrayFixFlat<TUid>( KArrayGranularity );
+ CleanupStack::PushL( listItemUids );
+
+ iServicesToDim->Reset();
+
+ TInt i = 0;
+ if ( aServicesToDim )
+ {
+ for ( i = 0; i < aServicesToDim->Count(); i++ )
+ {
+ iServicesToDim->AppendL( (*aServicesToDim)[i] );
+ }
+ }
+
+ // Get and filter ECom based services.
+ FilterServicesL(
+ *listItems,
+ *listItemUids,
+ aRequiredCapabilities,
+ aMessageData,
+ aMenuType );
+
+ TUid serviceId( KNullUid );
+ if ( listItems->Count() > 0 )
+ {
+ // Show list query.
+ SortListL( *listItems, *listItemUids );
+
+ serviceId = ShowListQueryL(
+ listItems,
+ *listItemUids,
+ aTitleText,
+ aMenuType );
+ }
+
+ CleanupStack::PopAndDestroy( 2, listItems ); // listItemUids, listItems
+
+ return serviceId;
+ }
+
+// -----------------------------------------------------------------------------
+// SendMessageL
+// -----------------------------------------------------------------------------
+TInt CSendUiImpl::SendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded)
+ {
+ if ( iIsSending || aServiceUid == KNullUid )
+ {
+ return KErrNone;
+ }
+
+ CAknInputBlock* absorber = CAknInputBlock::NewLC( );
+ // Ensures proper sending state if leave happens.
+ iIsSending = ETrue;
+ TInt success( KErrNone );
+ CleanupStack::PushL( TCleanupItem( ResetIsSending, (TAny*)&iIsSending ) );
+
+ // Create the requested ECom service.
+ TInt i( ResolveServiceIndex( aServiceUid ));
+ if ( i != KErrNotFound )
+ {
+ TRAP( success,
+ CSendingService* sendingService = CSendingService::NewL(
+ iSendingServices[i]->ServiceProviderId(), *iCoeEnv, *iSingleton );
+ CleanupStack::PushL( sendingService );
+
+ sendingService->CreateAndSendMessageL( aServiceUid, aMessageData, aLaunchEditorEmbedded );
+ CleanupStack::PopAndDestroy( sendingService );
+ );
+
+ }
+ else
+ {
+ iIsSending = EFalse;
+ }
+ CleanupStack::PopAndDestroy( 2, absorber); // TCleanupItem, absorber
+ return success;
+ }
+
+// -----------------------------------------------------------------------------
+// SendMessageViaServer
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::SendMessageViaServerL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded )
+ {
+ TInt index( ResolveServiceIndex( aServiceUid ));
+ TBool capabilitiesOk = ETrue;
+ if ( index == KErrNotFound )
+ {
+ return;
+ }
+ if ( iSendingServices[index]->ServiceFeatures() & CSendingServiceInfo::EServiceCanSendDirectly )
+ {
+ // Check sending rights
+ RProcess process;
+ TSecurityInfo securityInfo( process );
+ CSendUiCapabilityCheck* capabilityCheck = CSendUiCapabilityCheck::NewLC();
+
+ capabilitiesOk = capabilityCheck->CheckCapabilitiesL(
+ securityInfo,
+ iSingleton->MsvSessionL(),
+ KSenduiMtmMmsUid,
+ iSendingServices[index]->ServiceName() );
+
+ CleanupStack::PopAndDestroy( capabilityCheck );
+ }
+
+ if ( capabilitiesOk )
+ {
+ TUid providerUid = iSendingServices[index]->ServiceProviderId();
+ RSendUiServiceClient sendUiClient;
+ CleanupClosePushL( sendUiClient );
+ sendUiClient.ConnectChainedAppL( KSendUiLauncherAppUid );
+ // LaunchSendUiL is syncronous operation
+ sendUiClient.LaunchSendUiL(
+ aServiceUid,
+ providerUid,
+ aLaunchEditorEmbedded,
+ aMessageData );
+ CleanupStack::PopAndDestroy( &sendUiClient);
+ }
+
+ }
+
+// -----------------------------------------------------------------------------
+// CreateAndSendMessageL
+// Creates the message and launches the editor for editing the message
+// or sends the message directly without opening the editor.
+// Functionality depends on the type of selected sending service.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::CreateAndSendMessageL(
+ TUid aServiceUid,
+ const CMessageData* aMessageData,
+ TBool aLaunchEditorEmbedded )
+ {
+ LOGTEXT(_L("CSendUiImpl::CreateAndSendMessageL >>"));
+ TInt err(0); // initializing this to 0 helps debugging SendMessageViaServerL
+ err = SendMessageL( aServiceUid, aMessageData, aLaunchEditorEmbedded );
+ if ( !iServerAppLaunch && ( err == KErrPermissionDenied || err == KErrAccessDenied ) )
+ {
+ SendMessageViaServerL( aServiceUid, aMessageData, aLaunchEditorEmbedded );
+ }
+ else
+ {
+ User::LeaveIfError( err );
+ }
+ LOGTEXT(_L("CSendUiImpl::CreateAndSendMessageL <<"));
+ }
+
+// -----------------------------------------------------------------------------
+// ServiceCapabilitiesL
+// Returns sending capabilities of the sending service.
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiImpl::ServiceCapabilities(
+ TUid aServiceUid,
+ TSendingCapabilities& aServiceCapabilities )
+ {
+ TInt i( ResolveServiceIndex( aServiceUid ));
+
+ if ( i != KErrNotFound )
+ {
+ aServiceCapabilities =
+ iSendingServices[i]->ServiceCapabilities();
+ i = KErrNone;
+ }
+ return i;
+ }
+
+// -----------------------------------------------------------------------------
+// AvailableServicesL
+// Populates given list with the information about services
+// provided by specified ECom service provider.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+void CSendUiImpl::AvailableServicesL(
+ RPointerArray<CSendingServiceInfo>& aServiceList,
+ TUid aServiceProvider)
+ {
+ for ( TInt i(0); i < iSendingServices.Count(); i++ )
+ {
+ if ( iSendingServices[i]->ServiceProviderId() == aServiceProvider
+ || aServiceProvider == KNullUid )
+ {
+ CSendingServiceInfo* serviceInfo = iSendingServices[i]->CopyLC();
+ aServiceList.AppendL( serviceInfo );
+ CleanupStack::Pop( serviceInfo ); // serviceInfo
+ }
+ }
+ }
+// -----------------------------------------------------------------------------
+// TechnologyType
+// -----------------------------------------------------------------------------
+//
+TUid CSendUiImpl::TechnologyType( TUid aServiceUid )
+ {
+ TInt i = ResolveServiceIndex( aServiceUid );
+ if ( i != KErrNotFound )
+ {
+ return iSendingServices[i]->TechnologyTypeId();
+ }
+ else
+ {
+ return TUid::Null();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TInt CSendUiImpl::ResolveServiceIndex( TUid aServiceUid )
+ {
+ TInt index( iSendingServices.Count() );
+
+ while( --index >= 0)
+ {
+ if ( iSendingServices[index]->ServiceId() == aServiceUid )
+ {
+ return index;
+ }
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
+// QueryCapabilities
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiImpl::QueryCapabilities(
+ TInt index,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+ if ( index == KErrNotFound )
+ {
+ return EFalse;
+ }
+
+ if ( aRequiredCapabilities.iFlags == TSendingCapabilities::EAllServices )
+ {
+ // No capabilities required from service
+ return ETrue;
+ }
+ TSendingCapabilities serviceCap = iSendingServices[ index ]->ServiceCapabilities();
+
+ if ( !(serviceCap.iMessageSize == 0 // no size limit set for the service
+ || aRequiredCapabilities.iMessageSize == 0 ) // no size limit asked from the client
+ && aRequiredCapabilities.iMessageSize > serviceCap.iMessageSize )
+ {
+ return EFalse;
+ }
+
+ // Check if support for attachments are required.
+ if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsAttachments
+ && serviceCap.iFlags & TSendingCapabilities::ESupportsAttachments )
+ {
+ return ETrue;
+ }
+
+ // Check if support for body text is required.
+ if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsBodyText )
+ {
+ if ( serviceCap.iFlags & TSendingCapabilities::ESupportsBodyText )
+ {
+ if ( serviceCap.iBodySize > 0 && aRequiredCapabilities.iBodySize > serviceCap.iBodySize )
+ {
+ return EFalse; // size limit defined and it is enough
+ }
+ // no size limit in service for bodytext or required size below max size.
+ return ETrue;
+ }
+ }
+
+
+ // Check if support for BIO sending is required.
+ if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsBioSending
+ && serviceCap.iFlags & TSendingCapabilities::ESupportsBioSending )
+ {
+ return ETrue;
+ }
+
+ // Check if support for editor is required.
+ if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsEditor
+ && serviceCap.iFlags & TSendingCapabilities::ESupportsEditor )
+ {
+ return ETrue;
+ }
+ return EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl::GetServicesL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+void CSendUiImpl::GetServicesL( )
+{
+ TInt value(0);
+ TInt serviceCount;
+ TInt cleanupItems(0);
+
+ CRepository* rep = CRepository::NewLC( KCRUidSendUi );
+ cleanupItems++;
+ TInt err = rep->Get( KKeySendUiServiceCount, serviceCount );
+
+ if ( err )
+ {
+ LOGTEXT(_L("SendUiImpl->GetServicesL: Cenrep init file missing"));
+ CleanupStack::PopAndDestroy( rep );
+ return;
+ }
+ else
+ {
+ if ( serviceCount == KSendUiNotInitialized )
+ {
+ // Services has not been initialized, launch service resolver in the bacground.
+ CleanupStack::PopAndDestroy( rep);
+ // iSendingServices are updated, when update is done.
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateRequest,
+ KSendUiUpdateRequested);
+
+ return;
+ }
+ }
+
+ while ( iSendingServices.Count() )
+ {
+ delete iSendingServices[0];
+ iSendingServices.Remove(0);
+ }
+
+ HBufC* text = HBufC::NewLC( KSendUiServiceMaxNameLength );
+ cleanupItems++;
+ TPtr ptr = text->Des();
+ TInt key;
+ for( TInt i(0); i < serviceCount; i++ )
+ {
+ key = KSendUiServiceIndex * i;
+ CSendingServiceInfo* info = CSendingServiceInfo::NewLC();
+
+ err = rep->Get( key | KSendUiServiceId, value );
+ if (!err )
+ {
+ info->SetServiceId( TUid::Uid( value ));
+ }
+
+ err = rep->Get( key | KSendUiServiceProviderId, value );
+ if (!err )
+ {
+ info->SetServiceProviderId( TUid::Uid( value ));
+ }
+
+ err = rep->Get( key | KSendUiServiceName, ptr );
+ if (!err)
+ {
+ __ASSERT_DEBUG( ptr.Length() <= KSendUiServiceMaxNameLength, User::Invariant() );
+ info->SetServiceNameL( ptr );
+ }
+
+ err = rep->Get( key | KSendUiServiceMenuName, ptr );
+ if (!err)
+ {
+ __ASSERT_DEBUG( ptr.Length() <= KSendUiServiceMaxNameLength, User::Invariant() );
+ info->SetServiceMenuNameL( ptr );
+ }
+
+ err = rep->Get( key | KSendUiServiceAddress, ptr );
+ if (!err)
+ {
+ __ASSERT_DEBUG( ptr.Length() <= KSendUiServiceMaxNameLength, User::Invariant() );
+ info->SetServiceAddressL( ptr );
+ }
+
+ TSendingCapabilities cap;
+
+ err = rep->Get( key | KSendUiServiceFlags, value );
+ if (!err)
+ {
+ cap.iFlags = value;
+ }
+
+ err = rep->Get( key | KSendUiServiceBodySize, value );
+ if (!err)
+ {
+ cap.iBodySize = value;
+ }
+
+ err = rep->Get( key | KSendUiServiceMessageSize, value );
+ if (!err)
+ {
+ cap.iMessageSize = value;
+ }
+
+
+ err = rep->Get( key | KSendUiServiceTechnologyType, value );
+ if (!err )
+ {
+ info->SetTechnologyTypeId( TUid::Uid( value ));
+ }
+
+ err = rep->Get( key | KSendUiServiceFeatures, value );
+ if (!err)
+ {
+ info->SetServiceFeatures( value );
+ }
+
+ if (!err)
+ {
+ info->SetServiceCapabilities( cap );
+ iSendingServices.Append( info );
+ CleanupStack::Pop( info);
+ }
+
+ }
+
+ CleanupStack::PopAndDestroy( cleanupItems, rep); // text, rep
+
+}
+
+// ---------------------------------------------------------
+// ShowListQueryL(
+// Displays list query.
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TUid CSendUiImpl::ShowListQueryL(
+ MDesCArray* aListItems,
+ const CArrayFix<TUid>& aListItemUids,
+ const TDesC& aTitleText,
+ CSendUi::TSendUiMenuType aMenuType )
+ {
+ // Show list query.
+ TInt choice = KErrNotFound;
+ CAknListQueryDialog* dlg = new (ELeave) CAknListQueryDialog( &choice );
+ TInt ret = 0;
+ TRAPD( err,
+ dlg->PrepareLC( R_SENDUI_LIST_QUERY );
+ dlg->SetItemTextArray( aListItems );
+ dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
+
+ // Set title
+ CAknPopupHeadingPane* heading = dlg->Heading();
+
+ if ( aTitleText != KNullDesC )
+ {
+ heading->SetTextL( aTitleText );
+ }
+ else
+ {
+ HBufC* title;
+ TInt titleId(0);
+ if (aMenuType == CSendUi::ESendMenu )
+ {
+ titleId = R_SENDUI_LIST_QUERY_TITLE ;
+ }
+ else if ( aMenuType == CSendUi::EWriteMenu )
+ {
+ titleId = R_SENDUI_LIST_QUERY_TITLE_WRITE;
+ }
+
+ if ( titleId )
+ {
+ title = iCoeEnv->AllocReadResourceLC( titleId );
+ heading->SetTextL( *title );
+ CleanupStack::PopAndDestroy( title );
+ }
+ }
+
+ ret = dlg->RunLD();
+ ); //end of TRAPD
+
+ if( err == KLeaveExit )
+ {
+ delete dlg;
+ dlg = NULL;
+ }
+
+ if ( !ret )
+ {
+ return KNullUid;
+ }
+ return aListItemUids.At( choice );
+ }
+
+
+// -----------------------------------------------------------------------------
+// CanSendContentL
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiImpl::CanSendContentL(
+ TUid aServiceUid,
+ TUid aServiceProviderId,
+ const CMessageData* aMessageData,
+ TDataType* aMimeType )
+ {
+ // Other ecoms are filtered by their base provider, but versitile MTMs under
+ // GenericMtmPlugin have filtering by their serviceUid
+ if ( aServiceProviderId != KGenericMtmPlugin )
+ {
+ aServiceUid = aServiceProviderId;
+ }
+ // Content based filtering is done only for some selected services.
+ // Cannot filter with no data, certain services and audio message (if no audiomessage support)
+ if ( !aMessageData ||
+ !( aServiceUid == KDrmLinkSender ||
+ aServiceUid == KSenduiMtmPostcardUid ||
+ aServiceUid == KMmsDirectUpload ||
+ aServiceUid == KMmsIndirectUpload ||
+ aServiceUid == KSenduiMtmAudioMessageUid ||
+ aServiceUid == KSenduiMtmSmsUid ) )
+ {
+ return ETrue;
+ }
+
+
+ const CDesCArray& attachmentPaths = aMessageData->AttachmentArray();
+ const RArray<RFile>& attachments = aMessageData->AttachmentHandleArray();
+
+ TInt attachmentCount = attachmentPaths.Count() + attachments.Count();
+
+ if ( attachmentCount == 0 )
+ { // No content to send
+
+ if ( aServiceUid == KDrmLinkSender )
+ {
+ return EFalse;
+ }
+ TInt bodyTextLength = aMessageData->BodyText()->DocumentLength();
+ // Dim MMS Upload services, if there is no bodytext
+ if ( ( aServiceUid == KMmsDirectUpload
+ || aServiceUid == KMmsIndirectUpload )
+ && bodyTextLength == 0 )
+ {
+ return EFalse; // bodytext will be converted into attachment
+ }
+ // Dim Audio message, if there is bodytext
+ if ( aServiceUid == KSenduiMtmAudioMessageUid
+ && bodyTextLength > 0 )
+ {
+ return EFalse;
+ }
+ return ETrue;
+ }
+ else if ( attachmentCount == 1 )
+ {
+ TBool result = ETrue;
+
+ switch ( aServiceUid.iUid )
+ {
+ case KSenduiMtmSmsUidValue:
+ {
+ if ( aMimeType->Des8().CompareF( KMsgMimeVCard ) != 0 &&
+ aMimeType->Des8().CompareF( KMsgMimeVCal ) != 0 )
+ {
+ result = EFalse;
+ }
+ break;
+ }
+ case KSenduiMtmPostcardUidValue:
+ {
+ if( aMimeType->Des8().CompareF( KMsgMimeImageJpeg ) != 0 &&
+ aMimeType->Des8().CompareF( KMsgMimeImageGif ) != 0 &&
+ aMimeType->Des8().CompareF( KMsgMimeImagePng ) != 0 &&
+ aMimeType->Des8().CompareF( KMsgMimeTextPlain ) != 0 )
+ {
+ // Supported types: jpeg, png, gif, plain text
+ result = EFalse;
+ }
+ }
+ break;
+ case KSenduiMtmAudioMessageUidValue:
+ {
+ if( aMimeType->Des8().CompareF( KMsgMimeAudioAmr ) != 0 ||
+ aMessageData->BodyText()->DocumentLength() > 0 )
+ {
+ // Does not allow other than amr attachment and empty bodytext
+ result = EFalse;
+ }
+ }
+ break;
+ case KDrmLinkSenderValue:
+ {
+ // Check OMA DRM level
+
+ TInt drmMethod = 0;
+ CDRMHelper::TDRMHelperOMALevel omaDRMLevel;
+ CDRMHelper* drmHelper = NULL;
+ TRAPD( error, drmHelper = CDRMHelper::NewL( iFs ) );
+ if ( error != KErrNone )
+ {
+ return error;
+ }
+ error = drmHelper->SupportedDRMMethods2( drmMethod, omaDRMLevel );
+ if ( !(omaDRMLevel & CDRMHelper::EOMA_2_0 ))
+ {
+ result = EFalse;
+ break;
+ }
+ delete drmHelper;
+
+
+ if ( attachmentPaths.Count() )
+ {
+ RFile handle = SendUiUtils::OpenFileHandleL( attachmentPaths.MdcaPoint(0), iFs );
+ CleanupClosePushL( handle );
+ result = SendUiUtils::HasContentUrlL( handle );
+ CleanupStack::PopAndDestroy( &handle );
+ }
+ else
+ {
+ result = SendUiUtils::HasContentUrlL( const_cast<RFile&>( attachments[0] ) );
+ }
+ }
+ break;
+ default:
+ // Should never end up here
+ break;
+ }
+
+ return result;
+ }
+ else if ( attachmentCount > 1 )
+ {
+ if ( aServiceUid == KDrmLinkSender ||
+ aServiceUid == KSenduiMtmPostcardUid ||
+ aServiceUid == KSenduiMtmAudioMessageUid ||
+ aServiceUid == KSenduiMtmSmsUid )
+ {
+ // Currently supports sending of one file only
+ // or no files (SMS)
+ return EFalse;
+ }
+ return ETrue;
+ }
+
+ // Should never end up here
+ return ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl::FilterServicesL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::FilterServicesL(
+ CDesCArrayFlat& aListItems,
+ CArrayFix<TUid>& aListItemUids,
+ TSendingCapabilities aRequiredCapabilities,
+ const CMessageData* aMessageData,
+ CSendUi::TSendUiMenuType aMenuType )
+ {
+ TInt i = 0;
+ TInt cc = 0;
+ TBool dimService = EFalse;
+ TDataType* mimeType = NULL;
+ TInt cleanupItems(0);
+ // Filter some services away if there is no content to be send.
+ if ( !aMessageData )
+ {
+ iServicesToDim->AppendL( KDrmLinkSender );
+ iServicesToDim->AppendL( KMmsDirectUpload );
+ iServicesToDim->AppendL( KMmsIndirectUpload );
+ iServicesToDim->AppendL( KShareOnline );
+ }
+ else if ( aMessageData->AttachmentArray().Count() == 1
+ || aMessageData->AttachmentHandleArray().Count() == 1 )
+ {
+ // CanSendContent can recycle these in mime type resolving
+ // for all services that have attachments
+ mimeType = new (ELeave) TDataType();
+ CleanupStack::PushL( mimeType );
+ cleanupItems++;
+
+ if ( aMessageData->AttachmentArray().Count() )
+ {
+ RFile handle = SendUiUtils::OpenFileHandleL(
+ aMessageData->AttachmentArray().MdcaPoint( 0 ), iFs );
+ CleanupClosePushL( handle );
+ SendUiUtils::ResolveMimeTypeL( handle, *mimeType );
+ CleanupStack::PopAndDestroy( &handle );
+ }
+ else
+ {
+ SendUiUtils::ResolveMimeTypeL( aMessageData->AttachmentHandleArray()[0], *mimeType );
+ }
+ }
+ TBool addMailService = EFalse;
+ TUid integratedEmailClientMtmUid;
+
+ if ( iEmailClientIntegration )
+ {
+ CRepository* repository = NULL;
+ TInt mtmPluginID = 0;
+ TRAPD( ret, repository = CRepository::NewL( KCRUidSelectableDefaultEmailSettings ) );
+
+ if(ret == KErrNone)
+ {
+ //Get Email application mtm plugin ID
+ repository->Get( KIntegratedEmailAppMtmPluginId, mtmPluginID );
+ }
+
+ delete repository;
+ integratedEmailClientMtmUid = TUid::Uid(mtmPluginID);
+ for( i = 0 ; i < iSendingServices.Count(); i++ )
+ {
+ TUid serviceUid = iSendingServices[i]->ServiceId();
+ // Check if it is found in sendingServices and it's valid, then hide
+ if ( integratedEmailClientMtmUid == iSendingServices[i]->ServiceId() &&
+ CheckServiceCapabilities( serviceUid, aRequiredCapabilities ) &&
+ CanSendContentL( serviceUid,
+ iSendingServices[i]->ServiceProviderId(),
+ aMessageData, mimeType ) )
+ {
+ addMailService = ETrue;
+ }
+ }
+
+ }
+
+ // Filter available ECom services and add to list item array.
+ // Capability based filtering: CheckServiceCapabilities
+ // Content based filtering: CanSendContentL
+ // "dimmable array" filtering: done here
+ TInt serviceFeatures;
+ for( i = 0 ; i < iSendingServices.Count(); i++ )
+ {
+ dimService = EFalse;
+ TUid serviceUid = iSendingServices[i]->ServiceId();
+ TUid serviceProviderUid = iSendingServices[i]->ServiceProviderId();
+
+ if ( iSendingServices[i]->ServiceMenuName() == KNullDesC )
+ {
+ dimService = ETrue;
+ }
+
+ TUid serviceTechnologyType = iSendingServices[i]->TechnologyTypeId();
+ TUid dimServiceUid;
+ for ( cc = 0; cc < iServicesToDim->Count(); cc++ )
+ {
+ dimServiceUid = (*iServicesToDim)[cc];
+ if ( dimServiceUid == serviceUid
+ || dimServiceUid == serviceProviderUid
+ || dimServiceUid == serviceTechnologyType
+ )
+ {
+ dimService = ETrue;
+ break;
+ }
+ }
+ if ( iEmailClientIntegration )
+ {
+ //Hide Email application (not the platform email) from "send" menu
+ if( integratedEmailClientMtmUid == iSendingServices[i]->ServiceId() )
+ {
+ dimService = ETrue;
+ }
+ }
+ serviceFeatures = iSendingServices[i]->ServiceFeatures();
+ if ( iEmailClientIntegration )
+ {
+ //If there is a mailbox created by integrated mail client then
+ //put SMTP MTM ("Email") in the "send" menu, by changing the
+ //serviceFeature
+ if ( addMailService &&
+ ( iSendingServices[i]->ServiceId() == KUidMsgTypeSMTP ) )
+ {
+ serviceFeatures = 0;
+ addMailService = EFalse; //MailService must be added only once
+ }
+ }
+ if ( !dimService &&
+ !( serviceFeatures & CSendingServiceInfo::EServiceInValid ) &&
+ !( serviceFeatures & CSendingServiceInfo::EServiceHidden )
+ && CheckServiceCapabilities( serviceUid, aRequiredCapabilities ) &&
+ CanSendContentL( serviceUid, serviceProviderUid, aMessageData, mimeType ) )
+ {
+ if ( aMenuType == CSendUi::ESendMenu )
+ {
+ aListItems.AppendL(iSendingServices[i]->ServiceMenuName() );
+ }
+ else if ( aMenuType == CSendUi::EWriteMenu )
+ {
+ aListItems.AppendL(iSendingServices[i]->ServiceName() );
+ }
+
+ aListItemUids.AppendL( serviceUid );
+ }
+ }
+ CleanupStack::PopAndDestroy( cleanupItems );
+ }
+
+// -----------------------------------------------------------------------------
+// SortListL
+// Sets ECom services to correct positions in "Send"-list query.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::SortListL(
+ CDesCArrayFlat& aListItems,
+ CArrayFix<TUid>& aListItemUids )
+ {
+ TInt insertIndex(0);
+ TUid positionUid;
+ TInt j;
+ // set the services into correct order. The order is predefined in the resources.
+ for ( TInt i = 0; i < iSendUiServicesOrderArray->Count() ; i++ )
+ {
+ positionUid = TUid::Uid( (*iSendUiServicesOrderArray)[i] );
+ for (j = insertIndex; j < aListItems.Count(); j++ )
+ {
+ TUid tmp = aListItemUids[j];
+ if ( positionUid == aListItemUids[j] )
+ {
+ if ( j >= insertIndex )
+ {
+ HBufC* serviceName = aListItems[j].AllocL();
+ CleanupStack::PushL( serviceName );
+
+ aListItemUids.Delete( j );
+ aListItems.Delete( j );
+
+ aListItemUids.InsertL( insertIndex, positionUid );
+ aListItems.InsertL( insertIndex, *serviceName );
+ CleanupStack::PopAndDestroy( serviceName );
+ insertIndex++;
+ }
+ else
+ {
+ // service already on the right place. Next.
+ insertIndex++;
+ }
+
+ }
+ }
+ }
+ }
+
+
+// ---------------------------------------------------------
+// ResetIsSending
+// Resets sending state flag.
+// ---------------------------------------------------------
+//
+void CSendUiImpl::ResetIsSending( TAny* aAny )
+ {
+ *( (TBool*)aAny ) = EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CheckServiceCapabilities
+// Compares ECom service sending capabilities to required capabilities.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CSendUiImpl::CheckServiceCapabilities(
+ TUid aServiceUid,
+ TSendingCapabilities aRequiredCapabilities )
+ {
+ TInt i = 0;
+ TSendingCapabilities serviceCapabilities;
+
+ // No capabilities defined, uses content-based filtering
+ // or no capabilities required from service
+ if ( aServiceUid == KDrmLinkSender
+ || aRequiredCapabilities.iFlags == TSendingCapabilities::EAllServices )
+ {
+ return ETrue;
+ }
+
+ i = ResolveServiceIndex( aServiceUid );
+
+ if ( i != KErrNotFound )
+ {
+ return QueryCapabilities( i, aRequiredCapabilities );
+ }
+ else
+ {
+ return EFalse;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiImpl::CSendUiImpl()
+ : iCoeEnv( CCoeEnv::Static() ),
+ iFs( iCoeEnv->FsSession() ),
+ iResourceLoader( *iCoeEnv )
+
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiImpl::FeatureStatus
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::FeatureStatus( TInt aFeature, TInt &aNewFeatures, TInt aFeatureFlag )
+ {
+ if ( FeatureManager::FeatureSupported( aFeature ) )
+ {
+ // If Postcard only is supported, aFeatureFlag is 0x00000001 ==> aNewFeatures == 0x00000001
+ // If Audio message is also supported aFeatureFlag is 0x00000002 ==> aNewFeatures == 0x00000003
+ // If MMSUpload is also supported, aFeatureFlag is 0x00000004 ==> aNewFeatures == 0x00000007
+ aNewFeatures |= aFeatureFlag;
+ }
+ }
+// ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUiImpl::ConstructL()
+ {
+ iSingleton = CSendUiSingleton::NewL();
+ //User::LeaveIfError( iFs.Connect() );
+ iFs.ShareProtected();
+
+ TParse* fp = new(ELeave) TParse();
+ fp->Set( KSendUiResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
+ iResourceFileName = fp->FullName();
+ delete fp;
+ fp = NULL;
+
+ iResourceLoader.OpenL( iResourceFileName );
+
+ // Check for server launch
+ RProcess process;
+ TUid hostId = process.SecureId();
+ if ( hostId == KSendUiLauncherAppUid )
+ {
+ iServerAppLaunch = ETrue;
+ }
+ else
+ {
+ iServerAppLaunch = EFalse;
+ iSendUiServicesOrderArray =
+ new ( ELeave ) CArrayFixFlat<TInt32>( KSendUiServiceOrderArrayGranularity );
+
+ TResourceReader reader;
+ iCoeEnv->CreateResourceReaderLC( reader, R_SENDUISERVICEORDER_ARRAY );
+ const TInt count = reader.ReadInt16();
+ for ( TInt loop = 0; loop < count; loop++ )
+ {
+ iSendUiServicesOrderArray->AppendL( reader.ReadInt32() );
+ }
+ CleanupStack::PopAndDestroy( ); // reader
+ }
+
+ iPropertyObserver = CPropertyObserver::NewL( this );
+ TRAPD( err, GetServicesL() );
+
+ if ( err )
+ {
+#ifdef _DEBUG
+ TBuf<256> buf;
+ buf.Format(_L("SendUi err"));
+ User::InfoPrint(buf);
+ LOGTEXT2(_L("Error %d while loading CenRep"), err );
+#endif
+ return;
+ }
+ iServicesToDim = new (ELeave) CArrayFixFlat<TUid>( KArrayGranularity );
+ FeatureManager::InitializeLibL();
+
+ if ( FeatureManager::FeatureSupported( KFeatureIdEmailMceIntegration ) )
+ {
+
+ iEmailClientIntegration = ETrue;
+ }
+ else
+ {
+
+ iEmailClientIntegration = EFalse;
+ }
+ FeatureManager::UnInitializeLib();
+ }
+
+// end of file
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/SendUiUtils.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* 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: Provides private utilities for SendUi.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <apmstd.h>
+#include <apgcli.h>
+#include <caf/caf.h>
+#include <MsgMimeTypes.h>
+
+#include "SendUiUtils.h"
+
+// CONSTANTS
+_LIT8( KMmsSymbianInternalPattern, "x-epoc/x-app0");
+
+const TInt KSenduiUrlMaxLen = 1024;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// SendUiUtils::OpenFileHandleL
+// -----------------------------------------------------------------------------
+//
+RFile SendUiUtils::OpenFileHandleL( const TDesC& aFilePath, RFs& aFs )
+ {
+ RFile fileHandle;
+ TInt err = fileHandle.Open( aFs, aFilePath, EFileShareReadersOnly );
+ if ( err )
+ {
+ User::LeaveIfError( fileHandle.Open( aFs, aFilePath, EFileShareAny ) );
+ }
+
+ return fileHandle;
+ }
+
+// -----------------------------------------------------------------------------
+// SendUiUtils::DrmContentUrlL
+// -----------------------------------------------------------------------------
+//
+TBool SendUiUtils::HasContentUrlL( RFile& aFile )
+ {
+ TBuf<KSenduiUrlMaxLen> contentUrl;
+ ContentAccess::CData* content = ContentAccess::CData::NewLC(
+ aFile,
+ ContentAccess::KDefaultContentObject,
+ ContentAccess::EPeek );
+
+ TInt error = content->GetStringAttribute( ContentAccess::EContentURI, contentUrl );
+ CleanupStack::PopAndDestroy( content );
+
+ return !error;
+ }
+
+// -----------------------------------------------------------------------------
+// SendUiUtils::ResolveMimeTypeL
+// -----------------------------------------------------------------------------
+//
+void SendUiUtils::ResolveMimeTypeL( const RFile& aFile, TDataType& aMimeType )
+ {
+ RApaLsSession lsSession;
+ CleanupClosePushL( lsSession );
+ User::LeaveIfError( lsSession.Connect() );
+
+ TDataRecognitionResult dataType;
+
+ TInt err = lsSession.RecognizeData( aFile, dataType );
+ if ( err
+ || dataType.iDataType.Des8().Length() == 0
+ || !dataType.iDataType.Des8().CompareF( KMmsSymbianInternalPattern ) )
+ {
+ // Not recognized
+ aMimeType = KMsgMimeUnknown();
+ }
+ else
+ {
+ aMimeType = dataType.iDataType;
+ }
+ // The attachment file pointer needs to be reset to the start of the file.
+ TInt pos( 0 );
+ aFile.Seek( ESeekStart, pos );
+ CleanupStack::PopAndDestroy( &lsSession );
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/SendingServiceInfoImpl.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
+* Encapsulates the ECom plugged sending service data.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "SendingServiceInfoImpl.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::CSendingServiceInfoImpl
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfoImpl::CSendingServiceInfoImpl()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfoImpl* CSendingServiceInfoImpl::NewL()
+ {
+ CSendingServiceInfoImpl* self = CSendingServiceInfoImpl::NewLC();
+
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CSendingServiceInfoImpl::NewLC
+// Two-phased constructor.
+// ---------------------------------------------------------
+//
+CSendingServiceInfoImpl* CSendingServiceInfoImpl::NewLC()
+ {
+ CSendingServiceInfoImpl* self = new (ELeave) CSendingServiceInfoImpl;
+ CleanupStack::PushL( self );
+ return self;
+ }
+
+
+// Destructor
+CSendingServiceInfoImpl::~CSendingServiceInfoImpl()
+ {
+ delete iServiceName;
+ delete iServiceMenuName;
+ delete iServiceAddress;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::CopyL
+// Creates a copy of CSendingServiceInfoImpl object.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+CSendingServiceInfoImpl* CSendingServiceInfoImpl::CopyL() const
+ {
+ CSendingServiceInfoImpl* serviceInfoImpl = CSendingServiceInfoImpl::NewL();
+ CleanupStack::PushL( serviceInfoImpl );
+
+ if ( iServiceName )
+ {
+ serviceInfoImpl->SetServiceNameL( *iServiceName );
+ }
+
+ if ( iServiceMenuName )
+ {
+ serviceInfoImpl->SetServiceMenuNameL( *iServiceMenuName );
+ }
+
+ if ( iServiceAddress )
+ {
+ serviceInfoImpl->SetServiceAddressL( *iServiceAddress );
+ }
+
+ serviceInfoImpl->iServiceId = iServiceId;
+ serviceInfoImpl->iServiceProviderId = iServiceProviderId;
+ serviceInfoImpl->iServiceCapabilities = iServiceCapabilities;
+ serviceInfoImpl->iTechnologyTypeId = iTechnologyTypeId;
+ serviceInfoImpl->iServiceFeatures = iServiceFeatures;
+
+ CleanupStack::Pop( serviceInfoImpl );
+
+ return serviceInfoImpl;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceNameL
+// Sets service human readable name.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfoImpl::SetServiceNameL(
+ const TDesC& aServiceName )
+ {
+ delete iServiceName;
+ iServiceName = NULL;
+ iServiceName = aServiceName.AllocL();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceMenuNameL
+// Sets service human readable name for the "Send"-menu.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfoImpl::SetServiceMenuNameL(
+ const TDesC& aServiceMenuName )
+ {
+ delete iServiceMenuName;
+ iServiceMenuName = NULL;
+ iServiceMenuName = aServiceMenuName.AllocL();
+ }
+
+// -----------------------------------------------------------------------------
+// CSendingServiceInfoImpl::SetServiceAddressL
+// Sets service address.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSendingServiceInfoImpl::SetServiceAddressL(
+ const TDesC& aServiceAddress )
+ {
+ delete iServiceAddress;
+ iServiceAddress = NULL;
+ iServiceAddress = aServiceAddress.AllocL();
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/TSendingCapabilities.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2002-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: Sending capabilities for sending services. Used by SendUi to
+* filter sending services from "Send" pop-up list query.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <TSendingCapabilities.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TSendingCapabilities::TSendingCapabilities()
+ :
+ iBodySize(0),
+ iMessageSize(0),
+ iFlags(0)
+ {
+ }
+
+// ---------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------
+//
+EXPORT_C TSendingCapabilities::TSendingCapabilities(
+ TInt aBodySize,
+ TInt aMessageSize,
+ TInt aFlags)
+ :
+ iBodySize(aBodySize),
+ iMessageSize(aMessageSize),
+ iFlags(aFlags)
+ {
+ }
+
+// ---------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// Overloaded equal operator
+// might leave.
+// ---------------------------------------------------------
+//
+EXPORT_C TBool TSendingCapabilities::operator==(
+ const TSendingCapabilities& aSendingCapabilities ) const
+ {
+ TBool ret = EFalse;
+
+ if ( iBodySize == aSendingCapabilities.iBodySize &&
+ iMessageSize == aSendingCapabilities.iMessageSize &&
+ iFlags == aSendingCapabilities.iFlags )
+ {
+ ret = ETrue;
+ }
+
+ return ret;
+ }
+
+// ---------------------------------------------------------
+// TSendingCapabilities::TSendingCapabilities
+// Overloaded not equal operator
+// might leave.
+// ---------------------------------------------------------
+//
+EXPORT_C TBool TSendingCapabilities::operator!=(
+ const TSendingCapabilities& aSendingCapabilities ) const
+ {
+ return !( operator==( aSendingCapabilities ) );
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/propertyobserver.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* 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: Notifies SendUI to refresh its local sending service list
+* if list in Central Repository is updated.
+*
+*/
+
+
+
+#include <e32base.h>
+#include <e32property.h>
+
+#include "propertyobserver.h"
+#include "senduiproperty.h"
+#include "senduiimpl.h"
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CPropertyObserver* CPropertyObserver::NewL( CSendUiImpl* aParent)
+ {
+ CPropertyObserver* self = new ( ELeave ) CPropertyObserver( aParent );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CPropertyObserver::~CPropertyObserver()
+ {
+ iPropertyUpdateOperation.Close();
+ Cancel();
+ }
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CPropertyObserver::ConstructL()
+ {
+
+ User::LeaveIfError( iPropertyUpdateOperation.Attach( KPSUidSendUiProperty, KSendUiUpdateOperation ));
+ iPropertyUpdateOperation.Subscribe( iStatus );
+ SetActive();
+
+ }
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CPropertyObserver::CPropertyObserver( CSendUiImpl* aParent )
+ : CActive( CActive::EPriorityStandard ),
+ iParent( aParent)
+ {
+ CActiveScheduler::Add( this );
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CPropertyObserver::DoCancel()
+ {
+ iPropertyUpdateOperation.Close();
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CPropertyObserver::RunL()
+ {
+ TInt value;
+ if ( iPropertyUpdateOperation.Get( value ) != KErrNotFound
+ && value == KSendUiUpdateOperationDone )
+ {
+ iParent->GetServicesL();
+ }
+ iPropertyUpdateOperation.Subscribe( iStatus );
+ SetActive();
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/senduiserviceclient.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,138 @@
+/*
+* 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: Communicates message data to SendUILauncher server application
+*
+*/
+
+
+
+#include <aknappui.h>
+#include <AknServerApp.h>
+#include <s32mem.h>
+
+#include <CMessageData.h>
+#include <senduiconsts.h>
+
+#include "senduiserviceclient.h"
+#include "senduiserviceslog.h"
+#include "senduilauncher.h"
+#include "senduiservicecommands.h"
+
+typedef TBuf8<KTransferBufferSize> TTransferBuf;
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Launch SendUi
+// ---------------------------------------------------------------------------
+//
+void RSendUiServiceClient::LaunchSendUiL(
+ TUid& aServiceUid,
+ TUid& aServiceProviderUid,
+ TBool& aLaunchEmbedded,
+ const CMessageData* aMessageData )
+ {
+ CBufBase* buffer = CBufFlat::NewL( KMessageBufferSize );
+ CleanupStack::PushL( buffer );
+
+ RBufWriteStream bufStream;
+ bufStream.Open( *buffer );
+
+ bufStream.WriteUint32L( aServiceProviderUid.iUid );
+ TUid dataType(KSenduiMsgDataBase);
+ if ( aMessageData )
+ {
+ dataType = aMessageData->DataType();
+ }
+ bufStream.WriteUint32L( dataType.iUid );
+ bufStream.WriteUint32L( aServiceUid.iUid );
+ bufStream.WriteUint32L( aLaunchEmbedded ? 1 : 0);
+ bufStream.WriteUint32L( aMessageData ? 1 : 0);
+
+ if ( aMessageData )
+ {
+ aMessageData->ExternalizeL( bufStream );
+ }
+
+ bufStream.CommitL();
+ bufStream.Close();
+
+
+ LOGTEXT2(_L("RSendUiServiceClient->LaunchSendUiL: buffer size %d"), buffer->Size() );
+ TInt totalSize = buffer->Size();
+ TInt transferredBytes(0);
+ TInt blockSize(0);
+
+ TTransferBuf transferBuffer;
+
+ while( transferredBytes < totalSize)
+ {
+ // determine block size
+ if ( transferredBytes + KTransferBufferSize < totalSize )
+ {
+ blockSize = KTransferBufferSize;
+ }
+ else
+ {
+ // the last block size
+ blockSize = totalSize - transferredBytes;
+ }
+ buffer->Read( transferredBytes, transferBuffer, blockSize );
+
+ TPckgBuf<TTransferBuf> transferBufferPckg( transferBuffer );
+ TPckgBuf<TInt> totalSizePckg( totalSize );
+ TPckgBuf<TInt> blockSizePckg( blockSize );
+
+ SendReceive( ESendUiDataBlock,
+ TIpcArgs( &transferBufferPckg, &blockSizePckg, &totalSizePckg ) );
+
+ transferredBytes += blockSize;
+ } // while..
+
+ SendReceive( EDataSent );
+
+ if ( aMessageData )
+ {
+ TInt index(0);
+ TInt fileHandleCount = aMessageData->AttachmentHandleArray().Count();
+
+ // Transfer filehandles separately
+ while( index < fileHandleCount )
+ {
+ TIpcArgs ipcArgs;
+ aMessageData->AttachmentHandleArray()[index++].TransferToServer(ipcArgs, 0, 1);
+ SendReceive(ECopyFileHandle, ipcArgs);
+ }
+ }
+ SendReceive( ELaunchSendUi );
+
+ CleanupStack::PopAndDestroy(buffer);
+}
+
+// ---------------------------------------------------------------------------
+// Return service identifier
+// ---------------------------------------------------------------------------
+//
+TUid RSendUiServiceClient::ServiceUid() const
+ {
+ return KSendUiLauncherAppServiceUid;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+RSendUiServiceClient::~RSendUiServiceClient()
+ {
+ Close();
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/src_old/senduisingleton.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Singleton
+*
+*/
+
+
+
+// INCLUDE FILES
+
+#include <msvapi.h> // CMsvSession
+#include <mtclreg.h> // CClientMtmRegistry
+#include <mtuireg.h> // CMtmUiRegistry
+#include <mtudreg.h> // CMtmUiDataRegistry
+
+#include <senduisingleton.h>
+
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::CSendUiSingleton
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSendUiSingleton::CSendUiSingleton()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSendUiSingleton::ConstructL()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSendUiSingleton* CSendUiSingleton::NewL()
+ {
+ CSendUiSingleton* self = new (ELeave) CSendUiSingleton;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::~CSendUiSingleton
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSendUiSingleton::~CSendUiSingleton()
+ {
+ // Deletion order is significant.
+ delete iMtmUiDataRegistry;
+ delete iMtmUiRegistry;
+ delete iClientMtmRegistry;
+ delete iMsvSession;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MsvSessionL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMsvSession& CSendUiSingleton::MsvSessionL()
+ {
+ if ( !iMsvSession )
+ {
+ iMsvSession = CMsvSession::OpenSyncL( *this );
+ }
+ return *iMsvSession;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::ClientMtmRegistryL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CClientMtmRegistry& CSendUiSingleton::ClientMtmRegistryL()
+ {
+ if ( !iClientMtmRegistry )
+ {
+ iClientMtmRegistry = CClientMtmRegistry::NewL( MsvSessionL() );
+ }
+ return *iClientMtmRegistry;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MtmUiRegistryL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMtmUiRegistry& CSendUiSingleton::MtmUiRegistryL()
+ {
+ if ( !iMtmUiRegistry )
+ {
+ iMtmUiRegistry = CMtmUiRegistry::NewL( MsvSessionL() );
+ }
+ return *iMtmUiRegistry;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MtmUiDataRegistryL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CMtmUiDataRegistry& CSendUiSingleton::MtmUiDataRegistryL()
+ {
+ if ( !iMtmUiDataRegistry )
+ {
+ iMtmUiDataRegistry = CMtmUiDataRegistry::NewL( MsvSessionL() );
+ }
+ return *iMtmUiDataRegistry;
+ }
+
+// -----------------------------------------------------------------------------
+// CSendUiSingleton::MsvSessionL
+// -----------------------------------------------------------------------------
+//
+void CSendUiSingleton::HandleSessionEventL(TMsvSessionEvent /*aEvent*/, TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/)
+ {
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/stub_sis/stub_senduilauncher.pkg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,24 @@
+;
+; 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:
+;
+; Languages
+&EN
+
+; Header
+#{"senduilauncher"}, (0x102823C5), 1, 0, 0, TYPE = SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
\ No newline at end of file
Binary file messagingfw/deprecate/senduiservices/stub_sis/stub_senduilauncher.sis has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/stub_sis/stub_senduiserviceresolver.pkg Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,24 @@
+;
+; 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:
+;
+; Languages
+&EN
+
+; Header
+#{"senduiserviceresolver"}, (0x102823b5), 1, 0, 0, TYPE = SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
\ No newline at end of file
Binary file messagingfw/deprecate/senduiservices/stub_sis/stub_senduiserviceresolver.sis has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/group/102823B6.rss Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* 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: Resource definitions for project SendUiWatcher
+*
+*/
+
+
+#include <registryinfo.rh>
+
+// ---------------------------------------------------------------------------
+// ?resource_name
+// ?description
+// ---------------------------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO theInfo
+ {
+ // The DLL UID -
+ dll_uid = 0x102823B6;
+ interfaces =
+ {
+ INTERFACE_INFO
+ {
+ // KUidEComWatcher
+ // interface_uid = 0x10006554;
+ interface_uid = 0xE9F7BA98;
+ implementations =
+ {
+ IMPLEMENTATION_INFO
+ {
+ // Use the DLL UID.
+ implementation_uid = 0x102823B6;
+ version_no = 1;
+ display_name = "SendUiWatcher";
+ default_data = "";
+ opaque_data = "";
+ }
+ };
+ }
+ };
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/group/SendUiWatcher.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* 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 definition file for project ?myapp
+*
+*/
+
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+// --- LOGGING ---
+//MACRO USE_LOGGER // HW debugging support
+//LIBRARY Flogger.lib // RFileLogger, debug logging
+// --- LOGGING ---
+
+
+TARGET SendUiWatcher.dll
+TARGETTYPE PLUGIN
+UID 0x10009D8D 0x102823B6
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+VERSION 10.0
+PAGED
+
+SOURCEPATH ../src
+SOURCE senduiwatcher.cpp
+SOURCE senduipropertyobserver.cpp
+SOURCE senduiecomobserver.cpp
+
+SOURCEPATH .
+START RESOURCE 102823B6.rss
+HEADER
+TARGET SendUiWatcher.rsc
+END // RESOURCE
+
+USERINCLUDE ../inc
+USERINCLUDE ../../inc
+USERINCLUDE ../../serviceresolver/inc
+
+SYSTEMINCLUDE /epoc32/include/ecom
+APP_LAYER_SYSTEMINCLUDE
+
+LIBRARY ecom.lib
+LIBRARY msgs.lib // OpenSyncL
+LIBRARY euser.lib
+LIBRARY apgrfx.lib
+LIBRARY apparc.lib
+LIBRARY centralrepository.lib
+LIBRARY mtur.lib
+LIBRARY FeatMgr.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* 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 project ?myapp
+*
+*/
+
+
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_MMPFILES
+../group/SendUiWatcher.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/inc/senduiecomobserver.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* 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: Listens Ecom events. Requests service update,
+* - if SendUI Ecom service count changes
+* - has changed since previous boot.
+*
+*/
+
+
+
+#ifndef C_SENDUIECOMOBSERVER_H
+#define C_SENDUIECOMOBSERVER_H
+
+#include <e32base.h>
+#include <e32property.h>
+
+/**
+ * ?one_line_short_description
+ *
+ * ?more_complete_description
+ *
+ * @lib ?library
+ * @since S60 ?S60_version *** for example, S60 v3.0
+ */
+class CSendUiEcomObserver : public CActive
+ {
+
+public:
+
+ static CSendUiEcomObserver* NewL();
+
+ virtual ~CSendUiEcomObserver();
+
+// from base class CActive
+
+ /**
+ * From CActive.
+ *
+ * @since S60 v3.2
+ */
+ void RunL();
+
+ /**
+ * From CActive.
+ *
+ * @since S60 v3.2
+ */
+ void DoCancel();
+
+ void CheckForUpdateL();
+
+private:
+
+ CSendUiEcomObserver();
+
+ void ConstructL();
+
+private: // data
+
+ /**
+ * Property for making update requests
+ */
+ RProperty iPropertyUpdateRequest;
+
+ /**
+ * Property for tracking update operation flow
+ */
+ RProperty iPropertyUpdateOperation;
+
+ REComSession& iEcomSession;
+ };
+
+#endif // C_SENDUIECOMOBSERVER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/inc/senduipropertyobserver.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* 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: Launches SendUi Service Resolver in the event of:
+* - refresh request.
+* - MTM amount has changed since previous boot
+* - Phone language has change since previous boot*
+*/
+
+
+
+#ifndef C_CSENDUIPROPERTYOBSERVER_H
+#define C_CSENDUIPROPERTYOBSERVER_H
+
+#include <e32base.h>
+#include <e32property.h>
+
+class CSendUiWatcher;
+
+/**
+ * ?one_line_short_description
+ *
+ * ?more_complete_description
+ *
+ * @lib ?library
+ * @since S60 ?S60_version *** for example, S60 v3.0
+ */
+class CSendUiPropertyObserver : public CActive
+ {
+
+public:
+
+ static CSendUiPropertyObserver* NewL( CSendUiWatcher* aParent );
+
+ virtual ~CSendUiPropertyObserver();
+
+// from base class CActive
+
+ /**
+ * From CActive.
+ *
+ * @since S60 v3.2
+ */
+ void RunL();
+
+ /**
+ * From CActive.
+ *
+ * @since S60 v3.2
+ */
+ void DoCancel();
+
+private:
+
+ CSendUiPropertyObserver( CSendUiWatcher* aWatcher );
+
+ void ConstructL( );
+
+private: // data
+
+ /**
+ * Property for making update requests
+ */
+ RProperty iPropertyUpdateRequest;
+
+ /**
+ * Parent.
+ * Not own.
+ */
+ CSendUiWatcher* iParent;
+
+ };
+
+#endif // C_CSENDUIPROPERTYOBSERVER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/inc/senduiwatcher.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,147 @@
+/*
+* 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: SendUi Watcher signals service resolver, if service list
+* is in need of an update. Update events are implicit update
+ (via Publish and Subcribe interface),
+ and mtm installation/removal.
+*
+*/
+
+
+
+
+#ifndef C_CSENDUIWATCHER_H
+#define C_CSENDUIWATCHER_H
+
+
+#include <msvapi.h>
+#include <msvstd.h>
+#include <e32base.h>
+
+
+class CSendUiPropertyObserver;
+class CSendUiEcomObserver;
+class CSendUiWatcher;
+
+const TInt KSendUiServiceListUpdateDelay = 5000000;
+const TInt KSendUiWatcherUid = 0x102823B6;
+
+/**
+ * ?one_line_short_description
+ *
+ * ?more_complete_description
+ *
+ * @lib ?library
+ * @since S60 ?S60_version *** for example, S60 v3.0
+ */
+class CSendUiWatcher : public CBase,
+ public MMsvSessionObserver
+ {
+
+public:
+
+ static CSendUiWatcher* NewL( TAny* aWatcherParams );
+
+ virtual ~CSendUiWatcher();
+
+ /**
+ * Invokes SendUi Service Resolver
+ *
+ * @since S60 v3.2
+ */
+
+ static TInt DoTaskL( TAny* aTask );
+
+
+ void HandleUpdateServicesL( );
+
+
+// from base class MMsvSessionObserver
+
+ /**
+ * From MMsvSessionObserver.
+ * HandleSessionEventL
+ *
+ * @since S60 v.3.2
+ * @param aEvent Indicates the event type.
+ * @param aArg1 Not used
+ * @param aArg2 Not used
+ * @param aArg3 Not used
+ */
+ void HandleSessionEventL(
+ TMsvSessionEvent aEvent,
+ TAny* /*aArg1*/,
+ TAny* /*aArg2*/,
+ TAny* /*aArg3*/ );
+
+private:
+
+ CSendUiWatcher();
+
+ void ConstructL();
+
+ /**
+ * Requests a timer event after short delay.
+ *
+ * @since S60 v3.2
+ */
+ void SetTimerL();
+
+ /**
+ * Gets feature status from FeatureManager and updates an internal feature flag.
+ *
+ * This is used for observing feature status changes and keeping sending service list up-to-date.
+ *
+ * @since S60 v5.0
+ */
+ void FeatureStatus( TInt aFeature, TInt &aNewFeatures, TInt aFeatureFlag );
+
+ /**
+ * Checks if Mtm count or language has changed and immediate update is needed.
+ *
+ * @since S60 v3.2
+ */
+ void CheckIfUpdateNeededL();
+
+private: // data
+
+ /**
+ * A channel of communication between a client thread and the Message
+ * Server thread.
+ * Own.
+ */
+ CMsvSession* iSession;
+
+ /**
+ * Publish and Subcribe API observer
+ * Own.
+ */
+ CSendUiPropertyObserver* iPropertyObserver;
+
+ /**
+ * Observes Ecom events. Requests update, if SendUI Ecom service amount
+ * changes.
+ * Own.
+ */
+ CSendUiEcomObserver* iEcomObserver;
+
+ /**
+ * Own.
+ */
+ CPeriodic* iTimer;
+
+ };
+
+
+#endif // C_CSENDUIWATCHER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/src/senduiecomobserver.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,122 @@
+/*
+* 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: Listens Ecom events. Requests service update,
+* - if SendUI Ecom service count changes
+* - has changed since previous boot.
+*
+*/
+
+
+
+
+#include <e32base.h>
+#include <e32property.h>
+#include <ecom.h>
+
+#include "senduiecomobserver.h"
+#include "SendUiPrivateCRKeys.h"
+#include "senduiproperty.h"
+#include "senduiwatcher.h"
+#include "centralrepository.h"
+#include <SendingServiceInterfaceUids.hrh>
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CSendUiEcomObserver* CSendUiEcomObserver::NewL()
+ {
+ CSendUiEcomObserver* self = new ( ELeave ) CSendUiEcomObserver();
+ CleanupStack::PushL( self );
+ self->ConstructL( );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CSendUiEcomObserver::~CSendUiEcomObserver()
+ {
+ Cancel();
+ }
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSendUiEcomObserver::ConstructL()
+ {
+ CActiveScheduler::Add( this );
+ RunL();
+ }
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSendUiEcomObserver::CSendUiEcomObserver()
+ : CActive( CActive::EPriorityStandard ), iEcomSession( REComSession::OpenL())
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CSendUiEcomObserver::DoCancel()
+ {
+ iEcomSession.CancelNotifyOnChange( iStatus );
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CSendUiEcomObserver::RunL()
+ {
+ iEcomSession.NotifyOnChange( iStatus);
+ CheckForUpdateL();
+ SetActive();
+ }
+
+// ---------------------------------------------------------------------------
+// CheckForUpdateL
+// Requests service list update if SendUI Ecom service count has changed.
+// ---------------------------------------------------------------------------
+//
+void CSendUiEcomObserver::CheckForUpdateL()
+ {
+ RImplInfoPtrArray implInfoArray ;
+ REComSession::ListImplementationsL(
+ TUid::Uid( KSendUiSendingServiceInterface ),implInfoArray );
+ TInt newEcomCount = implInfoArray.Count();
+ implInfoArray.ResetAndDestroy();
+
+ CRepository* repository = CRepository::NewLC( KCRUidSendUi );
+ TInt oldEcomCount = -1;
+ // request service list update if sendui ecom service count has change.
+ if ( repository->Get( KKeySendUiServiceEcomCount, oldEcomCount ) != KErrNone
+ || oldEcomCount != newEcomCount )
+ {
+ repository->Set( KKeySendUiServiceEcomCount, newEcomCount );
+ User::LeaveIfError(
+ RProperty::Set(KPSUidSendUiProperty, KSendUiUpdateRequest, KSendUiUpdateRequested ) );
+ }
+ CleanupStack::PopAndDestroy( repository );
+ }
+
+// end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/src/senduipropertyobserver.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* 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: Launches SendUi Service Resolver in the event of:
+* - refresh request.
+* - MTM amount has changed since previous boot
+* - Phone language has change since previous boot
+*
+*/
+
+
+
+
+#include <e32base.h>
+#include <e32property.h>
+
+#include "senduipropertyobserver.h"
+#include "senduiproperty.h"
+#include "senduiwatcher.h"
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CSendUiPropertyObserver* CSendUiPropertyObserver::NewL( CSendUiWatcher* aWatcher )
+ {
+ CSendUiPropertyObserver* self = new ( ELeave ) CSendUiPropertyObserver( aWatcher );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CSendUiPropertyObserver::~CSendUiPropertyObserver()
+ {
+ iPropertyUpdateRequest.Close();
+ Cancel();
+ }
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSendUiPropertyObserver::ConstructL()
+ {
+ CActiveScheduler::Add( this );
+
+ User::LeaveIfError(
+ iPropertyUpdateRequest.Attach( KPSUidSendUiProperty, KSendUiUpdateRequest ) );
+
+ iPropertyUpdateRequest.Subscribe( iStatus );
+
+ SetActive();
+ }
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSendUiPropertyObserver::CSendUiPropertyObserver( CSendUiWatcher* aParent )
+ : CActive( CActive::EPriorityStandard ),
+ iParent( aParent )
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CSendUiPropertyObserver::DoCancel()
+ {
+ iPropertyUpdateRequest.Close();
+ }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// ---------------------------------------------------------------------------
+//
+void CSendUiPropertyObserver::RunL()
+ {
+ TInt value;
+ if ( ( iPropertyUpdateRequest.Get(value) ) != KErrNotFound
+ && value == KSendUiUpdateRequested )
+ {
+ iParent->HandleUpdateServicesL( );
+ }
+ iPropertyUpdateRequest.Subscribe( iStatus );
+ SetActive();
+ }
+
+// end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/deprecate/senduiservices/watcher/src/senduiwatcher.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,340 @@
+/*
+* 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: Launches SendUiServiceResolver in the events of:
+* At all times:
+* - mtm installation/removal
+* - Message Server events:
+* * EMsvEntryCreated
+* * EMsvEntryDeleted
+* * EMsvCorruptedIndexRebuilt
+* * EMsvMediaChanged
+* - Ecom service event arrives and SendUI Ecom service count has
+* changed since last boot.
+*
+*/
+
+
+
+
+#include <implementationproxy.h>
+#include <msvapi.h>
+#include <data_caging_path_literals.hrh>
+#include <msvids.h> // for KMsvRootIndexEntryId
+#include <coemain.h>
+#include <apgcli.h>
+#include <apacmdln.h>
+#include <eikdll.h>
+#include <apaflrec.h>
+#include <bldvariant.hrh>
+#include <e32property.h>
+#include <e32base.h>
+#include <centralrepository.h>
+#include <mtudreg.h>
+#include <featmgr.h>
+
+#include "senduiwatcher.h"
+#include "senduiecomobserver.h"
+#include "senduipropertyobserver.h"
+#include "senduiproperty.h"
+#include "SendUiPrivateCRKeys.h"
+#include "senduiserviceslog.h"
+
+_LIT( KSendUiLauncherApp, "SendUiServiceResolver.exe");
+
+const TImplementationProxy ImplementationTable[] =
+ {
+ IMPLEMENTATION_PROXY_ENTRY( 0x102823B6, CSendUiWatcher::NewL )
+ };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
+ {
+ aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
+ return ImplementationTable;
+ }
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// NewL
+// ---------------------------------------------------------------------------
+//
+CSendUiWatcher* CSendUiWatcher::NewL( TAny* /*aWatcherParams */)
+ {
+ CSendUiWatcher* self=new (ELeave) CSendUiWatcher();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSendUiWatcher::~CSendUiWatcher()
+ {
+ delete iPropertyObserver;
+ delete iTimer;
+ }
+
+// ---------------------------------------------------------------------------
+// DoTask
+// ---------------------------------------------------------------------------
+//
+TInt CSendUiWatcher::DoTaskL( TAny* aThis )
+ {
+ LOGTEXT(_L("CSendUiWatcher::DoTask >>"));
+ CSendUiWatcher* watcher = static_cast<CSendUiWatcher*>( aThis );
+ // We've waited long enough. Try to set to done. Ignore error.
+ RProperty::Set(
+ KPSUidSendUiProperty,
+ KSendUiUpdateOperation,
+ KSendUiUpdateOperationDone );
+ watcher->HandleUpdateServicesL();
+ LOGTEXT(_L("CSendUiWatcher::DoTask <<"));
+ return KErrNone;
+ }
+
+// ---------------------------------------------------------------------------
+// HandleUpdateServicesL
+// ---------------------------------------------------------------------------
+//
+void CSendUiWatcher::HandleUpdateServicesL()
+ {
+ LOGTEXT(_L("CSendUiWatcher::HandleUpdateServicesL >>"));
+ TInt value;
+ delete iTimer;
+ iTimer = NULL;
+
+ RProperty::Get( KPSUidSendUiProperty, KSendUiUpdateOperation, value );
+ if ( value != KSendUiUpdateOperationDone )
+ {
+ // try again later
+ SetTimerL();
+ }
+ else
+ {
+ // Run SendUiSr
+ RApaLsSession ls;
+
+ CApaCommandLine *cmd = CApaCommandLine::NewL();
+ CleanupStack::PushL( cmd );
+
+ cmd->SetExecutableNameL( KSendUiLauncherApp );
+ cmd->SetCommandL( EApaCommandBackground );
+ User::LeaveIfError( ls.StartApp( *cmd ) );
+ CleanupStack::PopAndDestroy( cmd );
+ }
+ LOGTEXT(_L("CSendUiWatcher::HandleUpdateServicesL <<"));
+ }
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSendUiWatcher::CSendUiWatcher() // first-phase C++ constructor
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSendUiWatcher::ConstructL() // second-phase constructor
+ {
+ if ( !iSession )
+ {
+ iSession = CMsvSession::OpenSyncL( *this );
+ }
+ TInt result( KErrNone );
+
+ result = RProperty::Define(
+ KPSUidSendUiProperty,
+ KSendUiUpdateRequest,
+ RProperty::EInt,
+ TSecurityPolicy( ECapabilityReadUserData ),
+ TSecurityPolicy( ECapabilityWriteUserData ));
+
+ if ( result && result != KErrAlreadyExists )
+ {
+ User::LeaveIfError( result );
+ }
+
+ result = RProperty::Define(
+ KPSUidSendUiProperty,
+ KSendUiUpdateOperation,
+ RProperty::EInt,
+ TSecurityPolicy( ECapabilityReadUserData ),
+ TSecurityPolicy( ECapabilityWriteUserData ));
+
+ if ( result && result != KErrAlreadyExists )
+ {
+ User::LeaveIfError( result );
+ }
+
+ User::LeaveIfError(
+ RProperty::Set(KPSUidSendUiProperty, KSendUiUpdateOperation, KSendUiUpdateOperationDone) );
+
+ iPropertyObserver = CSendUiPropertyObserver::NewL( this );
+
+ iEcomObserver = CSendUiEcomObserver::NewL();
+
+ CheckIfUpdateNeededL();
+ }
+
+// ---------------------------------------------------------------------------
+// UpdateFeature
+// ---------------------------------------------------------------------------
+//
+void CSendUiWatcher::FeatureStatus( TInt aFeature, TInt &aNewFeatures, TInt aFeatureFlag )
+ {
+ if ( FeatureManager::FeatureSupported( aFeature ) )
+ {
+ aNewFeatures |= aFeatureFlag;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CheckIfUpdateNeededL
+// ---------------------------------------------------------------------------
+//
+void CSendUiWatcher::CheckIfUpdateNeededL()
+ {
+ LOGTEXT(_L("CSendUiWatcher::CheckIfUpdateNeededL >>"));
+ CRepository* repository = CRepository::NewLC( KCRUidSendUi );
+
+ TInt storedValue(KErrNotFound);
+ TBool updateNeeded( EFalse );
+
+ // Request service list update if phone language has changed.
+ // KErrNotFound language value also indicates unsuccesfull run of SendUiServiceResolver
+ TInt result = repository->Get( KKeySendUiServiceLanguage, storedValue );
+ if ( result != KErrNone || storedValue != User::Language() )
+ {
+ updateNeeded = ETrue;
+ }
+
+ // Issue service list update if mtm count has changed
+ CMtmUiDataRegistry* mtmUiDataRegistry = CMtmUiDataRegistry::NewL( *iSession );
+ TInt newMtmCount( KErrNotFound );
+ if ( mtmUiDataRegistry )
+ {
+ newMtmCount = mtmUiDataRegistry->NumRegisteredMtmDlls();
+ delete mtmUiDataRegistry;
+ }
+
+ result = repository->Get( KKeySendUiServiceMtmCount, storedValue ) ;
+ if ( result != KErrNone || storedValue != newMtmCount )
+ {
+ result = repository->Set( KKeySendUiServiceMtmCount, newMtmCount );
+ updateNeeded = ETrue;
+ }
+
+ TInt oldFeatures(0);
+ TInt newFeatures(0);
+ if ( repository->Get( KKeySendUiFeatureManagerServices, oldFeatures ) != KErrNone )
+ {
+ updateNeeded = ETrue;
+ }
+ FeatureManager::InitializeLibL();
+ FeatureStatus( KFeatureIdMmsPostcard, newFeatures, KSendUiPostcard );
+ FeatureStatus( KFeatureIdAudioMessaging, newFeatures, KSendUiAudioMessage );
+ FeatureStatus( KFeatureIdSenduiMmsUpload, newFeatures, KSendUiMmsUpload );
+ FeatureManager::UnInitializeLib();
+ if ( newFeatures != oldFeatures )
+ {
+ repository->Set( KKeySendUiFeatureManagerServices, newFeatures );
+ updateNeeded = ETrue;
+ }
+
+ CleanupStack::PopAndDestroy( repository );
+
+ if ( updateNeeded )
+ {
+ HandleUpdateServicesL();
+ }
+ LOGTEXT(_L("CSendUiWatcher::CheckIfUpdateNeededL <<"));
+ }
+
+// ---------------------------------------------------------------------------
+// SetTimerL
+// ---------------------------------------------------------------------------
+//
+void CSendUiWatcher::SetTimerL()
+ {
+ LOGTEXT(_L("CSendUiWatcher::SetTimerL >>"));
+ if ( !iTimer )
+ {
+ iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
+ iTimer->Start( KSendUiServiceListUpdateDelay,
+ KSendUiServiceListUpdateDelay,
+ TCallBack( DoTaskL, this));
+ }
+ LOGTEXT(_L("CSendUiWatcher::SetTimerL <<"));
+ }
+
+void CSendUiWatcher::HandleSessionEventL(
+ TMsvSessionEvent aEvent,
+ TAny* /*aArg1*/,
+ TAny* aArg2,
+ TAny* /*aArg3*/ )
+ {
+ // TODO: Reconnect to message server
+ switch ( aEvent )
+ {
+ case EMsvServerReady:
+ {
+ LOGTEXT(_L("Message Server is ready."));
+ break;
+ }
+ case EMsvMtmGroupDeInstalled:
+ case EMsvMtmGroupInstalled:
+ {
+ SetTimerL();
+ break;
+ }
+
+ case EMsvEntriesCreated:// fall through
+ case EMsvEntriesDeleted:
+ {
+ TMsvId folderId = KMsvNullIndexEntryId;
+ folderId = (*(TMsvId*) (aArg2));
+ if (folderId != KMsvRootIndexEntryId)
+ {
+ break;
+ }
+ SetTimerL();
+ break;
+
+ }
+ case EMsvCorruptedIndexRebuilt:
+ LOGTEXT2(_L("Watcher event %d"), aEvent);
+ HandleUpdateServicesL();
+ break;
+ case EMsvCloseSession:
+ case EMsvServerTerminated:
+ delete iSession;
+ iSession = NULL;
+ LOGTEXT(_L("SendUiWatcher session was terminated"));
+ break;
+ case EMsvMediaChanged:// Added to handle change of Msg center
+ SetTimerL();
+ break;
+ default:;
+ }
+ }
+
+// end of file
+
--- a/messagingfw/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -17,4 +17,7 @@
#include "../alwaysonline/group/bld.inf"
#include "../msgcommonutils/group/bld.inf"
-#include "../senduiservices/group/bld.inf"
+//#include "../senduiservices/group/bld.inf"
+#include "../muiuutils/group/bld.inf"
+#include "../deprecate/group/bld.inf"
+
Binary file messagingfw/group/modifiedbld.zip has changed
--- a/messagingfw/msgcommonutils/group/eabiU.def Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/group/eabiU.def Tue Aug 31 15:41:11 2010 +0300
@@ -14,34 +14,34 @@
_ZN13CMsgTextUtils28ConvertParagraphSeparatorsLCERK7TDesC16 @ 13 NONAME
_ZN13CMsgTextUtils4NewLER3RFs @ 14 NONAME
_ZN13CMsgTextUtils8UTF8SizeE7TPtrC16 @ 15 NONAME
- _ZN15CContactMatcher10MatchDataLERK12MDesC16ArrayRK18MVPbkFieldTypeListR21CVPbkContactLinkArrayRK9TCallBack @ 16 NONAME
- _ZN15CContactMatcher10MatchDataLERK7TDesC16RK18MVPbkFieldTypeListR21CVPbkContactLinkArray @ 17 NONAME
- _ZN15CContactMatcher10MatchDataLERK7TDesC16RK18MVPbkFieldTypeListR21CVPbkContactLinkArrayR14TRequestStatus @ 18 NONAME
- _ZN15CContactMatcher10OpenStoreLERK25CVPbkContactStoreUriArray @ 19 NONAME
- _ZN15CContactMatcher10OpenStoreLERK25CVPbkContactStoreUriArrayR14TRequestStatus @ 20 NONAME
- _ZN15CContactMatcher12CloseStoresLEv @ 21 NONAME
- _ZN15CContactMatcher12IsOwnNumberLERK7TDesC16R14TRequestStatus @ 22 NONAME
- _ZN15CContactMatcher12IsOwnNumberLERK7TDesC16Ri @ 23 NONAME
- _ZN15CContactMatcher14OpenAllStoresLER14TRequestStatus @ 24 NONAME
- _ZN15CContactMatcher14OpenAllStoresLEv @ 25 NONAME
- _ZN15CContactMatcher15CancelOperationEv @ 26 NONAME
- _ZN15CContactMatcher16GetStoreContactLERK16MVPbkContactLinkPP17MVPbkStoreContact @ 27 NONAME
- _ZN15CContactMatcher16GetStoreContactLERK16MVPbkContactLinkPP17MVPbkStoreContactR14TRequestStatus @ 28 NONAME
- _ZN15CContactMatcher17GetContactManagerEv @ 29 NONAME
- _ZN15CContactMatcher17GetContactStoresLEv @ 30 NONAME
- _ZN15CContactMatcher17MatchPhoneNumberLERK7TDesC16iN29CVPbkPhoneNumberMatchStrategy26TVPbkPhoneNumberMatchFlagsER21CVPbkContactLinkArray @ 31 NONAME
- _ZN15CContactMatcher17MatchPhoneNumberLERK7TDesC16iN29CVPbkPhoneNumberMatchStrategy26TVPbkPhoneNumberMatchFlagsER21CVPbkContactLinkArrayR14TRequestStatus @ 32 NONAME
- _ZN15CContactMatcher20OpenOwnNumberStoresLER14TRequestStatus @ 33 NONAME
- _ZN15CContactMatcher20OpenOwnNumberStoresLEv @ 34 NONAME
- _ZN15CContactMatcher22ContactHasFieldOfTypeLE21TAiwAddressSelectTypeRK17MVPbkStoreContact @ 35 NONAME
- _ZN15CContactMatcher23OpenDefaultMatchStoresLER14TRequestStatus @ 36 NONAME
- _ZN15CContactMatcher23OpenDefaultMatchStoresLEv @ 37 NONAME
- _ZN15CContactMatcher4NewLEP3RFs @ 38 NONAME
- _ZN15CContactMatcher5NewLCEP3RFs @ 39 NONAME
- _ZN15CContactMatcher8GetNameLER32MVPbkStoreContactFieldCollection @ 40 NONAME
- _ZN15CContactMatcherD0Ev @ 41 NONAME
- _ZN15CContactMatcherD1Ev @ 42 NONAME
- _ZN15CContactMatcherD2Ev @ 43 NONAME
+ _ZN15CContactMatcher10MatchDataLERK12MDesC16ArrayRK18MVPbkFieldTypeListR21CVPbkContactLinkArrayRK9TCallBack @ 16 NONAME ABSENT
+ _ZN15CContactMatcher10MatchDataLERK7TDesC16RK18MVPbkFieldTypeListR21CVPbkContactLinkArray @ 17 NONAME ABSENT
+ _ZN15CContactMatcher10MatchDataLERK7TDesC16RK18MVPbkFieldTypeListR21CVPbkContactLinkArrayR14TRequestStatus @ 18 NONAME ABSENT
+ _ZN15CContactMatcher10OpenStoreLERK25CVPbkContactStoreUriArray @ 19 NONAME ABSENT
+ _ZN15CContactMatcher10OpenStoreLERK25CVPbkContactStoreUriArrayR14TRequestStatus @ 20 NONAME ABSENT
+ _ZN15CContactMatcher12CloseStoresLEv @ 21 NONAME ABSENT
+ _ZN15CContactMatcher12IsOwnNumberLERK7TDesC16R14TRequestStatus @ 22 NONAME ABSENT
+ _ZN15CContactMatcher12IsOwnNumberLERK7TDesC16Ri @ 23 NONAME ABSENT
+ _ZN15CContactMatcher14OpenAllStoresLER14TRequestStatus @ 24 NONAME ABSENT
+ _ZN15CContactMatcher14OpenAllStoresLEv @ 25 NONAME ABSENT
+ _ZN15CContactMatcher15CancelOperationEv @ 26 NONAME ABSENT
+ _ZN15CContactMatcher16GetStoreContactLERK16MVPbkContactLinkPP17MVPbkStoreContact @ 27 NONAME ABSENT
+ _ZN15CContactMatcher16GetStoreContactLERK16MVPbkContactLinkPP17MVPbkStoreContactR14TRequestStatus @ 28 NONAME ABSENT
+ _ZN15CContactMatcher17GetContactManagerEv @ 29 NONAME ABSENT
+ _ZN15CContactMatcher17GetContactStoresLEv @ 30 NONAME ABSENT
+ _ZN15CContactMatcher17MatchPhoneNumberLERK7TDesC16iN29CVPbkPhoneNumberMatchStrategy26TVPbkPhoneNumberMatchFlagsER21CVPbkContactLinkArray @ 31 NONAME ABSENT
+ _ZN15CContactMatcher17MatchPhoneNumberLERK7TDesC16iN29CVPbkPhoneNumberMatchStrategy26TVPbkPhoneNumberMatchFlagsER21CVPbkContactLinkArrayR14TRequestStatus @ 32 NONAME ABSENT
+ _ZN15CContactMatcher20OpenOwnNumberStoresLER14TRequestStatus @ 33 NONAME ABSENT
+ _ZN15CContactMatcher20OpenOwnNumberStoresLEv @ 34 NONAME ABSENT
+ _ZN15CContactMatcher22ContactHasFieldOfTypeLE21TAiwAddressSelectTypeRK17MVPbkStoreContact @ 35 NONAME ABSENT
+ _ZN15CContactMatcher23OpenDefaultMatchStoresLER14TRequestStatus @ 36 NONAME ABSENT
+ _ZN15CContactMatcher23OpenDefaultMatchStoresLEv @ 37 NONAME ABSENT
+ _ZN15CContactMatcher4NewLEP3RFs @ 38 NONAME ABSENT
+ _ZN15CContactMatcher5NewLCEP3RFs @ 39 NONAME ABSENT
+ _ZN15CContactMatcher8GetNameLER32MVPbkStoreContactFieldCollection @ 40 NONAME ABSENT
+ _ZN15CContactMatcherD0Ev @ 41 NONAME ABSENT
+ _ZN15CContactMatcherD1Ev @ 42 NONAME ABSENT
+ _ZN15CContactMatcherD2Ev @ 43 NONAME ABSENT
_ZN17CMsgVoIPExtension4NewLEv @ 44 NONAME
_ZN23CFileProtectionResolver17ProtectionStatusLER5RFileR9TDataType @ 45 NONAME
_ZN23CFileProtectionResolver17ProtectionStatusLER5RFileR9TDataTypeRP6HBufC8 @ 46 NONAME
@@ -49,31 +49,31 @@
_ZN23CFileProtectionResolver17ProtectionStatusLERK7TDesC16R9TDataTypeRP6HBufC8 @ 48 NONAME
_ZN23CFileProtectionResolver4NewLER3RFs @ 49 NONAME
_ZN23CFileProtectionResolver5NewLCER3RFs @ 50 NONAME
- _ZNK15CContactMatcher10FieldTypesEv @ 51 NONAME
- _ZNK15CContactMatcher17GetFieldDataTextLERK17MVPbkStoreContactRK14MVPbkFieldType @ 52 NONAME
- _ZNK15CContactMatcher19GetFieldDataBinaryLERK17MVPbkStoreContactRK14MVPbkFieldType @ 53 NONAME
- _ZNK15CContactMatcher21GetFieldDataDateTimeLERK17MVPbkStoreContactRK14MVPbkFieldType @ 54 NONAME
+ _ZNK15CContactMatcher10FieldTypesEv @ 51 NONAME ABSENT
+ _ZNK15CContactMatcher17GetFieldDataTextLERK17MVPbkStoreContactRK14MVPbkFieldType @ 52 NONAME ABSENT
+ _ZNK15CContactMatcher19GetFieldDataBinaryLERK17MVPbkStoreContactRK14MVPbkFieldType @ 53 NONAME ABSENT
+ _ZNK15CContactMatcher21GetFieldDataDateTimeLERK17MVPbkStoreContactRK14MVPbkFieldType @ 54 NONAME ABSENT
_ZNK17CMsgVoIPExtension15IsVoIPSupportedEv @ 55 NONAME
_ZNK17CMsgVoIPExtension18VoIPProfilesExistLEv @ 56 NONAME
_ZNK17CMsgVoIPExtension24IsPreferredTelephonyVoIPEv @ 57 NONAME
_ZTI13CMsgTextUtils @ 58 NONAME ; #<TI>#
- _ZTI15CContactMatcher @ 59 NONAME ; #<TI>#
+ _ZTI15CContactMatcher @ 59 NONAME ABSENT ; #<TI>#
_ZTI17CMsgVoIPExtension @ 60 NONAME ; #<TI>#
_ZTI23CFileProtectionResolver @ 61 NONAME ; #<TI>#
_ZTV13CMsgTextUtils @ 62 NONAME ; #<VT>#
- _ZTV15CContactMatcher @ 63 NONAME ; #<VT>#
+ _ZTV15CContactMatcher @ 63 NONAME ABSENT ; #<VT>#
_ZTV17CMsgVoIPExtension @ 64 NONAME ; #<VT>#
_ZTV23CFileProtectionResolver @ 65 NONAME ; #<VT>#
- _ZThn12_N15CContactMatcherD0Ev @ 66 NONAME ; #<thunk>#
- _ZThn12_N15CContactMatcherD1Ev @ 67 NONAME ; #<thunk>#
- _ZThn16_N15CContactMatcherD0Ev @ 68 NONAME ; #<thunk>#
- _ZThn16_N15CContactMatcherD1Ev @ 69 NONAME ; #<thunk>#
- _ZThn4_N15CContactMatcherD0Ev @ 70 NONAME ; #<thunk>#
- _ZThn4_N15CContactMatcherD1Ev @ 71 NONAME ; #<thunk>#
- _ZThn8_N15CContactMatcherD0Ev @ 72 NONAME ; #<thunk>#
- _ZThn8_N15CContactMatcherD1Ev @ 73 NONAME ; #<thunk>#
+ _ZThn12_N15CContactMatcherD0Ev @ 66 NONAME ABSENT ; #<thunk>#
+ _ZThn12_N15CContactMatcherD1Ev @ 67 NONAME ABSENT ; #<thunk>#
+ _ZThn16_N15CContactMatcherD0Ev @ 68 NONAME ABSENT ; #<thunk>#
+ _ZThn16_N15CContactMatcherD1Ev @ 69 NONAME ABSENT ; #<thunk>#
+ _ZThn4_N15CContactMatcherD0Ev @ 70 NONAME ABSENT ; #<thunk>#
+ _ZThn4_N15CContactMatcherD1Ev @ 71 NONAME ABSENT ; #<thunk>#
+ _ZThn8_N15CContactMatcherD0Ev @ 72 NONAME ABSENT ; #<thunk>#
+ _ZThn8_N15CContactMatcherD1Ev @ 73 NONAME ABSENT ; #<thunk>#
_ZN13CMsgTextUtils21GetFileNameFromBufferER4TBufILi256EERK7TDesC16iPS4_ @ 74 NONAME
- _ZN15CContactMatcher21ContactNameFormatterLEv @ 75 NONAME
+ _ZN15CContactMatcher21ContactNameFormatterLEv @ 75 NONAME ABSENT
_ZN13CMsgTextUtils17ConvertToUnicodeLERK6TDesC8j @ 76 NONAME
_ZN13CMsgTextUtils18ConvertPtrToDesC16ERK5TDes8R6TDes16 @ 77 NONAME
--- a/messagingfw/msgcommonutils/group/msgcommonutils.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/group/msgcommonutils.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -30,24 +30,30 @@
VERSION 10.0
PAGED
-START RESOURCE msgcommonutils.rss
-TARGETPATH RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
+//START RESOURCE msgcommonutils.rss //depending on vpbk
+//TARGETPATH RESOURCE_FILES_DIR
+//HEADER
+//LANGUAGE_IDS
+//END
SOURCEPATH ../src
-SOURCE contactmatcher.cpp
+//SOURCE contactmatcher.cpp
SOURCE msgtextutils.cpp
SOURCE MsgSvgUtils.cpp
+
+#ifdef __VOIP
SOURCE MsgVoIPExtension.cpp
+#else
+SOURCE MsgVoIPExtensionStub.cpp
+#endif //VOIP
+
source fileprotectionresolver.cpp
-#ifdef __JAVA_MIDP20
-source javaprotectionresolver.cpp
-#else
+//#ifdef __JAVA_MIDP20
+//source javaprotectionresolver.cpp
+//#else
source javaprotectionresolverstub.cpp
-#endif
+//#endif
USERINCLUDE ../inc
USERINCLUDE ../../../msgfw_plat/msg_common_utils_api/inc
@@ -75,12 +81,16 @@
LIBRARY gdi.lib
+#if defined(__VOIP)
LIBRARY serviceprovidersettings.lib
+#endif // __VOIP
LIBRARY commonengine.lib
LIBRARY caf.lib
-
-LIBRARY vpbkeng.lib
-LIBRARY pbk2presentation.lib
+#ifdef __JAVA_MIDP20
+//LIBRARY javadrmutils.lib
+#endif
+//LIBRARY VPbkEng.lib
+//LIBRARY Pbk2Presentation.lib
#if defined( ARMCC )
--- a/messagingfw/msgcommonutils/group/winsu.def Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/group/winsu.def Tue Aug 31 15:41:11 2010 +0300
@@ -1,50 +1,50 @@
EXPORTS
??0CMsgSvgUtils@@QAE@XZ @ 1 NONAME ; CMsgSvgUtils::CMsgSvgUtils(void)
- ??1CContactMatcher@@UAE@XZ @ 2 NONAME ; CContactMatcher::~CContactMatcher(void)
- ?CancelOperation@CContactMatcher@@QAEXXZ @ 3 NONAME ; void CContactMatcher::CancelOperation(void)
+ ??1CContactMatcher@@UAE@XZ @ 2 NONAME ABSENT ; CContactMatcher::~CContactMatcher(void)
+ ?CancelOperation@CContactMatcher@@QAEXXZ @ 3 NONAME ABSENT ; void CContactMatcher::CancelOperation(void)
?CharconvIdToMibIdL@CMsgTextUtils@@QAEII@Z @ 4 NONAME ; unsigned int CMsgTextUtils::CharconvIdToMibIdL(unsigned int)
- ?CloseStoresL@CContactMatcher@@QAEXXZ @ 5 NONAME ; void CContactMatcher::CloseStoresL(void)
- ?ContactHasFieldOfTypeL@CContactMatcher@@QAEHW4TAiwAddressSelectType@@ABVMVPbkStoreContact@@@Z @ 6 NONAME ; int CContactMatcher::ContactHasFieldOfTypeL(enum TAiwAddressSelectType, class MVPbkStoreContact const &)
+ ?CloseStoresL@CContactMatcher@@QAEXXZ @ 5 NONAME ABSENT ; void CContactMatcher::CloseStoresL(void)
+ ?ContactHasFieldOfTypeL@CContactMatcher@@QAEHW4TAiwAddressSelectType@@ABVMVPbkStoreContact@@@Z @ 6 NONAME ABSENT ; int CContactMatcher::ContactHasFieldOfTypeL(enum TAiwAddressSelectType, class MVPbkStoreContact const &)
?ConvertLineBreaksL@CMsgTextUtils@@SAXAAVCRichText@@H@Z @ 7 NONAME ; void CMsgTextUtils::ConvertLineBreaksL(class CRichText &, int)
?ConvertParagraphSeparatorsLC@CMsgTextUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 8 NONAME ; class HBufC16 * CMsgTextUtils::ConvertParagraphSeparatorsLC(class TDesC16 const &)
?ConvertToBuffer16LC@CMsgTextUtils@@QAEPAVHBufC16@@ABVTDesC16@@I@Z @ 9 NONAME ; class HBufC16 * CMsgTextUtils::ConvertToBuffer16LC(class TDesC16 const &, unsigned int)
?ConvertToBuffer8LC@CMsgTextUtils@@QAEPAVHBufC8@@ABVTDesC16@@I@Z @ 10 NONAME ; class HBufC8 * CMsgTextUtils::ConvertToBuffer8LC(class TDesC16 const &, unsigned int)
?ConvertToFileL@CMsgTextUtils@@QAEXABVTDesC16@@AAVRFile@@I@Z @ 11 NONAME ; void CMsgTextUtils::ConvertToFileL(class TDesC16 const &, class RFile &, unsigned int)
- ?FieldTypes@CContactMatcher@@QBEABVMVPbkFieldTypeList@@XZ @ 12 NONAME ; class MVPbkFieldTypeList const & CContactMatcher::FieldTypes(void) const
+ ?FieldTypes@CContactMatcher@@QBEABVMVPbkFieldTypeList@@XZ @ 12 NONAME ABSENT ; class MVPbkFieldTypeList const & CContactMatcher::FieldTypes(void) const
?GenerateThumbnailL@CMsgSvgUtils@@QAEXAAVRFile@@PAVCFbsBitmap@@1HAAVTSize@@@Z @ 13 NONAME ; void CMsgSvgUtils::GenerateThumbnailL(class RFile &, class CFbsBitmap *, class CFbsBitmap *, int, class TSize &)
- ?GetContactManager@CContactMatcher@@QAEAAVCVPbkContactManager@@XZ @ 14 NONAME ; class CVPbkContactManager & CContactMatcher::GetContactManager(void)
- ?GetContactStoresL@CContactMatcher@@QAEAAVMVPbkContactStoreList@@XZ @ 15 NONAME ; class MVPbkContactStoreList & CContactMatcher::GetContactStoresL(void)
- ?GetFieldDataBinaryL@CContactMatcher@@QBE?AVTPtrC8@@ABVMVPbkStoreContact@@ABVMVPbkFieldType@@@Z @ 16 NONAME ; class TPtrC8 CContactMatcher::GetFieldDataBinaryL(class MVPbkStoreContact const &, class MVPbkFieldType const &) const
- ?GetFieldDataDateTimeL@CContactMatcher@@QBE?AVTTime@@ABVMVPbkStoreContact@@ABVMVPbkFieldType@@@Z @ 17 NONAME ; class TTime CContactMatcher::GetFieldDataDateTimeL(class MVPbkStoreContact const &, class MVPbkFieldType const &) const
- ?GetFieldDataTextL@CContactMatcher@@QBE?AVTPtrC16@@ABVMVPbkStoreContact@@ABVMVPbkFieldType@@@Z @ 18 NONAME ; class TPtrC16 CContactMatcher::GetFieldDataTextL(class MVPbkStoreContact const &, class MVPbkFieldType const &) const
- ?GetNameL@CContactMatcher@@QAEPAVHBufC16@@AAVMVPbkStoreContactFieldCollection@@@Z @ 19 NONAME ; class HBufC16 * CContactMatcher::GetNameL(class MVPbkStoreContactFieldCollection &)
+ ?GetContactManager@CContactMatcher@@QAEAAVCVPbkContactManager@@XZ @ 14 NONAME ABSENT ; class CVPbkContactManager & CContactMatcher::GetContactManager(void)
+ ?GetContactStoresL@CContactMatcher@@QAEAAVMVPbkContactStoreList@@XZ @ 15 NONAME ABSENT ; class MVPbkContactStoreList & CContactMatcher::GetContactStoresL(void)
+ ?GetFieldDataBinaryL@CContactMatcher@@QBE?AVTPtrC8@@ABVMVPbkStoreContact@@ABVMVPbkFieldType@@@Z @ 16 NONAME ABSENT ; class TPtrC8 CContactMatcher::GetFieldDataBinaryL(class MVPbkStoreContact const &, class MVPbkFieldType const &) const
+ ?GetFieldDataDateTimeL@CContactMatcher@@QBE?AVTTime@@ABVMVPbkStoreContact@@ABVMVPbkFieldType@@@Z @ 17 NONAME ABSENT ; class TTime CContactMatcher::GetFieldDataDateTimeL(class MVPbkStoreContact const &, class MVPbkFieldType const &) const
+ ?GetFieldDataTextL@CContactMatcher@@QBE?AVTPtrC16@@ABVMVPbkStoreContact@@ABVMVPbkFieldType@@@Z @ 18 NONAME ABSENT ; class TPtrC16 CContactMatcher::GetFieldDataTextL(class MVPbkStoreContact const &, class MVPbkFieldType const &) const
+ ?GetNameL@CContactMatcher@@QAEPAVHBufC16@@AAVMVPbkStoreContactFieldCollection@@@Z @ 19 NONAME ABSENT ; class HBufC16 * CContactMatcher::GetNameL(class MVPbkStoreContactFieldCollection &)
?GetSafeAttachmentNameLC@CMsgTextUtils@@SAPAVHBufC16@@AAVMMsvAttachmentManager@@ABVTDesC16@@IH@Z @ 20 NONAME ; class HBufC16 * CMsgTextUtils::GetSafeAttachmentNameLC(class MMsvAttachmentManager &, class TDesC16 const &, unsigned int, int)
- ?GetStoreContactL@CContactMatcher@@QAEXABVMVPbkContactLink@@PAPAVMVPbkStoreContact@@@Z @ 21 NONAME ; void CContactMatcher::GetStoreContactL(class MVPbkContactLink const &, class MVPbkStoreContact * *)
- ?GetStoreContactL@CContactMatcher@@QAEXABVMVPbkContactLink@@PAPAVMVPbkStoreContact@@AAVTRequestStatus@@@Z @ 22 NONAME ; void CContactMatcher::GetStoreContactL(class MVPbkContactLink const &, class MVPbkStoreContact * *, class TRequestStatus &)
- ?IsOwnNumberL@CContactMatcher@@QAEXABVTDesC16@@AAH@Z @ 23 NONAME ; void CContactMatcher::IsOwnNumberL(class TDesC16 const &, int &)
- ?IsOwnNumberL@CContactMatcher@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 24 NONAME ; void CContactMatcher::IsOwnNumberL(class TDesC16 const &, class TRequestStatus &)
+ ?GetStoreContactL@CContactMatcher@@QAEXABVMVPbkContactLink@@PAPAVMVPbkStoreContact@@@Z @ 21 NONAME ABSENT ; void CContactMatcher::GetStoreContactL(class MVPbkContactLink const &, class MVPbkStoreContact * *)
+ ?GetStoreContactL@CContactMatcher@@QAEXABVMVPbkContactLink@@PAPAVMVPbkStoreContact@@AAVTRequestStatus@@@Z @ 22 NONAME ABSENT ; void CContactMatcher::GetStoreContactL(class MVPbkContactLink const &, class MVPbkStoreContact * *, class TRequestStatus &)
+ ?IsOwnNumberL@CContactMatcher@@QAEXABVTDesC16@@AAH@Z @ 23 NONAME ABSENT ; void CContactMatcher::IsOwnNumberL(class TDesC16 const &, int &)
+ ?IsOwnNumberL@CContactMatcher@@QAEXABVTDesC16@@AAVTRequestStatus@@@Z @ 24 NONAME ABSENT ; void CContactMatcher::IsOwnNumberL(class TDesC16 const &, class TRequestStatus &)
?IsPreferredTelephonyVoIP@CMsgVoIPExtension@@QBEHXZ @ 25 NONAME ; int CMsgVoIPExtension::IsPreferredTelephonyVoIP(void) const
?IsVoIPSupported@CMsgVoIPExtension@@QBEHXZ @ 26 NONAME ; int CMsgVoIPExtension::IsVoIPSupported(void) const
- ?MatchDataL@CContactMatcher@@QAEXABVMDesC16Array@@ABVMVPbkFieldTypeList@@AAVCVPbkContactLinkArray@@ABVTCallBack@@@Z @ 27 NONAME ; void CContactMatcher::MatchDataL(class MDesC16Array const &, class MVPbkFieldTypeList const &, class CVPbkContactLinkArray &, class TCallBack const &)
- ?MatchDataL@CContactMatcher@@QAEXABVTDesC16@@ABVMVPbkFieldTypeList@@AAVCVPbkContactLinkArray@@@Z @ 28 NONAME ; void CContactMatcher::MatchDataL(class TDesC16 const &, class MVPbkFieldTypeList const &, class CVPbkContactLinkArray &)
- ?MatchDataL@CContactMatcher@@QAEXABVTDesC16@@ABVMVPbkFieldTypeList@@AAVCVPbkContactLinkArray@@AAVTRequestStatus@@@Z @ 29 NONAME ; void CContactMatcher::MatchDataL(class TDesC16 const &, class MVPbkFieldTypeList const &, class CVPbkContactLinkArray &, class TRequestStatus &)
- ?MatchPhoneNumberL@CContactMatcher@@QAEXABVTDesC16@@HW4TVPbkPhoneNumberMatchFlags@CVPbkPhoneNumberMatchStrategy@@AAVCVPbkContactLinkArray@@@Z @ 30 NONAME ; void CContactMatcher::MatchPhoneNumberL(class TDesC16 const &, int, enum CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags, class CVPbkContactLinkArray &)
- ?MatchPhoneNumberL@CContactMatcher@@QAEXABVTDesC16@@HW4TVPbkPhoneNumberMatchFlags@CVPbkPhoneNumberMatchStrategy@@AAVCVPbkContactLinkArray@@AAVTRequestStatus@@@Z @ 31 NONAME ; void CContactMatcher::MatchPhoneNumberL(class TDesC16 const &, int, enum CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags, class CVPbkContactLinkArray &, class TRequestStatus &)
+ ?MatchDataL@CContactMatcher@@QAEXABVMDesC16Array@@ABVMVPbkFieldTypeList@@AAVCVPbkContactLinkArray@@ABVTCallBack@@@Z @ 27 NONAME ABSENT ; void CContactMatcher::MatchDataL(class MDesC16Array const &, class MVPbkFieldTypeList const &, class CVPbkContactLinkArray &, class TCallBack const &)
+ ?MatchDataL@CContactMatcher@@QAEXABVTDesC16@@ABVMVPbkFieldTypeList@@AAVCVPbkContactLinkArray@@@Z @ 28 NONAME ABSENT ; void CContactMatcher::MatchDataL(class TDesC16 const &, class MVPbkFieldTypeList const &, class CVPbkContactLinkArray &)
+ ?MatchDataL@CContactMatcher@@QAEXABVTDesC16@@ABVMVPbkFieldTypeList@@AAVCVPbkContactLinkArray@@AAVTRequestStatus@@@Z @ 29 NONAME ABSENT ; void CContactMatcher::MatchDataL(class TDesC16 const &, class MVPbkFieldTypeList const &, class CVPbkContactLinkArray &, class TRequestStatus &)
+ ?MatchPhoneNumberL@CContactMatcher@@QAEXABVTDesC16@@HW4TVPbkPhoneNumberMatchFlags@CVPbkPhoneNumberMatchStrategy@@AAVCVPbkContactLinkArray@@@Z @ 30 NONAME ABSENT ; void CContactMatcher::MatchPhoneNumberL(class TDesC16 const &, int, enum CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags, class CVPbkContactLinkArray &)
+ ?MatchPhoneNumberL@CContactMatcher@@QAEXABVTDesC16@@HW4TVPbkPhoneNumberMatchFlags@CVPbkPhoneNumberMatchStrategy@@AAVCVPbkContactLinkArray@@AAVTRequestStatus@@@Z @ 31 NONAME ABSENT ; void CContactMatcher::MatchPhoneNumberL(class TDesC16 const &, int, enum CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags, class CVPbkContactLinkArray &, class TRequestStatus &)
?MibIdToCharconvIdL@CMsgTextUtils@@QAEII@Z @ 32 NONAME ; unsigned int CMsgTextUtils::MibIdToCharconvIdL(unsigned int)
- ?NewL@CContactMatcher@@SAPAV1@PAVRFs@@@Z @ 33 NONAME ; class CContactMatcher * CContactMatcher::NewL(class RFs *)
+ ?NewL@CContactMatcher@@SAPAV1@PAVRFs@@@Z @ 33 NONAME ABSENT ; class CContactMatcher * CContactMatcher::NewL(class RFs *)
?NewL@CFileProtectionResolver@@SAPAV1@AAVRFs@@@Z @ 34 NONAME ; class CFileProtectionResolver * CFileProtectionResolver::NewL(class RFs &)
?NewL@CMsgTextUtils@@SAPAV1@AAVRFs@@@Z @ 35 NONAME ; class CMsgTextUtils * CMsgTextUtils::NewL(class RFs &)
?NewL@CMsgVoIPExtension@@SAPAV1@XZ @ 36 NONAME ; class CMsgVoIPExtension * CMsgVoIPExtension::NewL(void)
- ?NewLC@CContactMatcher@@SAPAV1@PAVRFs@@@Z @ 37 NONAME ; class CContactMatcher * CContactMatcher::NewLC(class RFs *)
+ ?NewLC@CContactMatcher@@SAPAV1@PAVRFs@@@Z @ 37 NONAME ABSENT ; class CContactMatcher * CContactMatcher::NewLC(class RFs *)
?NewLC@CFileProtectionResolver@@SAPAV1@AAVRFs@@@Z @ 38 NONAME ; class CFileProtectionResolver * CFileProtectionResolver::NewLC(class RFs &)
- ?OpenAllStoresL@CContactMatcher@@QAEXAAVTRequestStatus@@@Z @ 39 NONAME ; void CContactMatcher::OpenAllStoresL(class TRequestStatus &)
- ?OpenAllStoresL@CContactMatcher@@QAEXXZ @ 40 NONAME ; void CContactMatcher::OpenAllStoresL(void)
- ?OpenDefaultMatchStoresL@CContactMatcher@@QAEXAAVTRequestStatus@@@Z @ 41 NONAME ; void CContactMatcher::OpenDefaultMatchStoresL(class TRequestStatus &)
- ?OpenDefaultMatchStoresL@CContactMatcher@@QAEXXZ @ 42 NONAME ; void CContactMatcher::OpenDefaultMatchStoresL(void)
- ?OpenOwnNumberStoresL@CContactMatcher@@QAEXAAVTRequestStatus@@@Z @ 43 NONAME ; void CContactMatcher::OpenOwnNumberStoresL(class TRequestStatus &)
- ?OpenOwnNumberStoresL@CContactMatcher@@QAEXXZ @ 44 NONAME ; void CContactMatcher::OpenOwnNumberStoresL(void)
- ?OpenStoreL@CContactMatcher@@QAEXABVCVPbkContactStoreUriArray@@@Z @ 45 NONAME ; void CContactMatcher::OpenStoreL(class CVPbkContactStoreUriArray const &)
- ?OpenStoreL@CContactMatcher@@QAEXABVCVPbkContactStoreUriArray@@AAVTRequestStatus@@@Z @ 46 NONAME ; void CContactMatcher::OpenStoreL(class CVPbkContactStoreUriArray const &, class TRequestStatus &)
+ ?OpenAllStoresL@CContactMatcher@@QAEXAAVTRequestStatus@@@Z @ 39 NONAME ABSENT; void CContactMatcher::OpenAllStoresL(class TRequestStatus &)
+ ?OpenAllStoresL@CContactMatcher@@QAEXXZ @ 40 NONAME ABSENT ; void CContactMatcher::OpenAllStoresL(void)
+ ?OpenDefaultMatchStoresL@CContactMatcher@@QAEXAAVTRequestStatus@@@Z @ 41 NONAME ABSENT ; void CContactMatcher::OpenDefaultMatchStoresL(class TRequestStatus &)
+ ?OpenDefaultMatchStoresL@CContactMatcher@@QAEXXZ @ 42 NONAME ABSENT ; void CContactMatcher::OpenDefaultMatchStoresL(void)
+ ?OpenOwnNumberStoresL@CContactMatcher@@QAEXAAVTRequestStatus@@@Z @ 43 NONAME ABSENT ; void CContactMatcher::OpenOwnNumberStoresL(class TRequestStatus &)
+ ?OpenOwnNumberStoresL@CContactMatcher@@QAEXXZ @ 44 NONAME ABSENT ; void CContactMatcher::OpenOwnNumberStoresL(void)
+ ?OpenStoreL@CContactMatcher@@QAEXABVCVPbkContactStoreUriArray@@@Z @ 45 NONAME ABSENT ; void CContactMatcher::OpenStoreL(class CVPbkContactStoreUriArray const &)
+ ?OpenStoreL@CContactMatcher@@QAEXABVCVPbkContactStoreUriArray@@AAVTRequestStatus@@@Z @ 46 NONAME ABSENT ; void CContactMatcher::OpenStoreL(class CVPbkContactStoreUriArray const &, class TRequestStatus &)
?ProtectionStatusL@CFileProtectionResolver@@QAEHAAVRFile@@AAVTDataType@@@Z @ 47 NONAME ; int CFileProtectionResolver::ProtectionStatusL(class RFile &, class TDataType &)
?ProtectionStatusL@CFileProtectionResolver@@QAEHAAVRFile@@AAVTDataType@@AAPAVHBufC8@@@Z @ 48 NONAME ; int CFileProtectionResolver::ProtectionStatusL(class RFile &, class TDataType &, class HBufC8 * &)
?ProtectionStatusL@CFileProtectionResolver@@QAEHABVTDesC16@@AAVTDataType@@@Z @ 49 NONAME ; int CFileProtectionResolver::ProtectionStatusL(class TDesC16 const &, class TDataType &)
@@ -54,7 +54,7 @@
?UTF8Size@CMsgTextUtils@@SAHVTPtrC16@@@Z @ 53 NONAME ; int CMsgTextUtils::UTF8Size(class TPtrC16)
?VoIPProfilesExistL@CMsgVoIPExtension@@QBEHXZ @ 54 NONAME ; int CMsgVoIPExtension::VoIPProfilesExistL(void) const
?GetFileNameFromBuffer@CMsgTextUtils@@SAXAAV?$TBuf@$0BAA@@@ABVTDesC16@@HPBV3@@Z @ 55 NONAME ; void CMsgTextUtils::GetFileNameFromBuffer(class TBuf<256> &, class TDesC16 const &, int, class TDesC16 const *)
- ?ContactNameFormatterL@CContactMatcher@@QAEAAVMPbk2ContactNameFormatter@@XZ @ 56 NONAME ; class MPbk2ContactNameFormatter & CContactMatcher::ContactNameFormatterL(void)
+ ?ContactNameFormatterL@CContactMatcher@@QAEAAVMPbk2ContactNameFormatter@@XZ @ 56 NONAME ABSENT ; class MPbk2ContactNameFormatter & CContactMatcher::ContactNameFormatterL(void)
?ConvertPtrToDesC16@CMsgTextUtils@@QAEXABVTDes8@@AAVTDes16@@@Z @ 57 NONAME ; void CMsgTextUtils::ConvertPtrToDesC16(class TDes8 const &, class TDes16 &)
?ConvertToUnicodeL@CMsgTextUtils@@QAEPAVHBufC16@@ABVTDesC8@@I@Z @ 58 NONAME ; class HBufC16 * CMsgTextUtils::ConvertToUnicodeL(class TDesC8 const &, unsigned int)
--- a/messagingfw/msgcommonutils/rom/msgcommonutils.iby Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/rom/msgcommonutils.iby Tue Aug 31 15:41:11 2010 +0300
@@ -21,6 +21,5 @@
// msgcommonutils
//
file=ABI_DIR\BUILD_DIR\msgcommonutils.dll SHARED_LIB_DIR\msgcommonutils.dll
-data=DATAZ_\RESOURCE_FILES_DIR\msgcommonutils.rsc RESOURCE_FILES_DIR\msgcommonutils.rsc
#endif // __MSGCOMMONUTILS_IBY__
--- a/messagingfw/msgcommonutils/src/MsgVoIPExtension.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/src/MsgVoIPExtension.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005, 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005, 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"
@@ -11,16 +11,13 @@
*
* Contributors:
*
-* Description: Get count of VoIP profiles.
+* Description: Stub class for get count of VoIP profiles.
*
*/
#include "MsgVoIPExtension.h"
-#include <spsettings.h>
-#include <featmgr.h>
-
// ================= MEMBER FUNCTIONS =======================
// C++ default constructor can NOT contain any code, that
@@ -28,15 +25,14 @@
//
CMsgVoIPExtension::CMsgVoIPExtension()
{
- iVoIPFeatureSupport = EFalse;
}
// Two-phased constructor.
//
EXPORT_C CMsgVoIPExtension* CMsgVoIPExtension::NewL()
{
- CMsgVoIPExtension *self =
- new ( ELeave ) CMsgVoIPExtension();
+ CMsgVoIPExtension *self =
+ new ( ELeave ) CMsgVoIPExtension();
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop();
@@ -47,44 +43,22 @@
//
void CMsgVoIPExtension::ConstructL()
{
- FeatureManager::InitializeLibL();
- //checking If VOIP is enabled
- if( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
- {
- iVoIPFeatureSupport = ETrue;
- }
- FeatureManager::UnInitializeLib();
- if(iVoIPFeatureSupport)
- {
- // for handling services related data
- iSPSettings = CSPSettings::NewL();
- }
- }
+ }
+
// Destructor
//
CMsgVoIPExtension::~CMsgVoIPExtension()
{
- if(iVoIPFeatureSupport)
- {
- delete iSPSettings;
- }
}
// ----------------------------------------------------
// CMsgVoIPExtension::VoIPProfilesExistL
-//
+//
// ----------------------------------------------------
EXPORT_C TBool CMsgVoIPExtension::VoIPProfilesExistL() const
{
- TBool result = EFalse;
+ return EFalse;
+ }
- if(iVoIPFeatureSupport)
- {
- result = iSPSettings->IsFeatureSupported( ESupportVoIPFeature ) &&
- iSPSettings->IsFeatureSupported( ESupportInternetCallFeature );
- }
- return result;
- }
-
// ----------------------------------------------------
// CMsgVoIPExtension::IsPreferredTelephonyVoIP
//
@@ -100,13 +74,9 @@
// ----------------------------------------------------
EXPORT_C TBool CMsgVoIPExtension::IsVoIPSupported() const
{
- TBool result = EFalse;
-
- if(iVoIPFeatureSupport)
- {
- return iSPSettings->IsFeatureSupported( ESupportVoIPFeature );
- }
- return result;
+ return EFalse;
}
+
// End of File
+
--- a/messagingfw/msgcommonutils/src/MsgVoIPExtensionStub.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2005, 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: Stub class for get count of VoIP profiles.
-*
-*/
-
-
-#include "MsgVoIPExtension.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CMsgVoIPExtension::CMsgVoIPExtension()
- {
- }
-
-// Two-phased constructor.
-//
-EXPORT_C CMsgVoIPExtension* CMsgVoIPExtension::NewL()
- {
- CMsgVoIPExtension *self =
- new ( ELeave ) CMsgVoIPExtension();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// ConstructL
-//
-void CMsgVoIPExtension::ConstructL()
- {
- }
-
-// Destructor
-//
-CMsgVoIPExtension::~CMsgVoIPExtension()
- {
- }
-// ----------------------------------------------------
-// CMsgVoIPExtension::VoIPProfilesExistL
-//
-// ----------------------------------------------------
-EXPORT_C TBool CMsgVoIPExtension::VoIPProfilesExistL() const
- {
- return EFalse;
- }
-
-// ----------------------------------------------------
-// CMsgVoIPExtension::IsPreferredTelephonyVoIP
-//
-// ----------------------------------------------------
-EXPORT_C TBool CMsgVoIPExtension::IsPreferredTelephonyVoIP() const
- {
- return EFalse;
- }
-
-// ----------------------------------------------------
-// CMsgVoIPExtension::IsVoIPSupported
-//
-// ----------------------------------------------------
-EXPORT_C TBool CMsgVoIPExtension::IsVoIPSupported() const
- {
- return EFalse;
- }
-
-
-// End of File
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgcommonutils/src/MsgVoIPExtensionwithvoip.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2005, 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: Get count of VoIP profiles.
+*
+*/
+
+
+#include "MsgVoIPExtension.h"
+
+#include <spsettings.h>
+
+// ================= MEMBER FUNCTIONS =======================
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CMsgVoIPExtension::CMsgVoIPExtension()
+ {
+ }
+
+// Two-phased constructor.
+//
+EXPORT_C CMsgVoIPExtension* CMsgVoIPExtension::NewL()
+ {
+ CMsgVoIPExtension *self =
+ new ( ELeave ) CMsgVoIPExtension();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+// ConstructL
+//
+void CMsgVoIPExtension::ConstructL()
+ {
+ // for handling services related data
+ iSPSettings = CSPSettings::NewL();
+ }
+
+// Destructor
+//
+CMsgVoIPExtension::~CMsgVoIPExtension()
+ {
+ delete iSPSettings;
+ }
+
+// ----------------------------------------------------
+// CMsgVoIPExtension::VoIPProfilesExistL
+//
+// ----------------------------------------------------
+EXPORT_C TBool CMsgVoIPExtension::VoIPProfilesExistL() const
+ {
+ return iSPSettings->IsFeatureSupported( ESupportVoIPFeature ) &&
+ iSPSettings->IsFeatureSupported( ESupportInternetCallFeature );
+ }
+
+// ----------------------------------------------------
+// CMsgVoIPExtension::IsPreferredTelephonyVoIP
+//
+// ----------------------------------------------------
+EXPORT_C TBool CMsgVoIPExtension::IsPreferredTelephonyVoIP() const
+ {
+ return EFalse;
+ }
+
+// ----------------------------------------------------
+// CMsgVoIPExtension::IsVoIPSupported
+//
+// ----------------------------------------------------
+EXPORT_C TBool CMsgVoIPExtension::IsVoIPSupported() const
+ {
+ return iSPSettings->IsFeatureSupported( ESupportVoIPFeature );
+ }
+
+// End of File
--- a/messagingfw/msgcommonutils/src/javaprotectionresolver.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/src/javaprotectionresolver.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -27,7 +27,9 @@
#include <apmstd.h> // TDataType
#include <f32file.h> // RFs, RFile, CFileMan
-#include "javaprotectionresolver.h"
+#include <javasuperdparser.h>
+
+#include "JavaProtectionResolver.h"
// EXTERNAL DATA STRUCTURES
@@ -39,6 +41,14 @@
// LOCAL CONSTANTS AND MACROS
+#if defined (__WINS__)
+//_LIT( KFileProtTempDir, "c:\\system\\temp\\fileprot_temp\\");
+_LIT( KFileProtTempDir, "\x43:\\system\\temp\\fileprot_temp\\");
+#else
+//_LIT( KFileProtTempDir, "d:\\system\\temp\\fileprot_temp\\");
+_LIT( KFileProtTempDir, "\x44:\\system\\temp\\fileprot_temp\\");
+#endif
+
// MODULE DATA STRUCTURES
// LOCAL FUNCTION PROTOTYPES
@@ -82,32 +92,27 @@
// -----------------------------------------------------------------------------
//
TBool CJavaProtectionResolver::IsSuperDistributionPackageL( RFile& aFile )
- {
- /**
- * JavaSuperDParser has been removed from 9.2 TB,
- * So we will always return EFalse and whole code of function is commented out.
- */
-// TBool retVal( EFalse );
-//
-// CFileMan* fileMan = CFileMan::NewL( iFs );
-// iFs.MkDir( KFileProtTempDir );
-//
-// Java::CJavaSuperDParser* javaParser( NULL );
-// TRAPD( err, javaParser = Java::CJavaSuperDParser::NewL( iFs,
-// aFile,
-// KFileProtTempDir ) );
-// if ( !err )
-// {
-// retVal = ETrue;
-// }
-// delete javaParser;
-//
-// /*TInt err =*/ fileMan->Delete( KFileProtTempDir /*, CFileMan::ERecurse*/ );
-// /*TInt err =*/ fileMan->RmDir( KFileProtTempDir );
-// delete fileMan;
+ {
+ TBool retVal( EFalse );
+
+ CFileMan* fileMan = CFileMan::NewL( iFs );
+ iFs.MkDir( KFileProtTempDir );
-// return retVal;
- return EFalse;
+ Java::CJavaSuperDParser* javaParser( NULL );
+ TRAPD( err, javaParser = Java::CJavaSuperDParser::NewL( iFs,
+ aFile,
+ KFileProtTempDir ) );
+ if ( !err )
+ {
+ retVal = ETrue;
+ }
+ delete javaParser;
+
+ /*TInt err =*/ fileMan->Delete( KFileProtTempDir /*, CFileMan::ERecurse*/ );
+ /*TInt err =*/ fileMan->RmDir( KFileProtTempDir );
+ delete fileMan;
+
+ return retVal;
}
// End of File
--- a/messagingfw/msgcommonutils/src/javaprotectionresolverstub.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/src/javaprotectionresolverstub.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -25,7 +25,7 @@
#include <apmstd.h> // TDataType
#include <f32file.h> // RFs, RFile, CFileMan
-#include "JavaProtectionResolver.h"
+#include "javaprotectionresolver.h"
// EXTERNAL DATA STRUCTURES
--- a/messagingfw/msgcommonutils/src/msgtextutils.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgcommonutils/src/msgtextutils.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -870,6 +870,7 @@
//buffer to hold target data and return to caller
HBufC* resultBuffer = HBufC::NewL( maxLength );
+ _LIT8( KReplaceChar8, "_" );
if ( iCharConv->PrepareToConvertToOrFromL( aCharacterSetIdentifier, iFs ) !=
CCnvCharacterSetConverter::EAvailable )
--- a/messagingfw/msgsrvnstore/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -15,7 +15,7 @@
#include "../mtmbase/group/bld.inf"
#include "../server/group/bld.inf"
-#include "../serverexe/group/BLD.INF"
+#include "../serverexe/group/bld.inf"
PRJ_EXPORTS
msgerr.ra SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(errors/generic/msgerr.ra)
--- a/messagingfw/msgsrvnstore/group/messaging_framework.history.xml Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/group/messaging_framework.history.xml Tue Aug 31 15:41:11 2010 +0300
@@ -4,10 +4,10 @@
Framework for storage, retrieval, editing, sending and receiving of messages such as email or SMS.
</purpose>
-<defect number="SALM-82YBE9/DEF144617" title="The pointer cacheEntry alloacted on heap must be pushed onto CleanupStack before a leave function is invoked" " revision= "133">
- Updated msvdbadapter.cpp to push and pop of CMsvCacheEntry in GetChildren() API .
+ <defect number="PDEF145298" title="No message content shown, when opening new mail with POP3 account" revision= "133">
+ TMsvEntry::SetConnected() was updated wronly.
</defect>
-
+
<defect number="PDEF142159/EHGO-7V4CS2 " title="A note is displayed after formatting Memory card when "Memory in use" " revision= "132">
Updated the Notification wrt DiskRemove and Disk Insert.
</defect>
--- a/messagingfw/msgsrvnstore/server/group/MSGS.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/group/MSGS.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -19,6 +19,7 @@
@file
*/
+#include <platform_paths.hrh>
TARGET msgs.dll
TARGETTYPE dll
@@ -99,6 +100,7 @@
START RESOURCE MSGS.rss
TARGETPATH resource/messaging
+TARGET MSGS.rsc
HEADER
LANG SC
END
@@ -166,6 +168,7 @@
#endif
#endif
+OS_LAYER_SYSTEMINCLUDE
--- a/messagingfw/msgsrvnstore/server/group/MSGS.rss Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/group/MSGS.rss Tue Aug 31 15:41:11 2010 +0300
@@ -14,7 +14,8 @@
//
#include "msgs.rls"
-#include "../inc/MSVSTD.HRH"
+#include <msvstd.hrh>
+#include <msgs.loc>
// Flags - defined in TMsvEntry
@@ -59,32 +60,42 @@
parent=KMsvRootIndexEntryIdValue;
type=KUidMsvServiceEntryValue;
flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=STRING_r_server_index_startup1; },
+ details="Local"; },
SERVERENTRY { id=KMsvGlobalInBoxIndexEntryIdValue;
parent=KMsvLocalServiceIndexEntryIdValue;
type=KUidMsvFolderEntryValue;
flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=STRING_r_server_index_startup2; },
+ details=qtn_mce_inbox; },
SERVERENTRY { id=KMsvGlobalOutBoxIndexEntryIdValue;
parent=KMsvLocalServiceIndexEntryIdValue;
type=KUidMsvFolderEntryValue;
flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=STRING_r_server_index_startup3; },
+ details=qtn_mce_outbox; },
SERVERENTRY { id=KMsvDraftEntryIdValue;
parent=KMsvLocalServiceIndexEntryIdValue;
type=KUidMsvFolderEntryValue;
flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=STRING_r_server_index_startup4; },
+ details=qtn_mce_drafts; },
SERVERENTRY { id=KMsvSentEntryIdValue;
parent=KMsvLocalServiceIndexEntryIdValue;
type=KUidMsvFolderEntryValue;
flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=STRING_r_server_index_startup5; },
+ details=qtn_mce_sent_items; },
+ SERVERENTRY { id=0x1008;
+ parent=KMsvLocalServiceIndexEntryIdValue;
+ type=KUidMsvFolderEntryValue;
+ flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
+ details=qtn_mce_documents; },
+ SERVERENTRY { id=0x1009;
+ parent=0x1008;
+ type=KUidMsvFolderEntryValue;
+ flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
+ details=qtn_mce_doc_temp_folder; },
SERVERENTRY { id=KMsvDeletedEntryFolderEntryIdValue;
parent=KMsvLocalServiceIndexEntryIdValue;
type=KUidMsvFolderEntryValue;
flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder|KMsvEntryInvisibleFlag;
- details=STRING_r_server_index_startup6; }
+ details="Deleted"; }
};
}
--- a/messagingfw/msgsrvnstore/server/group/MSGS_AutoShutdown.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/group/MSGS_AutoShutdown.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -19,6 +19,7 @@
/**
@file
*/
+#include <platform_paths.hrh>
@@ -103,6 +104,7 @@
START RESOURCE MSGS.rss
TARGETPATH resource/messaging
+TARGET MSGS.rsc
HEADER
LANG SC
END
@@ -170,6 +172,7 @@
#endif
#endif
+OS_LAYER_SYSTEMINCLUDE
--- a/messagingfw/msgsrvnstore/server/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -14,6 +14,7 @@
// bld.inf
//
+#include <platform_paths.hrh>
PRJ_PLATFORMS
DEFAULT
@@ -115,6 +116,12 @@
msgPriorityDriveList.ini z:/private/1000484b/msgprioritydrivelist.ini
#endif // #if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
+//IBY exports
+../rom/messageserver_rsc.iby LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(messageserver_rsc.iby)
+../rom/messageserver.hby CORE_OS_LAYER_IBY_EXPORT_PATH(messageserver.hby)
+
+
+../loc/msgs.loc OS_LAYER_LOC_EXPORT_PATH(msgs.loc)
PRJ_MMPFILES
MSGS.mmp
MSGS_AutoShutdown.mmp
--- a/messagingfw/msgsrvnstore/server/inc/MTSR.H Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MTSR.H Tue Aug 31 15:41:11 2010 +0300
@@ -383,40 +383,7 @@
#endif
TInt GetNonOperationMtmData(TNonOperationMtmDataType& aMtmDataType, TPtrC8& aResultBuffer);
-
-
- /** Updates a remote selection of id with relevant data when called by the Message Server.
-
- Implementations should provide this function if the messaging protocol supports
- updating of remote entries. If this is not supported, implementations should
- leave with KErrNotSupported.
- The Server-side MTM implementation must decide what information in the TMsvEntry
- is relevant to the remote entry, and translate it appropriately for the specific
- protocol. Most of the data contained in the TMsvEntry is specific to the Symbian
- OS Message Server, and would probably have no direct correlation with the
- protocol's own storage format. Some entry data may however be useful. For
- example, if the protocol supports remote renaming of folders, the implementation
- could:
-
- 1. check for a folder type entry
-
- 2. extract the folder name from aNewEntry.iDetails
-
- 3. check if the folder name has changed by comparing the new name with iDetails
- in the index entry currently; if not, complete with KErrNone
-
- 4. initiate a protocol-specific action to rename the remote folder
-
- The implementation should also always update the local Message Server index
- through CMsvServerEntry::ChangeL().
-
- @param aSelection Selection of TMsvId which to update
- @param aMark Read and Unread mark value.
- @param aStatus Asynchronous completion word for the operation.
-
- @leave KErrNotSupported The Server-side MTM does not support this operation
- @leave Other leave codes Dependent on implementation */
IMPORT_C virtual TInt ChangeEntriesL( const CMsvEntrySelection& aSelection,TInt aMark, TRequestStatus& aStatus );
protected:
IMPORT_C CBaseServerMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aServerEntry);
--- a/messagingfw/msgsrvnstore/server/inc/msventryfreepool.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/msventryfreepool.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -53,7 +53,7 @@
public:
static CMsvEntryFreePool* Instance();
CMsvCacheEntry* EntryL();
- void ReleaseEntry(CMsvCacheEntry* aMsvCacheEntry, TBool aBypassTransaction = EFalse);
+ void ReleaseEntryL(CMsvCacheEntry* aMsvCacheEntry, TBool aBypassTransaction = EFalse);
void ReleaseEntrySet(RPointerArray<CMsvCacheEntry>& aMsvCacheEntryArray);
void DoReleaseEntrySetL(RPointerArray<CMsvCacheEntry>& aMsvCacheEntryArray);
void SetEssentialParam(TDblQue<CMsvCacheVisibleFolder>* aEntryCache, CMsvIndexAdapter* aAdapterObj);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgsrvnstore/server/loc/msgs.loc Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2000 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 contains the localised strings for msgs
+*
+*/
+
+
+
+// LOCALISATION STRINGS
+
+// d: Main view list item.
+// d: Inbox
+// l: list_single_large_graphic_pane_t1
+//
+#define qtn_mce_inbox "Inbox"
+
+// d: Main view list item.
+// d: Documents
+// l: list_single_large_graphic_pane_t1
+//
+#define qtn_mce_documents "Documents"
+
+// d: Main view list item.
+// d: Drafts
+// l: list_single_large_graphic_pane_t1
+//
+#define qtn_mce_drafts "Drafts"
+
+// d: Main view list item.
+// d: Sent items
+// l: list_single_large_graphic_pane_t1
+//
+#define qtn_mce_sent_items "Sent items"
+
+// d: Main view list item.
+// d: Outbox
+// l: list_single_large_graphic_pane_t1
+//
+#define qtn_mce_outbox "Outbox"
+
+// d: Documents view list item. First item of the list when Documents folder is opened.
+// l: list_double_graphic_pane_t1
+//
+#define qtn_mce_doc_temp_folder "Templates"
+
+
+// End of File
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgsrvnstore/server/rom/messageserver.hby Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,9 @@
+#ifndef __MESSAGESERVER_HBY__
+#define __MESSAGESERVER_HBY__
+
+//
+// Moved to \s60\mce\rom\messageserver_rsc.iby
+//
+//data=MULTI_LINGUIFY(RSC DATAZ_\resource\messaging\MSGS resource\messaging\MSGS)
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgsrvnstore/server/rom/messageserver_rsc.iby Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* 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: Defines Series60 localized files
+*
+*/
+
+
+
+#ifndef __MESSAGESERVER_RSC_IBY__
+#define __MESSAGESERVER_RSC_IBY__
+
+//Resource file(s) for Message server
+data=DATAZ_\MTM_RESOURCE_DIR\msgs.rsc MTM_RESOURCE_DIR\msgs.rsc
+#endif
--- a/messagingfw/msgsrvnstore/server/src/CMsvAttachmentManager.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/CMsvAttachmentManager.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -436,8 +436,8 @@
else // attachment->iType == ELinkedFile
{
RFs fs;
- fs.Connect();
- fs.ShareProtected();
+ User::LeaveIfError(fs.Connect());
+ User::LeaveIfError(fs.ShareProtected());
User::LeaveIfError(attachmentFile.Open(fs, attachment->FilePath(), EFileRead | EFileShareReadersOnly));
}
@@ -470,8 +470,8 @@
else // attachment->iType == ELinkedFile
{
RFs fs;
- fs.Connect();
- fs.ShareProtected();
+ User::LeaveIfError(fs.Connect());
+ User::LeaveIfError(fs.ShareProtected());
User::LeaveIfError(attachmentFile.Open(fs, attachment->FilePath(), EFileWrite));
}
--- a/messagingfw/msgsrvnstore/server/src/CMsvPlainBodyText.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/CMsvPlainBodyText.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -608,7 +608,7 @@
}
// Push start position of current chunk in to the stack.
- iStartPosOfEachChunkInFile.Append(iStartPosOfNextChunk);
+ iStartPosOfEachChunkInFile.AppendL(iStartPosOfNextChunk);
iStartPosOfNextChunk += numOfBytesInCurrentChunk;
iReadChunkLength = numOfBytesInCurrentChunk;
}
@@ -919,7 +919,7 @@
else
{
// Push Start position of current chunk in to the stack.
- iStartPosOfEachChunkInFile.Append(iStartPosOfNextChunk);
+ iStartPosOfEachChunkInFile.AppendL(iStartPosOfNextChunk);
iStartPosOfNextChunk += numOfBytesInCurrentChunk;
}
iReadChunkLength = numOfBytesInCurrentChunk;
@@ -1120,7 +1120,7 @@
void CMsvPlainBodyText::RevertL()
{
iFile.Close();
- if(!iIsCommitted && iMsvFileStatus == EMsvFileWriting)
+ if(!iIsCommitted)
{
iMsvStoreManager.DeletePlainTextFileL(iMessageId);
}
--- a/messagingfw/msgsrvnstore/server/src/MCLENTRY.CPP Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MCLENTRY.CPP Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1998-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"
--- a/messagingfw/msgsrvnstore/server/src/MSVDELET.CPP Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MSVDELET.CPP Tue Aug 31 15:41:11 2010 +0300
@@ -310,6 +310,11 @@
CDir* dir=NULL;
TBool partiallyDeleted=EFalse;
TInt error = iServer.GetFileDirectoryListing(id, filename, dir);
+ if(dir)
+ {
+ CleanupStack::PushL(dir);
+ }
+
if (error==KErrNone)
{
User::LeaveIfError(iServer.FileSession().SetSessionPath(filename));
@@ -386,7 +391,10 @@
// deletion was successful
iDeletedEntries->AppendL(id); // will not leave, space has been reserved
iMovedEntries->AppendL(id); // will not leave, space has been reserved
- delete dir;
+ if(dir)
+ {
+ CleanupStack::PopAndDestroy(dir);
+ }
return;
failed:
@@ -424,7 +432,11 @@
// we have failed, move onto next state
iState = iPCSynced ? EIndexIndividually : EIndex;
iError=error;
- delete dir;
+ if(dir)
+ {
+ CleanupStack::PopAndDestroy(dir);
+ }
+
}
--- a/messagingfw/msgsrvnstore/server/src/MSVSERV.CPP Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MSVSERV.CPP Tue Aug 31 15:41:11 2010 +0300
@@ -2094,7 +2094,7 @@
void CMsvServer::BuildDefaultIniFileL(TMsvConfig& aConfig)
{
RFs fileSession;
- fileSession.Connect();
+ User::LeaveIfError(fileSession.Connect());
TInt error;
TVolumeInfo volume;
@@ -2195,7 +2195,7 @@
//create a new ini file
RFs fileSession;
- fileSession.Connect();
+ User::LeaveIfError(fileSession.Connect());
TInt error;
TVolumeInfo volume;
--- a/messagingfw/msgsrvnstore/server/src/MSVSESS.CPP Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MSVSESS.CPP Tue Aug 31 15:41:11 2010 +0300
@@ -1013,7 +1013,7 @@
DoChangeRemoteEntriesL(selection, operationId, aMessage,target);
CleanupStack::PopAndDestroy(); // opData
- }
+ }
void CMsvServerSession::DoChangeLocalEntriesL(CMsvEntrySelection*& aSelection, TMsvOp aOpId, const RMessage2 &aMessage, TSecureId aOwnerId, TInt mark)
{
@@ -1035,7 +1035,7 @@
// Change a selection of entry under a remote service
//
{
- // make sure that the operation can be added to the list
+ // make sure that the operation can be added to the list
iOperations.SetReserveL(iOperations.Count()+1);
TMsvEntry* entry=NULL;
@@ -1050,7 +1050,8 @@
iMsvServer.StartOperationL(*operation, iSessionId, aMessage, ETrue);
iOperations.AppendL(operation); // will not fail - see start of function
CleanupStack::Pop(); // operation
- }
+
+ }
void CMsvServerSession::DoChangeLocalEntryL(const TMsvEntry& aEntry, TMsvOp aOpId, const RMessage2 &aMessage, TSecureId aOwnerId)
--- a/messagingfw/msgsrvnstore/server/src/MTCLBASE.CPP Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MTCLBASE.CPP Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1998-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"
@@ -84,7 +84,10 @@
delete iParaFormatLayer;
iRegisteredMtmDll.ReleaseLibrary();
delete iAttachmentWaiter;
- delete iExtensionData;
+ if(iExtensionData)
+ {
+ delete iExtensionData;
+ }
}
--- a/messagingfw/msgsrvnstore/server/src/MTSR.CPP Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MTSR.CPP Tue Aug 31 15:41:11 2010 +0300
@@ -185,7 +185,6 @@
return KErrNotSupported; // Specific to MTM. Base return Not supported.
}
-
EXPORT_C CServerMtmDllRegistry* CServerMtmDllRegistry::NewL(RFs& aFs,TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32)
{
return new(ELeave) CServerMtmDllRegistry(aFs,aTimeoutMicroSeconds32);
--- a/messagingfw/msgsrvnstore/server/src/TMsvServerStoreManager.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/TMsvServerStoreManager.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -384,12 +384,12 @@
TInt error= aFile.Replace(*iFs,tempFilePathAndName,EFileShareExclusive|EFileWrite);
if (error==KErrPathNotFound)
- {
+ {
//only create directory if not found
error=iFs->MkDirAll(tempFilePathAndName);
if (error==KErrNone)
error=aFile.Replace(*iFs,tempFilePathAndName,EFileShareExclusive|EFileWrite);
- }
+ }
User::LeaveIfError(error);
}
--- a/messagingfw/msgsrvnstore/server/src/cmsvconverterwaiter.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/cmsvconverterwaiter.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -230,7 +230,7 @@
TConversionQueue request;
request.iDriveNumber = driveNumber;
request.iMessage = aMessage;
- iConverterQueue.Append(request);
+ iConverterQueue.AppendL(request);
}
iDriveNumber = driveNumber;
@@ -291,7 +291,7 @@
TConversionQueue request;
request.iDriveNumber = driveNumber;
request.iMessage = aMessage;
- iConverterQueue.Append(request);
+ iConverterQueue.AppendL(request);
}
else
{
--- a/messagingfw/msgsrvnstore/server/src/cmsvtechnologytypedefaultmtmsettings.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/cmsvtechnologytypedefaultmtmsettings.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -230,7 +230,8 @@
CleanupStack::PushL( regMtmDllArray );
RMsvServerSession session;
- session.Connect(iFs);
+ User::LeaveIfError(session.Connect(iFs));
+
session.FillRegisteredMtmDllArray(aMtmTypeUid, *regMtmDllArray, KMsvDefaultTimeoutMicroSeconds32);
session.Close();
--- a/messagingfw/msgsrvnstore/server/src/cmsvversion1version2converter.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/cmsvversion1version2converter.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -903,7 +903,7 @@
RArray<TMsvId> mimeIdArray;
CleanupClosePushL(mimeIdArray);
- mimeIdArray.Append(iDArray[i]);
+ mimeIdArray.AppendL(iDArray[i]);
iDBAdapter.GetAllMimeIdsL(iDArray[i],mimeIdArray);
if(mimeIdArray.Count())
@@ -1801,7 +1801,7 @@
RReadStream infoMimeHeader(buf);
RBuf8 mimeStr;
- mimeStr.Create(KMaxBufferLength);
+ mimeStr.CreateL(KMaxBufferLength);
CleanupClosePushL(mimeStr);
TInt version = infoMimeHeader.ReadUint16L();
--- a/messagingfw/msgsrvnstore/server/src/msvcacheindextableentry.Cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvcacheindextableentry.Cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -192,11 +192,11 @@
{
if(!aReplace)
{
- CMsvEntryFreePool::Instance()->ReleaseEntry(aEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(aEntry);
aEntry = (*iBlockPtr)[blockIndex];
return;
}
- CMsvEntryFreePool::Instance()->ReleaseEntry((*iBlockPtr)[blockIndex]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL((*iBlockPtr)[blockIndex]);
iBlockPtr->Remove(blockIndex);
iBlockPtr->Insert(aEntry, blockIndex);
return;
@@ -296,9 +296,9 @@
{
if(aEntries[listCount+aInitIndex]->GetId() == (*iBlockPtr)[blockIndex]->GetId())
{
- CMsvEntryFreePool::Instance()->ReleaseEntry(aEntries[listCount+aInitIndex]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(aEntries[listCount+aInitIndex]);
aEntries.Remove(listCount+aInitIndex);
- aEntries.Insert((*iBlockPtr)[blockIndex], listCount+aInitIndex);
+ aEntries.InsertL((*iBlockPtr)[blockIndex], listCount+aInitIndex);
entryFound = ETrue;
break;
}
@@ -433,7 +433,7 @@
if(aForceDelete || (*iBlockPtr)[index]->IsEntryLocked())
{
aParentIdOfEntry = (*iBlockPtr)[index]->Entry().Parent();
- CMsvEntryFreePool::Instance()->ReleaseEntry((*iBlockPtr)[index]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL((*iBlockPtr)[index]);
iBlockPtr->Remove(index);
// 2.1.1. If the entry deleted was the last entry in the block,
// delete the block.
@@ -728,7 +728,7 @@
for(TInt index=0; index<blockSize; ++index)
{
RBuf text;
- text.Create(150);
+ text.CreateL(150);
text.Append(KId);
text.AppendNum((*iBlockPtr)[index]->Entry().Id());
text.Append(KParentId);
--- a/messagingfw/msgsrvnstore/server/src/msvcachevisiblefolder.Cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvcachevisiblefolder.Cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -379,7 +379,7 @@
}
else
{
- CMsvEntryFreePool::Instance()->ReleaseEntry((*blockPtr)[count]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL((*blockPtr)[count]);
}
}
blockPtr->Reset();
@@ -584,7 +584,7 @@
{
//1.2.1 yes, only few blocks are dirty, so fetch and fill the dirty blocks
RBuf8 buf;
- buf.Create(2000);
+ buf.CreateL(2000);
CleanupClosePushL(buf);
TBool isDBOperationReqd = EFalse;
for(TInt index=0; index < iIndexTable.Count(); ++index)
@@ -694,7 +694,7 @@
else
{
RBuf8 buf;
- buf.Create(2000);
+ buf.CreateL(2000);
CleanupClosePushL(buf);
CMsvCacheEntry* childEntry;
TBool isDBOperationReqd = EFalse;
@@ -1193,7 +1193,7 @@
for(TInt index=0; index < blockCount; index++)
{
RBuf8 text;
- text.Create(100);
+ text.CreateL(100);
text.Append(KBlock);
text.AppendNum(index+1);
aLogger.Write(text);
--- a/messagingfw/msgsrvnstore/server/src/msvdbadapter.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvdbadapter.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -1251,7 +1251,7 @@
KUidMsvFolderEntryValue == aEntry->Entry().iType.iUid
)
{
- CMsvEntryFreePool::Instance()->ReleaseEntry(aEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(aEntry);
User::Leave(KErrNotFound);
}
@@ -1377,7 +1377,6 @@
aChildArray.AppendL(cacheEntry);
CleanupStack::Pop(cacheEntry);
}
-
CleanupStack::PopAndDestroy(2); //getStmt, queryBuf
}
@@ -4309,7 +4308,7 @@
while(KSqlAtRow == Idquerystatement.Next())
{
- aIdArray.Append(ColumnInt(Idquerystatement, Idindex));
+ aIdArray.AppendL(ColumnInt(Idquerystatement, Idindex));
}
CleanupStack::PopAndDestroy(2); //buf,Idquerystatement
@@ -4359,12 +4358,12 @@
type == KUidMsvEmailRtfEntryValue
)
{
- aIdArray.Append(childId);
+ aIdArray.AppendL(childId);
}
// Recursion for alternate folders
else if(type == KUidMsvFolderEntryValue)
{
- aIdArray.Append(childId);
+ aIdArray.AppendL(childId);
// also get the childs for these messages
GetAllMimeIdsL(childId, aIdArray);
}
--- a/messagingfw/msgsrvnstore/server/src/msventryfreepool.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msventryfreepool.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -387,7 +387,7 @@
* The function resets and appends the passed
* entry to freepool so that it can be reused.
*/
-void CMsvEntryFreePool::ReleaseEntry(CMsvCacheEntry* aMsvCacheEntry, TBool aBypassTransaction /* DEFAULT=EFalse*/)
+void CMsvEntryFreePool::ReleaseEntryL(CMsvCacheEntry* aMsvCacheEntry, TBool aBypassTransaction /* DEFAULT=EFalse*/)
{
if( NULL == aMsvCacheEntry )
{
@@ -396,7 +396,7 @@
if(isTransactionOpen && (EFalse == aBypassTransaction))
{
- iMsvTmpEntries.Append(aMsvCacheEntry);
+ iMsvTmpEntries.AppendL(aMsvCacheEntry);
}
else
{
@@ -404,7 +404,7 @@
aMsvCacheEntry->ResetEntry();
// 2. Append entry to the freepool.
- iMsvEntries->Append(aMsvCacheEntry);
+ iMsvEntries->AppendL(aMsvCacheEntry);
}
}
--- a/messagingfw/msgsrvnstore/server/src/msvindexadapter.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvindexadapter.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -109,7 +109,7 @@
delete folderNode;
}
- iFreePoolInstance->ReleaseEntry(iRootEntry);
+ iFreePoolInstance->ReleaseEntryL(iRootEntry);
iRootEntry = NULL;
// 3. Delete internal data structure.
@@ -432,7 +432,7 @@
iServer.Log(_L("Cache initialized succesfully."));
#endif
- TMsvId tmpNextId = NULL;
+ TMsvId tmpNextId = 0;
iDbAdapter->GetMaxTMsvIdL(tmpNextId);
iNextCreateId = (tmpNextId >= KFirstFreeEntryId)? (tmpNextId+1) : KFirstFreeEntryId;
@@ -976,7 +976,7 @@
TMsvId parentId = entry->Entry().Parent();
if(releaseEntry)
{
- iFreePoolInstance->ReleaseEntry(entry, ETrue);
+ iFreePoolInstance->ReleaseEntryL(entry, ETrue);
}
CMsvEntrySelection* children = new(ELeave)CMsvEntrySelection;
CleanupStack::PushL(children);
@@ -1051,7 +1051,7 @@
// Release the entry, since it is not added to cache.
if(releaseEntry)
{
- iFreePoolInstance->ReleaseEntry(entry, ETrue);
+ iFreePoolInstance->ReleaseEntryL(entry, ETrue);
}
User::LeaveIfError(err);
CleanupStack::PopAndDestroy(); //children
@@ -1423,9 +1423,9 @@
newVisibleFolderNode->DeleteEntryL(oldEntry->GetId());
User::Leave(err);
}
- UpdateDates(*oldEntry, EFalse);
-
- if(aForcedUpdate || changedPrivateInfo && aOwnerId != KMsvServerId )
+
+ UpdateDates(*oldEntry, EFalse);
+ if(aForcedUpdate || changedPrivateInfo && aOwnerId != KMsvServerId )
{
oldEntry->SetEntryOwnerId(aOwnerId);
}
@@ -1487,7 +1487,7 @@
newParentEntry,
descendentList,
resetOldParentOwnerFlag);
- iNonCommittedChangedEntryList.Append(entryDetails);
+ iNonCommittedChangedEntryList.AppendL(entryDetails);
if(descendentList)
CleanupStack::Pop(descendentList);
}
@@ -1672,7 +1672,7 @@
if(aIsDanglingEntry)
{
// Release CMsvCacheEntry to freepool.
- iFreePoolInstance->ReleaseEntry(serverEntry, ETrue);
+ iFreePoolInstance->ReleaseEntryL(serverEntry, ETrue);
}
return KErrNone;
}
@@ -3670,7 +3670,7 @@
// we need to release the entry explicitly.
if(releaseEntry)
{
- iFreePoolInstance->ReleaseEntry(entry, ETrue);
+ iFreePoolInstance->ReleaseEntryL(entry, ETrue);
User::LeaveIfError(err);
}
else
@@ -3703,7 +3703,7 @@
);
if(releaseEntry)
{
- iFreePoolInstance->ReleaseEntry(entry, ETrue);
+ iFreePoolInstance->ReleaseEntryL(entry, ETrue);
}
User::LeaveIfError(err);
CleanupStack::PopAndDestroy(); //children
@@ -3757,7 +3757,7 @@
TMsvId parentId = entry->Entry().Parent();
if(releaseEntry)
{
- iFreePoolInstance->ReleaseEntry(entry, ETrue);
+ iFreePoolInstance->ReleaseEntryL(entry, ETrue);
}
// Find the parent in the cache - we may need to update its owner status flag both in cache and DB.
@@ -3768,7 +3768,7 @@
updateTheParent = EFalse;
if(releaseEntry)
{
- iFreePoolInstance->ReleaseEntry(entry, ETrue);
+ iFreePoolInstance->ReleaseEntryL(entry, ETrue);
}
}
else
--- a/messagingfw/msgsrvnstore/server/src/msvinifile.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvinifile.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -87,7 +87,7 @@
// Open file
TAutoClose<RFile> file;
- TInt size;
+ TInt size = 0;
User::LeaveIfError(file.iObj.Open(fs.iObj,*iName,EFileStreamText|EFileShareReadersOrWriters));
file.PushL();
--- a/messagingfw/msgsrvnstore/server/src/msvpreferreddrivelist.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvpreferreddrivelist.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,6 +1,6 @@
// MSVPREFERREDDRIVELIST.CPP
-// 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"
@@ -278,7 +278,7 @@
for(TInt index = 0; index < count; ++index)
{
RBuf8 text;
- text.Create(100);
+ text.CreateL(100);
text.Append(KLtBracket);
text.AppendNum(index);
text.Append(KRtBracket);
--- a/messagingfw/msgsrvnstore/server/src/msvsearchsortcacheentry.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvsearchsortcacheentry.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -118,7 +118,7 @@
iQueryData.iMessagePart = aQuery->iQueryTable[qCount].iMessagePart;
iQueryData.iRelationOp = aQuery->iQueryTable[qCount].iRelationOp;
iQueryData.iQueryString.Copy(aQuery->iQueryTable[qCount].iQueryString);
- iMsgQuery.Append(iQueryData);
+ iMsgQuery.AppendL(iQueryData);
}
CMSvSearchSortCacheManager::Instance()->GenerateQueryId(*this);
--- a/messagingfw/msgsrvnstore/server/src/msvsearchsortcachemanager.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvsearchsortcachemanager.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -1020,12 +1020,12 @@
{
for(TInt ii =0; ii<iSearchSortDeltaCache->iNewEntry.Count(); ii++ )
{
- iDeltaCacheIdArray.Append(iSearchSortDeltaCache->iNewEntry[ii]);
+ iDeltaCacheIdArray.AppendL(iSearchSortDeltaCache->iNewEntry[ii]);
}
for(TInt ii =0; ii<iSearchSortDeltaCache->iUpdateEntry.Count(); ii++ )
{
- iDeltaCacheIdArray.Append(iSearchSortDeltaCache->iUpdateEntry[ii]);
+ iDeltaCacheIdArray.AppendL(iSearchSortDeltaCache->iUpdateEntry[ii]);
}
iReturnResultType = KPartialResult;
iProgress = KMsvSearchSortOpInProgress;
--- a/messagingfw/msgsrvnstore/server/src/msvsearchsortdbwrapper.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvsearchsortdbwrapper.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -271,7 +271,7 @@
RBuf8 queryString;
queryString.CleanupClosePushL();
- queryString.Create(KMaxQuerySize);
+ queryString.CreateL(KMaxQuerySize);
//Folderlist for subfolder search
RArray<TMsvId> folderIdList;
@@ -282,7 +282,7 @@
parentId = aQuery.iParentId;
#endif
//Append the parentid on which the search/sort is intiated into the folder list
- folderIdList.Append(parentId);
+ folderIdList.AppendL(parentId);
iSortOnHeader = aSortOnHeader;
#if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB)
--- a/messagingfw/msgsrvnstore/server/src/msvsearchsortdeltacache.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvsearchsortdeltacache.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -108,7 +108,7 @@
{
if(aType == ENewMsg ) //New Msg Entry
{
- iMsvSearchSortDeltaCache->iNewEntry.Append(aID);
+ iMsvSearchSortDeltaCache->iNewEntry.AppendL(aID);
iMsvSearchSortDeltaCache->iDeltaCacheDirtyFlag = ETrue;
}
// This conditional statement is required to check if any msg updation is going on while doing search or not.
@@ -121,14 +121,14 @@
if( foundPos < 0 &&
iUpdateEntry.Find(aID) == KErrNotFound )
{
- iMsvSearchSortDeltaCache->iUpdateEntry.Append(aID);
+ iMsvSearchSortDeltaCache->iUpdateEntry.AppendL(aID);
iMsvSearchSortDeltaCache->iDeltaCacheDirtyFlag = ETrue;
}
}
else if(aType == EDeletedMsg) //Deleted msg Entry.
{
- iMsvSearchSortDeltaCache->iDeleteEntry.Append(aID);
+ iMsvSearchSortDeltaCache->iDeleteEntry.AppendL(aID);
iMsvSearchSortDeltaCache->iDeltaCacheDirtyFlag = ETrue;
}
}
--- a/messagingfw/msgsrvnstore/server/src/msvsearchsortoponheaderbody.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/msvsearchsortoponheaderbody.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -104,7 +104,7 @@
for (TInt count = 0; count < aIdArray.Count(); ++count)
{
- iIdArray.Append(aIdArray[count]);
+ iIdArray.AppendL(aIdArray[count]);
}
//set initial partList list flags
InitializePartList();
@@ -214,7 +214,7 @@
{
if(iRequestType == EMsvGetEntryForIds)
{
- iEntryArray.Append(iEntry);
+ iEntryArray.AppendL(iEntry);
}
CompleteSelf();
// set the user request to KRequestPending
--- a/messagingfw/msgsrvnstore/server/test/Unittef/src/t_msv_cache_indextableentry_step.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/test/Unittef/src/t_msv_cache_indextableentry_step.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -417,7 +417,7 @@
MY_ASSERT_EQUALS(iIndexTableEntry->Size(), aCount);
for(index = aCount; index < bulkCount; ++index) //manually release remaining entries
{
- CMsvEntryFreePool::Instance()->ReleaseEntry(entries[index]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entries[index]);
}
//---aCount > aEntries.Count()
@@ -478,8 +478,8 @@
MY_ASSERT_TRUE(iIndexTableEntry->EntryExists(entries[index]->GetId()));
}
MY_ASSERT_EQUALS(iIndexTableEntry->Size(), aCount);
- CMsvEntryFreePool::Instance()->ReleaseEntry(entries[0]);
- CMsvEntryFreePool::Instance()->ReleaseEntry(entries[4]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entries[0]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entries[4]);
//---out of bounds index
iIndexTableEntry->ReleaseBlock(ETrue);
@@ -511,7 +511,7 @@
MY_ASSERT_EQUALS(iIndexTableEntry->Size(), 0);
for(index = 0; index < bulkCount; ++index)
{
- CMsvEntryFreePool::Instance()->ReleaseEntry(entries[index]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entries[index]);
}
@@ -908,7 +908,7 @@
oEntries.Reset();
TRAP_IGNORE(iIndexTableEntry->GetChildrenL(parent->GetId(), oEntries));
MY_ASSERT_EQUALS(oEntries.Count(), 11); //entryA + 10 others
- CMsvEntryFreePool::Instance()->ReleaseEntry(nonimmediateParent);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(nonimmediateParent);
// t4. only grandchildren are present in the block
@@ -949,8 +949,8 @@
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(oEntries.Count(), 0);
- CMsvEntryFreePool::Instance()->ReleaseEntry(nonimmediateParent);
- CMsvEntryFreePool::Instance()->ReleaseEntry(parent);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(nonimmediateParent);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parent);
oEntries.Close();
tmsvEntries.Close();
entries.Close();
@@ -1044,9 +1044,9 @@
TRAP(err, iIndexTableEntry->DeleteEntryL(entryA->GetId(), parentId));
MY_ASSERT_EQUALS(err, KErrNotFound);
- CMsvEntryFreePool::Instance()->ReleaseEntry(parent);
- CMsvEntryFreePool::Instance()->ReleaseEntry(entryA);
- CMsvEntryFreePool::Instance()->ReleaseEntry(entryB);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parent);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entryA);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entryB);
// t6. bulk additions and deletions
@@ -1084,7 +1084,7 @@
}
MY_ASSERT_TRUE(iIndexTableEntry->BlockPtr() == NULL);
- CMsvEntryFreePool::Instance()->ReleaseEntry(parent);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parent);
tmsvEntries.Close();
entries.Close();
}
@@ -1142,7 +1142,7 @@
err = oEntries[0]->GetId() - oEntries[1]->GetId(); //successive entries
MY_ASSERT_TRUE(err < 0);
- CMsvEntryFreePool::Instance()->ReleaseEntry(parent);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parent);
oEntries.Close();
}
--- a/messagingfw/msgsrvnstore/server/test/Unittef/src/t_msv_dbadapter_step.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/test/Unittef/src/t_msv_dbadapter_step.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -786,7 +786,7 @@
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
visibleFolder = NULL;
#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId, cacheEntry, visibleFolder));
@@ -836,7 +836,7 @@
TRAP(err, iMsvDbAdaptor->UpdateEntryL(cacheEntry->Entry(), visibleFolder)); //parent not changed
MY_ASSERT_EQUALS(err, KErrNone);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
visibleFolder = NULL;
#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId, cacheEntry, visibleFolder));
@@ -864,7 +864,7 @@
MY_ASSERT_EQUALS(entry->iMtmData2, (long) 120);
MY_ASSERT_EQUALS(entry->iMtmData3, (long) 120);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
// 3. Test update on an entry in an attached database.
@@ -921,7 +921,7 @@
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
visibleFolder = NULL;
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
@@ -962,7 +962,7 @@
TRAP(err, iMsvDbAdaptor->UpdateEntryL(cacheEntry->Entry(), visibleFolder)); //parent not changed
MY_ASSERT_EQUALS(err, KErrNone);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
visibleFolder = NULL;
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
@@ -982,7 +982,7 @@
MY_ASSERT_EQUALS(entry->iMtmData2, (long) 120);
MY_ASSERT_EQUALS(entry->iMtmData3, (long) 120);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
#endif
}
@@ -1067,32 +1067,32 @@
delete data;
data = NULL;
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
//TRAP(err, iMsvDbAdaptor->GetEntryL(KMsvLocalServiceIndexEntryId, entry, visibleFolder));
TRAP(err, iMsvDbAdaptor->GetEntryL(KMsvLocalServiceIndexEntryId, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvServiceEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KMsvGlobalInBoxIndexEntryId, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvFolderEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+1, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+2, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvAttachmentEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
TInt driveId = (1<<28);
@@ -1103,37 +1103,37 @@
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+100, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+102, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+103, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+201, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+202, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+203, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNotFound);
@@ -1178,19 +1178,19 @@
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId+50, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId+102, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
//A negative test on a non-existent entry.
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId+103, cacheEntry, visibleFolder));
@@ -1202,13 +1202,13 @@
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvGlobalInBoxIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KFirstFreeEntryId+200, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(visibleFolder, KMsvRootIndexEntryId);
MY_ASSERT_EQUALS(cacheEntry->Entry().iType, KUidMsvMessageEntry);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
#endif
}
@@ -1218,7 +1218,7 @@
{
for(int index=0; index<childArray.Count(); index++)
{
- CMsvEntryFreePool::Instance()->ReleaseEntry(childArray[index]);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(childArray[index]);
}
childArray.Reset();
}
@@ -1685,19 +1685,19 @@
CMsvCacheEntry* parentEntry = NULL;
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL(KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
TRAP_IGNORE(iMsvDbAdaptor->UpdateOwnerStatusL(KMsvGlobalInBoxIndexEntryId, parentEntry->Entry(), ETrue));
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
TRAP(err, iMsvDbAdaptor->GetEntryL(KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_TRUE(parentEntry->Entry().Owner());
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
//3. Test resetting of the flag
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL(KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
TRAP_IGNORE(iMsvDbAdaptor->UpdateOwnerStatusL(KMsvGlobalInBoxIndexEntryId, parentEntry->Entry(), EFalse));
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL(KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
MY_ASSERT_FALSE(parentEntry->Entry().Owner());
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
#if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
// 4. Create and attach a second database. Create entries in it and test.
@@ -1725,32 +1725,32 @@
parentEntry = NULL;
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
TRAP_IGNORE(iMsvDbAdaptor->UpdateOwnerStatusL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry->Entry(), ETrue));
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
MY_ASSERT_TRUE(parentEntry->Entry().Owner());
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
//Flag already set, attempt to set again.
parentEntry = NULL;
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
TRAP_IGNORE(iMsvDbAdaptor->UpdateOwnerStatusL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry->Entry(), ETrue));
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
MY_ASSERT_TRUE(parentEntry->Entry().Owner());
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
//Resetting of the flag.
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
TRAP_IGNORE(iMsvDbAdaptor->UpdateOwnerStatusL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry->Entry(), EFalse));
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
MY_ASSERT_FALSE(parentEntry->Entry().Owner());
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
//Flag already reset, attempt to reset again.
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
TRAP_IGNORE(iMsvDbAdaptor->UpdateOwnerStatusL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry->Entry(), EFalse));
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
TRAP_IGNORE(iMsvDbAdaptor->GetEntryL((driveId<<28)|KMsvGlobalInBoxIndexEntryId, parentEntry, visibleFolderId));
MY_ASSERT_FALSE(parentEntry->Entry().Owner());
- CMsvEntryFreePool::Instance()->ReleaseEntry(parentEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(parentEntry);
#endif
}
@@ -2366,7 +2366,7 @@
// (j) Close the database without performing rollback/commit.
delete iMsvDbAdaptor;
iMsvDbAdaptor = NULL;
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
// (k) Create the DBAdapter again.
TRAP_IGNORE(iMsvDbAdaptor = CMsvDBAdapter::NewL());
TInt sysDrive = (TInt)RFs::GetSystemDrive();
@@ -2378,7 +2378,7 @@
TRAP(err, iMsvDbAdaptor->GetEntryL((driveId<<28)|KFirstFreeEntryId, cacheEntry, visibleFolder));
MY_ASSERT_EQUALS(err, KErrNone);
MY_ASSERT_EQUALS(cacheEntry->Entry().Parent(), KMsvRootIndexEntryId); //old parent
- CMsvEntryFreePool::Instance()->ReleaseEntry(cacheEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cacheEntry);
// 2. Create an entry and rollback.
--- a/messagingfw/msgsrvnstore/server/test/Unittef/src/t_msv_indexadapter_step.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/test/Unittef/src/t_msv_indexadapter_step.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// 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"
@@ -342,7 +342,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(newId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
MY_ASSERT_EQUALS(KUidMsvMessageEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(newId+index, cEntry);
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
@@ -357,7 +357,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(newId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
MY_ASSERT_EQUALS(KUidMsvMessageEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(newId+index, cEntry);
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
@@ -393,7 +393,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(newId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)(index+200), cEntry->Entry().MtmData2());
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(newId+index, cEntry);
MY_ASSERT_EQUALS((long)(index+200), cEntry->Entry().MtmData2());
@@ -413,7 +413,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(newId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData2());
MY_ASSERT_EQUALS(KUidMsvFolderEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(newId+index, cEntry);
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData2());
@@ -468,7 +468,7 @@
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS((long)(newId+1500), cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)(newId+1500), visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_TRUE(TestFolder->GetEntry(newId+index, cEntry));
MY_ASSERT_EQUALS(KUidMsvFolderEntry, cEntry->Entry().iType);
@@ -491,7 +491,7 @@
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS(newId+1500, cEntry->Entry().Parent());
MY_ASSERT_EQUALS(newId+1500, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_FALSE(TestFolder->GetEntry(newId+index, cEntry));
MY_ASSERT_TRUE(NewTestFolder->GetEntry(newId+index, cEntry));
@@ -543,7 +543,7 @@
MY_ASSERT_EQUALS(KUidMsvFolderEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS((long)(KMsvLocalServiceIndexEntryId), cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)KMsvLocalServiceIndexEntryId, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_TRUE(TestFolder->GetEntry(newId+index, cEntry));
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
@@ -570,7 +570,7 @@
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS(newId+1500, cEntry->Entry().Parent());
MY_ASSERT_EQUALS(newId+1500, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_TRUE(TestFolder->GetEntry(newId+index, cEntry));
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
@@ -662,7 +662,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(newId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)(newId+2200), cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)KMsvLocalServiceIndexEntryId, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
if(index < 2006)
{
@@ -705,7 +705,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(newId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS(newId+2200, cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)KMsvLocalServiceIndexEntryId, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_FALSE(TestFolder->GetEntry(newId+index, cEntry));
MY_ASSERT_TRUE(NewTestFolder->GetEntry(newId+index, cEntry));
@@ -759,11 +759,11 @@
{
TRAP_IGNORE(dbPtr->GetEntryL(newId+index+5200, cEntry, visibleParentId));
ASSERT_EQUALS(visibleParentId, newId+5000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
}
TRAP_IGNORE(dbPtr->GetEntryL(newId+5100, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, newId+5000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
//12. Scenario: Local Service has 2 children, newId+6000 and newId+6100.
// newId+6000 is visible and the other is not visible.
@@ -807,15 +807,15 @@
dbPtr = iIndexAdapter->GetDbAdapter();
TRAP_IGNORE(dbPtr->GetEntryL(newId+6100, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, newId+6000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
TRAP_IGNORE(dbPtr->GetEntryL(newId+6200, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, newId+6000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
//TRAP_IGNORE(dbPtr->GetEntryL(newId+6300, cEntry, visibleParentId));
//MY_ASSERT_EQUALS(visibleParentId, newId+6200);
- //CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ //CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
//13. Moving a visible folder with children to under a non-visible folder which has
// a visible parent.
@@ -846,15 +846,15 @@
// appropriately set.
TRAP_IGNORE(dbPtr->GetEntryL(newId+7100, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, KMsvRootIndexEntryId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
TRAP_IGNORE(dbPtr->GetEntryL(newId+7200, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, newId+7100);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
TRAP_IGNORE(dbPtr->GetEntryL(newId+7300, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, newId+7200);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
}
@@ -3302,10 +3302,10 @@
RArray<CMsvIndexAdapter::TNonCommittedChangedEntries>& entryList = iIndexAdapter->GetNonComittedChangedEntry();
MY_ASSERT_EQUALS(1, entryList.Count());
- CMsvEntryFreePool::Instance()->ReleaseEntry(entryList[0].iBkpEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entryList[0].iBkpEntry);
entryList.Reset();
- CMsvEntryFreePool::Instance()->ReleaseEntry(testentry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(testentry);
//4. change Entry
//a. Open Transaction
@@ -3370,7 +3370,7 @@
TRAP_IGNORE(iIndexAdapter->OpenclosedL(openFilename));
MY_ASSERT_EQUALS(1, entryList.Count());
- CMsvEntryFreePool::Instance()->ReleaseEntry(entryList[0].iBkpEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(entryList[0].iBkpEntry);
entryList.Reset();
iIndexAdapter->GetEntry(KFirstFreeEntryId+200, entry2);
@@ -3431,7 +3431,7 @@
MY_ASSERT_TRUE(entry2->Visible());
MY_ASSERT_EQUALS(entry2->Id(), KFirstFreeEntryId+700);
- CMsvEntryFreePool::Instance()->ReleaseEntry(testentry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(testentry);
/* TEST Code added after changes in DOChangeEntry for rollback */
// 6. Modifying 10 entries using no-commit.
@@ -3462,7 +3462,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
MY_ASSERT_EQUALS(KUidMsvMessageEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(KFirstFreeEntryId+index, cEntry);
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
@@ -3477,7 +3477,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
MY_ASSERT_EQUALS(KUidMsvMessageEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(KFirstFreeEntryId+index, cEntry);
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData1());
@@ -3513,7 +3513,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)(index+200), cEntry->Entry().MtmData2());
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(KFirstFreeEntryId+index, cEntry);
MY_ASSERT_EQUALS((long)(index+200), cEntry->Entry().MtmData2());
@@ -3533,7 +3533,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData2());
MY_ASSERT_EQUALS(KUidMsvFolderEntry, cEntry->Entry().iType);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
iIndexAdapter->FindEntryInCache(KFirstFreeEntryId+index, cEntry);
MY_ASSERT_EQUALS((long)index, cEntry->Entry().MtmData2());
@@ -3589,7 +3589,7 @@
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS((long)(KFirstFreeEntryId+1500), cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)(KFirstFreeEntryId+1500), visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_TRUE(TestFolder->GetEntry(KFirstFreeEntryId+index, cEntry));
MY_ASSERT_FALSE(KUidMsvAttachmentEntry==cEntry->Entry().iType);
@@ -3616,7 +3616,7 @@
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS(KFirstFreeEntryId+1500, cEntry->Entry().Parent());
MY_ASSERT_EQUALS(KFirstFreeEntryId+1500, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_FALSE(TestFolder->GetEntry(KFirstFreeEntryId+index, cEntry));
MY_ASSERT_TRUE(NewTestFolder->GetEntry(KFirstFreeEntryId+index, cEntry));
@@ -3669,7 +3669,7 @@
MY_ASSERT_EQUALS(KUidMsvFolderEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS((long)(KMsvGlobalInBoxIndexEntryId), cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)KMsvGlobalInBoxIndexEntryId, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_TRUE(TestFolder->GetEntry(KFirstFreeEntryId+index, cEntry));
MY_ASSERT_FALSE(KUidMsvFolderEntry==cEntry->Entry().iType);
@@ -3701,7 +3701,7 @@
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
MY_ASSERT_EQUALS(KFirstFreeEntryId+1500, cEntry->Entry().Parent());
MY_ASSERT_EQUALS(KFirstFreeEntryId+1500, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_TRUE(TestFolder->GetEntry(KFirstFreeEntryId+index, cEntry));
MY_ASSERT_EQUALS(KUidMsvAttachmentEntry, cEntry->Entry().iType);
@@ -3794,7 +3794,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS((long)(KFirstFreeEntryId+2200), cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)KMsvRootIndexEntryIdValue, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
if(index < 2006)
{
@@ -3839,7 +3839,7 @@
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+index, cEntry, visibleParentId));
MY_ASSERT_EQUALS(KFirstFreeEntryId+2200, cEntry->Entry().Parent());
MY_ASSERT_EQUALS((long)KMsvRootIndexEntryIdValue, visibleParentId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
// Check entry in cache.
MY_ASSERT_FALSE(TestFolder->GetEntry(KFirstFreeEntryId+index, cEntry));
MY_ASSERT_TRUE(NewTestFolder->GetEntry(KFirstFreeEntryId+index, cEntry));
@@ -3893,11 +3893,11 @@
{
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+index+5200, cEntry, visibleParentId));
ASSERT_EQUALS(visibleParentId, KFirstFreeEntryId+5000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
}
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+5100, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, KFirstFreeEntryId+5000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
//12. Scenario: Root has 2 children, KFirstFreeEntryId+6000 and KFirstFreeEntryId+6100.
// KFirstFreeEntryId+6000 is visible and the other is not visible.
@@ -3941,11 +3941,11 @@
dbPtr = iIndexAdapter->GetDbAdapter();
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+6100, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, KFirstFreeEntryId+6000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+6200, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, KFirstFreeEntryId+6000);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
//13. Moving a visible folder with children to under a non-visible folder which has
// a visible parent.
@@ -3976,15 +3976,15 @@
// appropriately set.
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+7100, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, KMsvRootIndexEntryId);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+7200, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, KFirstFreeEntryId+7100);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
TRAP_IGNORE(dbPtr->GetEntryL(KFirstFreeEntryId+7300, cEntry, visibleParentId));
MY_ASSERT_EQUALS(visibleParentId, KFirstFreeEntryId+7200);
- CMsvEntryFreePool::Instance()->ReleaseEntry(cEntry);
+ CMsvEntryFreePool::Instance()->ReleaseEntryL(cEntry);
}
--- a/messagingfw/msgtest/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -13,7 +13,7 @@
// Description:
//
-#include "../testutils/group/BLD.INF"
+#include "../testutils/group/bld.inf"
#include "../tools/group/bld.inf"
#include "../integration/group/bld.inf"
#include "../testsuites/group/bld.inf"
--- a/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentdata.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentdata.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-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,7 +23,7 @@
#ifndef __TESTAGENTDATA_H__
#define __TESTAGENTDATA_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentinterface.h>
#include "TestAgentFileInterface.h"
--- a/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentfactory.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentfactory.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-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"
@@ -13,7 +13,7 @@
// Description:
//
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "testagentfactory.h"
#include "testagentcontent.h"
#include "testagentdata.h"
--- a/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentfactory.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentfactory.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,6 +1,6 @@
//testagentfactory.h
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-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"
@@ -19,7 +19,7 @@
#ifndef __TESTAGENTFACTORY_H__
#define __TESTAGENTFACTORY_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentfactory.h>
using namespace ContentAccess;
--- a/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentmanager.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentmanager.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-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"
@@ -13,7 +13,7 @@
// Description:
//
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/dirstreamable.h>
#include "testagentmanager.h"
#include "testagentattributes.h"
--- a/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentmanager.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentmanager.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,6 +1,6 @@
// testagentmanager.h
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-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"
@@ -18,8 +18,8 @@
#ifndef __TESTAGENTMANAGER_H__
#define __TESTAGENTMANAGER_H__
-#include <caf/caf.h>
-#include <caf\agentinterface.h>
+#include <caf/cafplatform.h>
+#include <caf/agentinterface.h>
using namespace ContentAccess;
--- a/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentrightsmanager.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/testutils/caf2/test/TestAgent/testagentrightsmanager.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-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"
@@ -16,8 +16,8 @@
#ifndef __TESTAGENTRIGHTSMANAGER_H__
#define __TESTAGENTRIGHTSMANAGER_H__
-#include <caf/caf.h>
-#include <caf\agentinterface.h>
+#include <caf/cafplatform.h>
+#include <caf/agentinterface.h>
using namespace ContentAccess;
--- a/messagingfw/msgtest/tools/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtest/tools/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -13,7 +13,7 @@
// Description:
//
-#include "../autorun/group/BLD.INF"
-#include "../copylogs/group/BLD.INF"
+#include "../autorun/group/bld.inf"
+#include "../copylogs/group/bld.inf"
#include "../utils/group/bld.inf"
-#include "../spoofserver/group/Bld.inf"
+#include "../spoofserver/group/bld.inf"
--- a/messagingfw/msgtests/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/msgtests/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -31,8 +31,8 @@
// These lot are not
#if !defined(WINC)
#include "../../msgconf/group/bld.inf"
-#include "../../biomsgfw/group/BLD.INF"
-#include "../../biomsgfw/T_BIOMSG/Group/BLD.INF"
+#include "../../biomsgfw/group/bld.inf"
+#include "../../biomsgfw/T_BIOMSG/Group/bld.inf"
#include "../../msgsrvnstore/group/bld.inf"
#include "../../watcherfw/group/bld.inf"
#include "../../scheduledsendmtm/group/bld.inf"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/bwinscw/winscwuu.def Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,14 @@
+EXPORTS
+ ?GetListOfAccountsWithMTML@MsvUiServiceUtilities@@SAPAVCMsvEntrySelection@@AAVCMsvSession@@VTUid@@H@Z @ 1 NONAME ; class CMsvEntrySelection * MsvUiServiceUtilities::GetListOfAccountsWithMTML(class CMsvSession &, class TUid, int)
+ ?NewLC@CMsvSingleOpWatcher@@SAPAV1@AAVMMsvSingleOpWatcher@@@Z @ 2 NONAME ; class CMsvSingleOpWatcher * CMsvSingleOpWatcher::NewLC(class MMsvSingleOpWatcher &)
+ ?NewL@CMsvSingleOpWatcher@@SAPAV1@AAVMMsvSingleOpWatcher@@@Z @ 3 NONAME ; class CMsvSingleOpWatcher * CMsvSingleOpWatcher::NewL(class MMsvSingleOpWatcher &)
+ ?SetOperation@CMsvSingleOpWatcher@@QAEXPAVCMsvOperation@@@Z @ 4 NONAME ; void CMsvSingleOpWatcher::SetOperation(class CMsvOperation *)
+ ?ResetL@MsvFactorySettings@@SAXW4TMsvFactorySettingsLevel@@@Z @ 5 NONAME ; void MsvFactorySettings::ResetL(enum TMsvFactorySettingsLevel)
+ ?Operation@CMsvSingleOpWatcher@@QBEAAVCMsvOperation@@XZ @ 6 NONAME ; class CMsvOperation & CMsvSingleOpWatcher::Operation(void) const
+ ?DiskSpaceBelowCriticalLevelL@MsvUiServiceUtilities@@SAHAAVCMsvSession@@H@Z @ 7 NONAME ; int MsvUiServiceUtilities::DiskSpaceBelowCriticalLevelL(class CMsvSession &, int)
+ ??1CMsvSingleOpWatcher@@UAE@XZ @ 8 NONAME ; CMsvSingleOpWatcher::~CMsvSingleOpWatcher(void)
+ ?GetListOfAccountsL@MsvUiServiceUtilities@@SAPAVCMsvEntrySelection@@AAVCMsvSession@@H@Z @ 9 NONAME ; class CMsvEntrySelection * MsvUiServiceUtilities::GetListOfAccountsL(class CMsvSession &, int)
+ ?IsValidDomainL@MsvUiServiceUtilities@@SAHABVTDesC16@@@Z @ 10 NONAME ; int MsvUiServiceUtilities::IsValidDomainL(class TDesC16 const &)
+ ?IsValidEmailAddressL@MsvUiServiceUtilities@@SAHABVTDesC16@@@Z @ 11 NONAME ; int MsvUiServiceUtilities::IsValidEmailAddressL(class TDesC16 const &)
+ ?DiskSpaceBelowCriticalLevelWithOverheadL@MsvUiServiceUtilities@@SAHAAVCMsvSession@@HH@Z @ 12 NONAME ; int MsvUiServiceUtilities::DiskSpaceBelowCriticalLevelWithOverheadL(class CMsvSession &, int, int)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/eabi/eabiu.def Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,18 @@
+EXPORTS
+ _ZN18MsvFactorySettings6ResetLE24TMsvFactorySettingsLevel @ 1 NONAME
+ _ZN19CMsvSingleOpWatcher12SetOperationEP13CMsvOperation @ 2 NONAME
+ _ZN19CMsvSingleOpWatcher4NewLER19MMsvSingleOpWatcher @ 3 NONAME
+ _ZN19CMsvSingleOpWatcher5NewLCER19MMsvSingleOpWatcher @ 4 NONAME
+ _ZN19CMsvSingleOpWatcherD0Ev @ 5 NONAME
+ _ZN19CMsvSingleOpWatcherD1Ev @ 6 NONAME
+ _ZN19CMsvSingleOpWatcherD2Ev @ 7 NONAME
+ _ZN21MsvUiServiceUtilities14IsValidDomainLERK7TDesC16 @ 8 NONAME
+ _ZN21MsvUiServiceUtilities18GetListOfAccountsLER11CMsvSessioni @ 9 NONAME
+ _ZN21MsvUiServiceUtilities20IsValidEmailAddressLERK7TDesC16 @ 10 NONAME
+ _ZN21MsvUiServiceUtilities25GetListOfAccountsWithMTMLER11CMsvSession4TUidi @ 11 NONAME
+ _ZN21MsvUiServiceUtilities28DiskSpaceBelowCriticalLevelLER11CMsvSessioni @ 12 NONAME
+ _ZN21MsvUiServiceUtilities40DiskSpaceBelowCriticalLevelWithOverheadLER11CMsvSessionii @ 13 NONAME
+ _ZNK19CMsvSingleOpWatcher9OperationEv @ 14 NONAME
+ _ZTI19CMsvSingleOpWatcher @ 15 NONAME
+ _ZTV19CMsvSingleOpWatcher @ 16 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2005 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:
+* BLD.INF file for MsgCommonUtils.
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+// IBY file
+../rom/muiuutils.iby CORE_MW_LAYER_IBY_EXPORT_PATH(muiuutils.iby)
+
+PRJ_MMPFILES
+./muiuutils.mmp
+
+/* End of File */
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/group/muiuutils.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* 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 is project specification file for the Muiu_domain.
+*
+*/
+
+
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+target muiuutils.dll
+targettype dll
+UID 0x1000008d 0x20028782
+VENDORID VID_DEFAULT
+CAPABILITY CAP_GENERAL_DLL
+VERSION 10.0
+PAGED
+
+SOURCEPATH .
+
+LANGUAGE_IDS
+
+
+#if defined(ARMCC)
+deffile ../eabi/eabi.def
+#elif defined( WINSCW )
+deffile ../bwinscw/winscwu.def
+#endif
+
+
+userinclude ../inc
+
+//SYSTEMINCLUDE ../../../../inc
+MW_LAYER_SYSTEMINCLUDE
+
+// Generic
+sourcepath ../src
+source muiudomainpan.cpp
+source MsvFactorySettings.cpp
+source MuiuMsvSingleOpWatcher.cpp
+source MuiuServiceUtilities.cpp
+
+library euser.lib
+library estor.lib
+library apparc.lib
+library cone.lib
+library bafl.lib
+library efsrv.lib
+library apgrfx.lib
+library msgs.lib
+library mtur.lib
+library eikcore.lib
+library eikdlg.lib
+library eikcoctl.lib
+library egul.lib
+library eikctl.lib
+library commonengine.lib
+LIBRARY centralrepository.lib
+
+
+#if defined(WINS)
+DEBUGLIBRARY flogger.lib
+#endif
+
+//End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/inc/muiudomainpan.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* 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: muiudomainpan declaration
+*
+*/
+
+
+
+
+#ifndef __MUIUDOMAINPAN_H__
+#define __MUIUDOMAINPAN_H__
+
+// INCLUDES
+#include <e32base.h>
+
+// DATA TYPES
+enum TMuiuDomainPanic
+ {
+ //
+ // --- Operation watcher ---
+ EMuiuOperationWatcherUnknownOperation,
+ EMuiuOperationWatcherNoCompletedOperations,
+ //
+ // --- Editor watcher ---
+ EMuiuEditorWatcherActiveInFinalProgress,
+ EMuiuEmbeddedWatcherDocumentAlreadyExists,
+ EMuiuEmbeddedWatcherDocumentShouldNotStart,
+ //
+ // --- Message Iterator ---
+ EMuiuMsgIteratorNoPreviousMessage,
+ EMuiuMsgIteratorNoNextMessage,
+ EMuiuMsgIteratorInvalidCurrentIndex,
+ EMuiuMsgIteratorEntryHasNoParent,
+ EMuiuMsgIteratorParentEntryNull,
+ EMuiuMsgIteratorParentEntryMoved,
+ EMuiuMsgIteratorParentEntryDeleted,
+ EMuiuMsgIteratorChildEntryNotFound,
+ //
+ // --- Single Op Watcher ---
+ EMuiuSingleOpWatcherAlreadyActive,
+ EMuiuSingleOpWatcherOperationAlreadySet,
+ EMuiuSingleOpWatcherOperationNull,
+ //
+ // --- Operation Wrapped Dialog ---
+ EMuiuOpPrgNullOperation,
+ EMuiuOpPrgOperationAlreadySet,
+ EMuiuOpPrgBadLocalOpType,
+ //
+ // --- MTM Store ---
+ EMuiuMtmStoreNullMtmPtr,
+ EMuiuMtmStoreNullMtmUiPtr,
+ EMuiuMtmStoreNullTimerPtr,
+ EMuiuMtmStoreMissingMtm,
+ EMuiuMtmStoreNegativeCounterValue
+ };
+
+GLREF_C void Panic( TMuiuDomainPanic aPanic );
+
+#endif //__MUIUDOMAINPAN_H__
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/rom/muiuutils.iby Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* 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: muiuutilsutils.iby*
+*/
+
+#ifndef __MUIUUTILS_IBY__
+#define __MUIUUTILS_IBY__
+
+//
+// muiuutils
+//
+file=ABI_DIR\BUILD_DIR\muiuutils.dll SHARED_LIB_DIR\muiuutils.dll
+
+#endif // __MUIUUTILS_IBY__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/src/MsvFactorySettings.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* 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: MsvFactorySettings implementation
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <e32test.h>
+#include <msvapi.h>
+#include <msvuids.h>
+#include <mtmuibas.h>
+#include <mtuireg.h>
+#include <mtudcbas.h>
+#include <bautils.h>
+#include <mtmuidef.hrh>
+#include "MsvFactorySettings.h"
+
+
+
+// MODULE DATA STRUCTURES
+class CDummyObserver : public CBase, public MMsvSessionObserver
+ {
+ public:
+ CDummyObserver() {};
+ void HandleSessionEventL( TMsvSessionEvent /*aEvent*/,
+ TAny* /*aArg1*/,
+ TAny* /*aArg2*/,
+ TAny* /*aArg3*/ ) {};
+ };
+
+// LOCAL FUNCTION PROTOTYPES
+/**
+* Performs factory settings to single item
+*/
+void DoRestoreFactorySettingsSingleMtmL( CClientMtmRegistry& aBaseReg,
+ CMtmUiRegistry& aUiReg,
+ TUid anId,
+ TMsvFactorySettingsLevel aLevel );
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// MsvFactorySettings::ResetL
+// ---------------------------------------------------------
+//
+EXPORT_C void MsvFactorySettings::ResetL( TMsvFactorySettingsLevel aLevel )
+ {
+ // connect to the server
+ CDummyObserver* ob = new( ELeave )CDummyObserver;
+ CleanupStack::PushL(ob);
+
+ CMsvSession* session = CMsvSession::OpenSyncL( *ob );
+ CleanupStack::PushL( session );
+
+ //create ui registry
+ CClientMtmRegistry* basemtmregistry = CClientMtmRegistry::NewL( *session );
+ CleanupStack::PushL( basemtmregistry );
+ CMtmUiRegistry* uiRegistry = CMtmUiRegistry::NewL( *session );
+ CleanupStack::PushL( uiRegistry );
+
+ //check through mtms
+ TInt error = 0;
+ TInt count=uiRegistry->NumRegisteredMtmDlls();
+ for ( TInt cc=0; cc < count; ++cc )
+ {
+ // return value is ignored, so as not to prevent other MTMs being initialised
+ TRAPD(ret, DoRestoreFactorySettingsSingleMtmL( *basemtmregistry,
+ *uiRegistry,
+ basemtmregistry->MtmTypeUid( cc ),
+ aLevel ) );
+ if ( ret && ret != KErrNotSupported )
+ {
+ error = ret;
+ }
+ }
+
+ User::LeaveIfError( error );
+ CleanupStack::PopAndDestroy( 4,ob ); // uiRegistry,basemtmregistry,session,ob
+ }
+
+
+// ---------------------------------------------------------
+// DoRestoreFactorySettingsSingleMtmL
+// ---------------------------------------------------------
+//
+void DoRestoreFactorySettingsSingleMtmL( CClientMtmRegistry& aBaseReg,
+ CMtmUiRegistry& aUiReg,
+ TUid anId,
+ TMsvFactorySettingsLevel aLevel )
+ {
+ //create base mtm
+ CBaseMtm* baseMtm = aBaseReg.NewMtmL( anId );
+ CleanupStack::PushL( baseMtm );
+
+ CBaseMtmUi* mtmUi = aUiReg.NewMtmUiL( *baseMtm );
+ CleanupStack::PushL( mtmUi );
+
+ TInt response;
+ TUid isInstalled = { KUidMsvMtmQueryFactorySettings };
+ TInt err = mtmUi->QueryCapability( isInstalled, response );
+
+ if ( err == KErrNone )
+ {
+ // Need to install this type
+ CMsvEntrySelection* tempobject = new ( ELeave ) CMsvEntrySelection;
+ CleanupStack::PushL( tempobject );
+ TPckg<TMsvFactorySettingsLevel > levelPack( aLevel );
+ TInt installNow = { KMtmUiFunctionRestoreFactorySettings };
+ mtmUi->InvokeSyncFunctionL( installNow, *tempobject, levelPack );
+ CleanupStack::PopAndDestroy( tempobject );
+ }
+ else if ( err != KErrNotSupported )
+ {
+ User::Leave( err );
+ }
+ else
+ {
+ //Does nothing
+ }
+
+ CleanupStack::PopAndDestroy( 2, baseMtm ); // mtmUi,baseMtm
+ }
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/src/MuiuMsvSingleOpWatcher.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,153 @@
+/*
+* 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:
+* Messaging progress watching classes
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <msvapi.h>
+#include "muiudomainpan.h"
+#include "MuiuMsvSingleOpWatcher.h"
+
+// CONSTANTS
+const TInt KSingleOpWatcherPriority = KMaxTInt;
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::NewLC
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvSingleOpWatcher* CMsvSingleOpWatcher::NewLC( MMsvSingleOpWatcher& aObserver )
+ { // static
+ CMsvSingleOpWatcher* self = new( ELeave ) CMsvSingleOpWatcher( aObserver );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::NewL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvSingleOpWatcher* CMsvSingleOpWatcher::NewL( MMsvSingleOpWatcher& aObserver )
+ { // static
+ CMsvSingleOpWatcher* self = NewLC(aObserver);
+ CleanupStack::Pop( self ); // self
+ return self;
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::CMsvSingleOpWatcher
+//
+// ---------------------------------------------------------
+//
+CMsvSingleOpWatcher::CMsvSingleOpWatcher( MMsvSingleOpWatcher& aObserver )
+ : CActive( KSingleOpWatcherPriority ), iObserver( aObserver )
+ {
+ CActiveScheduler::Add( this );
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::ConstructL
+//
+// ---------------------------------------------------------
+//
+void CMsvSingleOpWatcher::ConstructL()
+ {
+ // Nothing to do, reserved for future use...
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::~CMsvSingleOpWatcher
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvSingleOpWatcher::~CMsvSingleOpWatcher()
+ {
+ Cancel(); // Cancel any request, if outstanding. Calls Cancel on iOperation.
+ delete iOperation;
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::SetOperation
+// --- Setter ---
+// Must only be called once during the lifetime of a CMsvSingleOpWatcher object.
+// ---------------------------------------------------------
+//
+EXPORT_C void CMsvSingleOpWatcher::SetOperation(CMsvOperation* aOperation)
+ {
+ __ASSERT_DEBUG( !IsActive(), Panic( EMuiuSingleOpWatcherAlreadyActive ) );
+ __ASSERT_DEBUG( !iOperation, Panic( EMuiuSingleOpWatcherOperationAlreadySet ) );
+ __ASSERT_DEBUG( aOperation, Panic( EMuiuSingleOpWatcherOperationNull ) );
+
+ //
+ // Take ownership of operation and set our active status so we're handled
+ // by the active scheduler.
+ iOperation = aOperation;
+ iStatus = KRequestPending;
+ SetActive();
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::Operation
+// --- Accessor ---
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvOperation& CMsvSingleOpWatcher::Operation() const
+ {
+ __ASSERT_DEBUG( iOperation, Panic( EMuiuSingleOpWatcherOperationNull ) );
+ return *iOperation;
+ }
+
+
+// ---------------------------------------------------------
+// CMsvSingleOpWatcher::DoCancel
+// --- From CActive ---
+// ---------------------------------------------------------
+//
+void CMsvSingleOpWatcher::DoCancel()
+ {
+
+ // Pass on cancel
+ iOperation->Cancel();
+ }
+
+
+//------------------------------------
+// CMsvSingleOpWatcher::RunL
+// --- From CActive ---
+// ---------------------------------------------------------
+//
+void CMsvSingleOpWatcher::RunL()
+ {
+ //
+ // Inform client of watcher that the operation has completed
+ iObserver.OpCompleted( *this, iStatus.Int() );
+ }
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/src/MuiuServiceUtilities.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,344 @@
+/*
+* Copyright (c) 2002 - 2005 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:
+* Static class to help mtm service queries.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <bldvariant.hrh> // For feature flags
+#include <msvuids.h> // KUidMsvServiceEntry
+#include <data_caging_path_literals.hrh> // KDC_RESOURCE_FILES_DIR
+#include <msvapi.h>
+#include <msvstd.hrh>
+#include <msvids.h>
+#include <mtclreg.h> // CClientMtmRegistry
+#include <mtclbase.h> // CBaseMtm
+#include <centralrepository.h> // CRepository
+#include <UiklafInternalCRKeys.h> // KCRUidUiklaf, KUikOODDiskCriticalThreshold
+
+#include <MuiuServiceUtilities.h>
+
+// CONSTANTS
+const TInt KMuiuCharQuote = '\"';
+const TInt KMuiuCharBackSlash = '\\';
+const TInt KMuiuCharDot = '.';
+const TInt KMuiuCharSpace = ' ';
+const TInt KMuiuCharDel = 127;
+const TInt KMuiuCharAt = '@';
+const TInt KMuiuSpecialCharStrLen = 12;
+_LIT( KRFC822Specials,"()<>@,;:\\\"[]");
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+// ---------------------------------------------------------
+// MsvUiServiceUtilitiesr::GetListOfAccountsL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvEntrySelection* MsvUiServiceUtilities::GetListOfAccountsL( CMsvSession& aSession,
+ TBool aAlwaysListHidden )
+ { // static
+ return DoGetListOfAccountsL( aSession, KNullUid, aAlwaysListHidden );
+ }
+
+
+// ---------------------------------------------------------
+// MsvUiServiceUtilitiesr::GetListOfAccountsWithMTML
+//
+// ---------------------------------------------------------
+//
+EXPORT_C CMsvEntrySelection* MsvUiServiceUtilities::GetListOfAccountsWithMTML(
+ CMsvSession& aSession,
+ TUid aMtm, TBool aAlwaysListHidden )
+ { // static
+ return DoGetListOfAccountsL( aSession, aMtm, aAlwaysListHidden );
+ }
+
+
+// ---------------------------------------------------------
+// MsvUiServiceUtilitiesr::DoGetListOfAccountsL
+//
+// ---------------------------------------------------------
+//
+CMsvEntrySelection* MsvUiServiceUtilities::DoGetListOfAccountsL( CMsvSession& aSession,
+ TUid aMtm,
+ TBool aAlwaysListHidden )
+ {
+ CMsvEntrySelection* sel = new( ELeave ) CMsvEntrySelection();
+ CleanupStack::PushL( sel );
+ CMsvEntry* entry = aSession.GetEntryL( KMsvRootIndexEntryIdValue );
+ CleanupStack::PushL( entry );
+ TBool visible = EFalse;
+ TInt err;
+
+ TInt cnt = entry->Count();
+ if ( cnt != 0 )
+ {
+ entry->SetSortTypeL( TMsvSelectionOrdering( KMsvGroupByType | KMsvGroupByStandardFolders,
+ EMsvSortByDetailsReverse, ETrue ) );
+ const TMsvEntry* tentry;
+ for (TInt cc = entry->Count(); --cc >= 0; )
+ {
+ tentry=&(*entry)[cc];
+ if ( aMtm == KNullUid || tentry->iMtm == aMtm )
+ {
+ if ( tentry->iType.iUid == KUidMsvServiceEntryValue &&
+ tentry->Id() != KMsvLocalServiceIndexEntryIdValue )
+ {
+ const TBool noRelatedId = tentry->iRelatedId == KMsvNullIndexEntryId ||
+ tentry->iRelatedId == tentry->Id();
+ if ( tentry->Visible() || noRelatedId || aAlwaysListHidden )
+ {
+ // Add this service if:
+ // it is visible, or,there is no associated related service, or,
+ // we have been asked to list all services.
+ sel->AppendL( tentry->Id() );
+ }
+ else
+ {
+ // This service is invisible and has a related service.
+ // If the related service is visible we will add it later.
+ // If the related service is also invisible, and has not yet been added,
+ // add this service.
+ TRAP( err, visible = entry->ChildDataL( tentry->iRelatedId ).Visible() )
+ if ( err == KErrNone && !visible &&
+ sel->Find(tentry->iRelatedId) != KErrNone )
+ {
+ sel->AppendL( tentry->Id() );
+ }
+ }
+ }
+ }
+ }
+ }
+ CleanupStack::PopAndDestroy( entry );
+ CleanupStack::Pop( sel );
+ return sel;
+ }
+
+// ----------------------------------------------------
+// MsvUiServiceUtilities::IsValidEmailAddressL
+//
+// ----------------------------------------------------
+EXPORT_C TBool MsvUiServiceUtilities::IsValidEmailAddressL( const TDesC& aAddress )
+ {
+ TInt c;
+ TInt length = aAddress.Length ();
+ TBufC<KMuiuSpecialCharStrLen> rfc822Specials ( KRFC822Specials );
+
+ // first we validate the name portion (name@domain)
+ if ( length && aAddress[0] == KMuiuCharDot )
+ {
+ return EFalse;
+ }
+ for ( c = 0 ; c < length ; c++ )
+ {
+ if ( aAddress[c] == KMuiuCharQuote && ( c == 0 ||
+ aAddress[c-1] == KMuiuCharDot || aAddress[c-1] == KMuiuCharQuote ) )
+ {
+ while ( ++c < length )
+ {
+ if ( aAddress[c] == KMuiuCharQuote )
+ {
+ if( (c + 1) == length)
+ {
+ return EFalse;
+ }
+ break;
+ }
+ if ( aAddress[c] == KMuiuCharBackSlash &&
+ ( aAddress[++c] == KMuiuCharSpace) )
+ {
+ continue;
+ }
+ if ( aAddress[c] <= KMuiuCharSpace ||
+ aAddress[c] >= KMuiuCharDel )
+ {
+ return EFalse;
+ }
+ }
+ if ( c++ == length )
+ {
+ return EFalse;
+ }
+ if ( aAddress[c] == KMuiuCharAt )
+ {
+ break;
+ }
+ if ( aAddress[c] != KMuiuCharDot )
+ {
+ return EFalse;
+ }
+ continue;
+ }
+ if ( aAddress[c] == KMuiuCharAt )
+ {
+ break;
+ }
+ if ( aAddress[c] <= KMuiuCharSpace || aAddress[c] >= KMuiuCharDel )
+ {
+ return EFalse;
+ }
+ if ( rfc822Specials.Locate ( aAddress[c] ) != KErrNotFound )
+ {
+ return EFalse;
+ }
+ }
+ if ( c == 0 || aAddress[c-1] == KMuiuCharDot )
+ {
+ return EFalse;
+ }
+ // next we validate the domain portion (name@domain)
+ if ( c == length )
+ {
+ return EFalse;
+ }
+ else
+ {
+ c++;
+ return IsValidDomainL ( aAddress.Mid ( ( c ) , length-c ) );
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// MsvUiServiceUtilities::IsValidDomainL
+// -----------------------------------------------------------------------------
+EXPORT_C TBool MsvUiServiceUtilities::IsValidDomainL ( const TDesC& aDomain )
+ {
+ TInt c = 0;
+ TInt length = aDomain.Length ();
+ TBufC<KMuiuSpecialCharStrLen> rfc822Specials ( KRFC822Specials );
+
+ if ( length == 0 )
+ {
+ return EFalse;
+ }
+
+ do
+ {
+ if ( aDomain[c] == KMuiuCharDot )
+ {
+ if ( c == 0 || aDomain[c-1] == KMuiuCharDot )
+ {
+ return EFalse;
+ }
+ }
+ if ( aDomain[c] <= KMuiuCharSpace || aDomain[c] >= KMuiuCharDel )
+ {
+ return EFalse;
+ }
+ if ( rfc822Specials.Locate( aDomain[c] ) != KErrNotFound )
+ {
+ return EFalse;
+ }
+ }
+ while ( ++c < length );
+
+ return ( aDomain[length-1] != '.' );
+ }
+
+
+// ---------------------------------------------------------
+// MsvUiServiceUtilitiesr::DiskSpaceBelowCriticalLevelL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C TBool MsvUiServiceUtilities::DiskSpaceBelowCriticalLevelL( CMsvSession& aSession,
+ TInt aBytesToWrite )
+ {
+ RFs& fs = aSession.FileSession();
+ TInt err = KErrNone;
+ TVolumeInfo vinfo;
+ TInt currentDrive = TInt( aSession.CurrentDriveL() );
+ err = fs.Volume( vinfo, currentDrive );
+ if ( err != KErrNone )
+ {
+ User::LeaveIfError( err );
+ }
+
+ TInt64 freespace = vinfo.iFree;
+ TInt64 newFree = freespace - ( TInt64 )aBytesToWrite;
+ TInt criticalLevel;
+ CRepository* repository = CRepository::NewLC( KCRUidUiklaf );
+ repository->Get( KUikOODDiskCriticalThreshold, criticalLevel );
+ CleanupStack::PopAndDestroy( repository ); //repository
+ return ( newFree <= (TInt64)criticalLevel );
+ }
+
+
+
+// ---------------------------------------------------------
+// MsvUiServiceUtilities::DiskSpaceBelowCriticalLevelWithOverheadL
+//
+// ---------------------------------------------------------
+//
+EXPORT_C TBool MsvUiServiceUtilities::DiskSpaceBelowCriticalLevelWithOverheadL(
+ CMsvSession& aSession,
+ TInt aBytesToWrite,
+ TInt aPhoneMemoryOverheadBytes )
+ {
+ RFs& fs = aSession.FileSession();
+ TInt err = KErrNone;
+ TBool belowCritical = EFalse;
+ TVolumeInfo vinfo;
+ TInt criticalLevel;
+ CRepository* repository = CRepository::NewLC( KCRUidUiklaf );
+ repository->Get( KUikOODDiskCriticalThreshold, criticalLevel );
+ CleanupStack::PopAndDestroy( repository ); //repository
+
+ TInt currentDrive = TInt( aSession.CurrentDriveL() );
+ // Sending eat always some memory from C drive
+ if( currentDrive != EDriveC )
+ {
+ err = fs.Volume( vinfo, EDriveC );
+ if ( err != KErrNone )
+ {
+ User::LeaveIfError( err );
+ }
+ belowCritical = ( vinfo.iFree < ( (TInt64)aPhoneMemoryOverheadBytes +
+ (TInt64)criticalLevel ) );
+ }
+
+ if ( !belowCritical )
+ {
+ err = fs.Volume( vinfo, currentDrive );
+ if ( err != KErrNone )
+ {
+ User::LeaveIfError( err );
+ }
+ if( currentDrive == EDriveC )
+ {
+ belowCritical = ( vinfo.iFree < ( (TInt64)aBytesToWrite +
+ (TInt64)aPhoneMemoryOverheadBytes +
+ (TInt64)criticalLevel ) );
+ }
+ else
+ {
+ belowCritical = ( vinfo.iFree < ( (TInt64)aBytesToWrite + (TInt64)criticalLevel ) );
+ }
+ }
+
+ return belowCritical;
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/muiuutils/src/muiudomainpan.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* 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:
+* DLL internal functions.
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <e32std.h>
+#include "muiudomainpan.h"
+
+
+// LOCAL CONSTANTS AND MACROS
+_LIT(KPanicText, "MUIU_DOMAIN");
+
+
+// ==================== LOCAL FUNCTIONS ====================
+
+// ================= MEMBER FUNCTIONS =======================
+
+GLDEF_C void Panic( TMuiuDomainPanic aPanic )
+ {
+ User::Panic( KPanicText, aPanic );
+ }
+
+
+// End of file
--- a/messagingfw/scheduledsendmtm/schedulesendmtm/inc/MsvSchedulePackage.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/scheduledsendmtm/schedulesendmtm/inc/MsvSchedulePackage.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1999-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"
--- a/messagingfw/sendas/server/src/csendassender.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/sendas/server/src/csendassender.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -120,7 +120,7 @@
_LIT16(KComma, ",");
RBuf16 buffer;
- buffer.Create(size+ rcptCount);
+ buffer.CreateL(size+ rcptCount);
CleanupClosePushL(buffer);
if(rcptCount > 0)
{
--- a/messagingfw/senduiservices/bmarm/SENDUIU.DEF Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-EXPORTS
- __20TSendingCapabilitiesiii @ 1 NONAME ; TSendingCapabilities::TSendingCapabilities(int, int, int)
- AppendAttachmentL__12CMessageDataRC7TDesC16 @ 2 NONAME R3UNUSED ; CMessageData::AppendAttachmentL(TDesC16 const &)
- AppendBccAddressL__12CMessageDataRC7TDesC16T1 @ 3 NONAME R3UNUSED ; CMessageData::AppendBccAddressL(TDesC16 const &, TDesC16 const &)
- AppendCcAddressL__12CMessageDataRC7TDesC16T1 @ 4 NONAME R3UNUSED ; CMessageData::AppendCcAddressL(TDesC16 const &, TDesC16 const &)
- AppendToAddressL__12CMessageDataRC7TDesC16T1 @ 5 NONAME R3UNUSED ; CMessageData::AppendToAddressL(TDesC16 const &, TDesC16 const &)
- AvailableServicesL__7CSendUiRt13RPointerArray1Z19CSendingServiceInfoG4TUid @ 6 NONAME R3UNUSED ; CSendUi::AvailableServicesL(RPointerArray<CSendingServiceInfo> &, TUid)
- CanAddMtmL__10CSendAppUiG4TUidG20TSendingCapabilities @ 7 NONAME ; CSendAppUi::CanAddMtmL(TUid, TSendingCapabilities)
- CanAddMtmL__11CSendBaseUiG4TUidG20TSendingCapabilities @ 8 NONAME ; CSendBaseUi::CanAddMtmL(TUid, TSendingCapabilities)
- CanSendBioMessage__10CSendAppUiG4TUid @ 9 NONAME R3UNUSED ; CSendAppUi::CanSendBioMessage(TUid)
- CanSendBioMessage__11CSendBaseUiG4TUid @ 10 NONAME R3UNUSED ; CSendBaseUi::CanSendBioMessage(TUid)
- CanSendBioMessage__C7CSendUiG4TUid @ 11 NONAME R3UNUSED ; CSendUi::CanSendBioMessage(TUid) const
- CommandIsValidL__10CSendAppUiiG20TSendingCapabilitiesPt9CArrayFix1Z4TUid @ 12 NONAME ; CSendAppUi::CommandIsValidL(int, TSendingCapabilities, CArrayFix<TUid> *)
- CommandIsValidL__11CSendBaseUiiG20TSendingCapabilitiesPt9CArrayFix1Z4TUid @ 13 NONAME ; CSendBaseUi::CommandIsValidL(int, TSendingCapabilities, CArrayFix<TUid> *)
- ConstructL__11CSendBaseUiiP15CEikHotKeyTable @ 14 NONAME R3UNUSED ; CSendBaseUi::ConstructL(int, CEikHotKeyTable *)
- CopyLC__C19CSendingServiceInfo @ 15 NONAME R3UNUSED ; CSendingServiceInfo::CopyLC(void) const
- CreateAndSendMessageL__10CSendAppUiG4TUidPC9CRichTextP12MDesC16ArrayT1T3T3i @ 16 NONAME ; CSendAppUi::CreateAndSendMessageL(TUid, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, int)
- CreateAndSendMessageL__10CSendAppUiiPC9CRichTextP12MDesC16ArrayG4TUidT3T3i @ 17 NONAME ; CSendAppUi::CreateAndSendMessageL(int, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, int)
- CreateAndSendMessageL__11CSendBaseUiG4TUidPC9CRichTextP12MDesC16ArrayT1T3T3i @ 18 NONAME ; CSendBaseUi::CreateAndSendMessageL(TUid, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, int)
- CreateAndSendMessageL__11CSendBaseUiiPC9CRichTextP12MDesC16ArrayG4TUidT3T3i @ 19 NONAME ; CSendBaseUi::CreateAndSendMessageL(int, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, int)
- CreateAndSendMessageL__7CSendUiG4TUidPC12CMessageDataT1i @ 20 NONAME ; CSendUi::CreateAndSendMessageL(TUid, CMessageData const *, TUid, int)
- CreateAndSendMessagePopupQueryL__10CSendAppUiRC7TDesC16G20TSendingCapabilitiesPC9CRichTextP12MDesC16ArrayG4TUidT4T4Pt9CArrayFix1Z4TUidi @ 21 NONAME ; CSendAppUi::CreateAndSendMessagePopupQueryL(TDesC16 const &, TSendingCapabilities, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, CArrayFix<TUid> *, int)
- CreateAndSendMessagePopupQueryL__11CSendBaseUiRC7TDesC16G20TSendingCapabilitiesPC9CRichTextP12MDesC16ArrayG4TUidT4T4Pt9CArrayFix1Z4TUidi @ 22 NONAME ; CSendBaseUi::CreateAndSendMessagePopupQueryL(TDesC16 const &, TSendingCapabilities, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, CArrayFix<TUid> *, int)
- CreateAndSendMessagePopupQueryWithSubjectL__10CSendAppUiRC7TDesC16T1G20TSendingCapabilitiesPC9CRichTextP12MDesC16ArrayG4TUidT5N35Pt9CArrayFix1Z4TUidi @ 23 NONAME ; CSendAppUi::CreateAndSendMessagePopupQueryWithSubjectL(TDesC16 const &, TDesC16 const &, TSendingCapabilities, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, MDesC16Array *, MDesC16Array *, CArrayFix<TUid> *, int)
- CreateAndSendMessagePopupQueryWithSubjectL__11CSendBaseUiRC7TDesC16T1G20TSendingCapabilitiesPC9CRichTextP12MDesC16ArrayG4TUidT5N35Pt9CArrayFix1Z4TUidi @ 24 NONAME ; CSendBaseUi::CreateAndSendMessagePopupQueryWithSubjectL(TDesC16 const &, TDesC16 const &, TSendingCapabilities, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, MDesC16Array *, MDesC16Array *, CArrayFix<TUid> *, int)
- CreateAndSendMessageWithSubjectL__10CSendAppUiG4TUidRC7TDesC16PC9CRichTextP12MDesC16ArrayT1T4N34i @ 25 NONAME ; CSendAppUi::CreateAndSendMessageWithSubjectL(TUid, TDesC16 const &, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, MDesC16Array *, MDesC16Array *, int)
- CreateAndSendMessageWithSubjectL__10CSendAppUiiRC7TDesC16PC9CRichTextP12MDesC16ArrayG4TUidT4N34i @ 26 NONAME ; CSendAppUi::CreateAndSendMessageWithSubjectL(int, TDesC16 const &, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, MDesC16Array *, MDesC16Array *, int)
- CreateAndSendMessageWithSubjectL__11CSendBaseUiG4TUidRC7TDesC16PC9CRichTextP12MDesC16ArrayT1T4N34i @ 27 NONAME ; CSendBaseUi::CreateAndSendMessageWithSubjectL(TUid, TDesC16 const &, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, MDesC16Array *, MDesC16Array *, int)
- CreateAndSendMessageWithSubjectL__11CSendBaseUiiRC7TDesC16PC9CRichTextP12MDesC16ArrayG4TUidT4N34i @ 28 NONAME ; CSendBaseUi::CreateAndSendMessageWithSubjectL(int, TDesC16 const &, CRichText const *, MDesC16Array *, TUid, MDesC16Array *, MDesC16Array *, MDesC16Array *, MDesC16Array *, int)
- CreateDimmableMtmArrayL__10CSendAppUiRC12MDesC16Array @ 29 NONAME R3UNUSED ; CSendAppUi::CreateDimmableMtmArrayL(MDesC16Array const &)
- CreateDimmableMtmArrayL__11CSendBaseUiRC12MDesC16Array @ 30 NONAME R3UNUSED ; CSendBaseUi::CreateDimmableMtmArrayL(MDesC16Array const &)
- DRMConfirmAndFilterProtectedFilesL__23CSendUiFileRightsEngineR16CDesC16ArrayFlatG4TUid @ 31 NONAME R3UNUSED ; CSendUiFileRightsEngine::DRMConfirmAndFilterProtectedFilesL(CDesC16ArrayFlat &, TUid)
- DisplaySendCascadeMenuL__10CSendAppUiR12CEikMenuPanePt9CArrayFix1Z4TUid @ 32 NONAME R3UNUSED ; CSendAppUi::DisplaySendCascadeMenuL(CEikMenuPane &, CArrayFix<TUid> *)
- DisplaySendCascadeMenuL__11CSendBaseUiR12CEikMenuPanePt9CArrayFix1Z4TUid @ 33 NONAME R3UNUSED ; CSendBaseUi::DisplaySendCascadeMenuL(CEikMenuPane &, CArrayFix<TUid> *)
- DisplaySendMenuItemL__10CSendAppUiR12CEikMenuPaneiG20TSendingCapabilities @ 34 NONAME ; CSendAppUi::DisplaySendMenuItemL(CEikMenuPane &, int, TSendingCapabilities)
- DisplaySendMenuItemL__11CSendBaseUiR12CEikMenuPaneiG20TSendingCapabilities @ 35 NONAME ; CSendBaseUi::DisplaySendMenuItemL(CEikMenuPane &, int, TSendingCapabilities)
- ExpandArrayPropertiesLC__23CSendUiFileRightsEngineRC12MDesC16Array @ 36 NONAME R3UNUSED ; CSendUiFileRightsEngine::ExpandArrayPropertiesLC(MDesC16Array const &)
- FinishL__20CSendUiIdleMtmLoader @ 37 NONAME R3UNUSED ; CSendUiIdleMtmLoader::FinishL(void)
- MMEFilesSendableViaMMS__23CSendUiFileRightsEngineRC12MDesC16Array @ 38 NONAME R3UNUSED ; CSendUiFileRightsEngine::MMEFilesSendableViaMMS(MDesC16Array const &)
- MMEFilterAndNotifyNonMMSFilesL__23CSendUiFileRightsEngineR16CDesC16ArrayFlatG4TUid @ 39 NONAME R3UNUSED ; CSendUiFileRightsEngine::MMEFilterAndNotifyNonMMSFilesL(CDesC16ArrayFlat &, TUid)
- MtmCapabilitiesL__10CSendAppUiG4TUid @ 40 NONAME R3UNUSED ; CSendAppUi::MtmCapabilitiesL(TUid)
- MtmCapabilitiesL__11CSendBaseUiG4TUid @ 41 NONAME R3UNUSED ; CSendBaseUi::MtmCapabilitiesL(TUid)
- MtmForCommand__10CSendAppUii @ 42 NONAME R3UNUSED ; CSendAppUi::MtmForCommand(int)
- MtmForCommand__11CSendBaseUii @ 43 NONAME R3UNUSED ; CSendBaseUi::MtmForCommand(int)
- NewLC__10CSendAppUiiP15CEikHotKeyTable @ 44 NONAME R3UNUSED ; CSendAppUi::NewLC(int, CEikHotKeyTable *)
- NewLC__11CSendBaseUiiP15CEikHotKeyTable @ 45 NONAME R3UNUSED ; CSendBaseUi::NewLC(int, CEikHotKeyTable *)
- NewLC__23CSendUiFileRightsEngineRC3RFsRCi @ 46 NONAME R3UNUSED ; CSendUiFileRightsEngine::NewLC(RFs const &, int const &)
- NewLC__7CSendUi @ 47 NONAME R3UNUSED ; CSendUi::NewLC(void)
- NewL__10CSendAppUiiP15CEikHotKeyTable @ 48 NONAME R3UNUSED ; CSendAppUi::NewL(int, CEikHotKeyTable *)
- NewL__11CSendBaseUiiP15CEikHotKeyTable @ 49 NONAME R3UNUSED ; CSendBaseUi::NewL(int, CEikHotKeyTable *)
- NewL__12CMessageData @ 50 NONAME R3UNUSED ; CMessageData::NewL(void)
- NewL__15CSendingServiceRC4TUid @ 51 NONAME R3UNUSED ; CSendingService::NewL(TUid const &)
- NewL__19CSendingServiceInfo @ 52 NONAME R3UNUSED ; CSendingServiceInfo::NewL(void)
- NewL__7CSendUi @ 53 NONAME R3UNUSED ; CSendUi::NewL(void)
- ServiceCapabilitiesL__7CSendUiG4TUidR20TSendingCapabilities @ 54 NONAME R3UNUSED ; CSendUi::ServiceCapabilitiesL(TUid, TSendingCapabilities &)
- SetAddressL__15CMessageAddressRC7TDesC16 @ 55 NONAME R3UNUSED ; CMessageAddress::SetAddressL(TDesC16 const &)
- SetAliasL__15CMessageAddressRC7TDesC16 @ 56 NONAME R3UNUSED ; CMessageAddress::SetAliasL(TDesC16 const &)
- SetBodyTextL__12CMessageDataPC9CRichText @ 57 NONAME R3UNUSED ; CMessageData::SetBodyTextL(CRichText const *)
- SetServiceAddressL__19CSendingServiceInfoRC7TDesC16 @ 58 NONAME R3UNUSED ; CSendingServiceInfo::SetServiceAddressL(TDesC16 const &)
- SetServiceMenuNameL__19CSendingServiceInfoRC7TDesC16 @ 59 NONAME R3UNUSED ; CSendingServiceInfo::SetServiceMenuNameL(TDesC16 const &)
- SetServiceNameL__19CSendingServiceInfoRC7TDesC16 @ 60 NONAME R3UNUSED ; CSendingServiceInfo::SetServiceNameL(TDesC16 const &)
- SetSubjectL__12CMessageDataPC7TDesC16 @ 61 NONAME R3UNUSED ; CMessageData::SetSubjectL(TDesC16 const *)
- ShowQueryAndSendL__7CSendUiPC12CMessageDataG20TSendingCapabilitiesPt9CArrayFix1Z4TUidG4TUidiRC7TDesC16 @ 62 NONAME ; CSendUi::ShowQueryAndSendL(CMessageData const *, TSendingCapabilities, CArrayFix<TUid> *, TUid, int, TDesC16 const &)
- ShowSendQueryL__7CSendUiPC12CMessageDataG20TSendingCapabilitiesPt9CArrayFix1Z4TUidRC7TDesC16 @ 63 NONAME ; CSendUi::ShowSendQueryL(CMessageData const *, TSendingCapabilities, CArrayFix<TUid> *, TDesC16 const &)
- StartL__20CSendUiIdleMtmLoaderR11CMsvSession @ 64 NONAME R3UNUSED ; CSendUiIdleMtmLoader::StartL(CMsvSession &)
- ValidateServiceL__C7CSendUiG4TUidG20TSendingCapabilities @ 65 NONAME ; CSendUi::ValidateServiceL(TUid, TSendingCapabilities) const
- "_._10CSendAppUi" @ 66 NONAME R3UNUSED ; CSendAppUi::~CSendAppUi(void)
- "_._11CSendBaseUi" @ 67 NONAME R3UNUSED ; CSendBaseUi::~CSendBaseUi(void)
- "_._12CMessageData" @ 68 NONAME R3UNUSED ; CMessageData::~CMessageData(void)
- "_._15CMessageAddress" @ 69 NONAME R3UNUSED ; CMessageAddress::~CMessageAddress(void)
- "_._15CSendingService" @ 70 NONAME R3UNUSED ; CSendingService::~CSendingService(void)
- "_._19CSendingServiceInfo" @ 71 NONAME R3UNUSED ; CSendingServiceInfo::~CSendingServiceInfo(void)
- "_._7CSendUi" @ 72 NONAME R3UNUSED ; CSendUi::~CSendUi(void)
- __15CMessageAddress @ 73 NONAME R3UNUSED ; CMessageAddress::CMessageAddress(void)
- __20CSendUiIdleMtmLoaderR13CUidNameArrayR9CMtmStoreiP15CEikHotKeyTablei @ 74 NONAME ; CSendUiIdleMtmLoader::CSendUiIdleMtmLoader(CUidNameArray &, CMtmStore &, int, CEikHotKeyTable *, int)
- __20TSendingCapabilities @ 75 NONAME R3UNUSED ; TSendingCapabilities::TSendingCapabilities(void)
- AddSendMenuItemL__7CSendUiR12CEikMenuPaneiiG20TSendingCapabilities @ 76 NONAME ; CSendUi::AddSendMenuItemL(CEikMenuPane &, int, int, TSendingCapabilities)
-
--- a/messagingfw/senduiservices/bwins/Senduiu.def Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-EXPORTS
- ??0CMessageAddress@@QAE@XZ @ 1 NONAME ; public: __thiscall CMessageAddress::CMessageAddress(void)
- ??0CSendUiIdleMtmLoader@@QAE@AAVCUidNameArray@@AAVCMtmStore@@HPAVCEikHotKeyTable@@H@Z @ 2 NONAME ; public: __thiscall CSendUiIdleMtmLoader::CSendUiIdleMtmLoader(class CUidNameArray &,class CMtmStore &,int,class CEikHotKeyTable *,int)
- ??0TSendingCapabilities@@QAE@HHH@Z @ 3 NONAME ; public: __thiscall TSendingCapabilities::TSendingCapabilities(int,int,int)
- ??0TSendingCapabilities@@QAE@XZ @ 4 NONAME ; public: __thiscall TSendingCapabilities::TSendingCapabilities(void)
- ??1CMessageAddress@@UAE@XZ @ 5 NONAME ; public: virtual __thiscall CMessageAddress::~CMessageAddress(void)
- ??1CMessageData@@UAE@XZ @ 6 NONAME ; public: virtual __thiscall CMessageData::~CMessageData(void)
- ??1CSendAppUi@@UAE@XZ @ 7 NONAME ; public: virtual __thiscall CSendAppUi::~CSendAppUi(void)
- ??1CSendBaseUi@@UAE@XZ @ 8 NONAME ; public: virtual __thiscall CSendBaseUi::~CSendBaseUi(void)
- ??1CSendUi@@UAE@XZ @ 9 NONAME ; public: virtual __thiscall CSendUi::~CSendUi(void)
- ??1CSendingService@@UAE@XZ @ 10 NONAME ; public: virtual __thiscall CSendingService::~CSendingService(void)
- ??1CSendingServiceInfo@@UAE@XZ @ 11 NONAME ; public: virtual __thiscall CSendingServiceInfo::~CSendingServiceInfo(void)
- ?AddSendMenuItemL@CSendUi@@QAEXAAVCEikMenuPane@@HHVTSendingCapabilities@@@Z @ 12 NONAME ; public: void __thiscall CSendUi::AddSendMenuItemL(class CEikMenuPane &,int,int,class TSendingCapabilities)
- ?AppendAttachmentL@CMessageData@@QAEXABVTDesC16@@@Z @ 13 NONAME ; public: void __thiscall CMessageData::AppendAttachmentL(class TDesC16 const &)
- ?AppendBccAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 14 NONAME ; public: void __thiscall CMessageData::AppendBccAddressL(class TDesC16 const &,class TDesC16 const &)
- ?AppendCcAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 15 NONAME ; public: void __thiscall CMessageData::AppendCcAddressL(class TDesC16 const &,class TDesC16 const &)
- ?AppendToAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 16 NONAME ; public: void __thiscall CMessageData::AppendToAddressL(class TDesC16 const &,class TDesC16 const &)
- ?AvailableServicesL@CSendUi@@QAEXAAV?$RPointerArray@VCSendingServiceInfo@@@@VTUid@@@Z @ 17 NONAME ; public: void __thiscall CSendUi::AvailableServicesL(class RPointerArray<class CSendingServiceInfo> &,class TUid)
- ?CanAddMtmL@CSendAppUi@@UAEHVTUid@@VTSendingCapabilities@@@Z @ 18 NONAME ; public: virtual int __thiscall CSendAppUi::CanAddMtmL(class TUid,class TSendingCapabilities)
- ?CanAddMtmL@CSendBaseUi@@UAEHVTUid@@VTSendingCapabilities@@@Z @ 19 NONAME ; public: virtual int __thiscall CSendBaseUi::CanAddMtmL(class TUid,class TSendingCapabilities)
- ?CanSendBioMessage@CSendAppUi@@UAEHVTUid@@@Z @ 20 NONAME ; public: virtual int __thiscall CSendAppUi::CanSendBioMessage(class TUid)
- ?CanSendBioMessage@CSendBaseUi@@UAEHVTUid@@@Z @ 21 NONAME ; public: virtual int __thiscall CSendBaseUi::CanSendBioMessage(class TUid)
- ?CanSendBioMessage@CSendUi@@QBEHVTUid@@@Z @ 22 NONAME ; public: int __thiscall CSendUi::CanSendBioMessage(class TUid)const
- ?CommandIsValidL@CSendAppUi@@UAEHHVTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@@Z @ 23 NONAME ; public: virtual int __thiscall CSendAppUi::CommandIsValidL(int,class TSendingCapabilities,class CArrayFix<class TUid> *)
- ?CommandIsValidL@CSendBaseUi@@UAEHHVTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@@Z @ 24 NONAME ; public: virtual int __thiscall CSendBaseUi::CommandIsValidL(int,class TSendingCapabilities,class CArrayFix<class TUid> *)
- ?ConstructL@CSendBaseUi@@UAEXHPAVCEikHotKeyTable@@@Z @ 25 NONAME ; public: virtual void __thiscall CSendBaseUi::ConstructL(int,class CEikHotKeyTable *)
- ?CopyLC@CSendingServiceInfo@@QBEPAV1@XZ @ 26 NONAME ; public: class CSendingServiceInfo * __thiscall CSendingServiceInfo::CopyLC(void)const
- ?CreateAndSendMessageL@CSendAppUi@@UAEXHPBVCRichText@@PAVMDesC16Array@@VTUid@@11H@Z @ 27 NONAME ; public: virtual void __thiscall CSendAppUi::CreateAndSendMessageL(int,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateAndSendMessageL@CSendAppUi@@UAEXVTUid@@PBVCRichText@@PAVMDesC16Array@@022H@Z @ 28 NONAME ; public: virtual void __thiscall CSendAppUi::CreateAndSendMessageL(class TUid,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateAndSendMessageL@CSendBaseUi@@UAEXHPBVCRichText@@PAVMDesC16Array@@VTUid@@11H@Z @ 29 NONAME ; public: virtual void __thiscall CSendBaseUi::CreateAndSendMessageL(int,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateAndSendMessageL@CSendBaseUi@@UAEXVTUid@@PBVCRichText@@PAVMDesC16Array@@022H@Z @ 30 NONAME ; public: virtual void __thiscall CSendBaseUi::CreateAndSendMessageL(class TUid,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateAndSendMessageL@CSendUi@@QAEXVTUid@@PBVCMessageData@@0H@Z @ 31 NONAME ; public: void __thiscall CSendUi::CreateAndSendMessageL(class TUid,class CMessageData const *,class TUid,int)
- ?CreateAndSendMessagePopupQueryL@CSendAppUi@@UAEXABVTDesC16@@VTSendingCapabilities@@PBVCRichText@@PAVMDesC16Array@@VTUid@@33PAV?$CArrayFix@VTUid@@@@H@Z @ 32 NONAME ; public: virtual void __thiscall CSendAppUi::CreateAndSendMessagePopupQueryL(class TDesC16 const &,class TSendingCapabilities,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class CArrayFix<class TUid> *,int)
- ?CreateAndSendMessagePopupQueryL@CSendBaseUi@@UAEXABVTDesC16@@VTSendingCapabilities@@PBVCRichText@@PAVMDesC16Array@@VTUid@@33PAV?$CArrayFix@VTUid@@@@H@Z @ 33 NONAME ; public: virtual void __thiscall CSendBaseUi::CreateAndSendMessagePopupQueryL(class TDesC16 const &,class TSendingCapabilities,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class CArrayFix<class TUid> *,int)
- ?CreateAndSendMessagePopupQueryWithSubjectL@CSendAppUi@@UAEXABVTDesC16@@0VTSendingCapabilities@@PBVCRichText@@PAVMDesC16Array@@VTUid@@3333PAV?$CArrayFix@VTUid@@@@H@Z @ 34 NONAME ; public: virtual void __thiscall CSendAppUi::CreateAndSendMessagePopupQueryWithSubjectL(class TDesC16 const &,class TDesC16 const &,class TSendingCapabilities,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class CArrayFix<class TUid> *,int)
- ?CreateAndSendMessagePopupQueryWithSubjectL@CSendBaseUi@@UAEXABVTDesC16@@0VTSendingCapabilities@@PBVCRichText@@PAVMDesC16Array@@VTUid@@3333PAV?$CArrayFix@VTUid@@@@H@Z @ 35 NONAME ; public: virtual void __thiscall CSendBaseUi::CreateAndSendMessagePopupQueryWithSubjectL(class TDesC16 const &,class TDesC16 const &,class TSendingCapabilities,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class CArrayFix<class TUid> *,int)
- ?CreateAndSendMessageWithSubjectL@CSendAppUi@@UAEXHABVTDesC16@@PBVCRichText@@PAVMDesC16Array@@VTUid@@2222H@Z @ 36 NONAME ; public: virtual void __thiscall CSendAppUi::CreateAndSendMessageWithSubjectL(int,class TDesC16 const &,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateAndSendMessageWithSubjectL@CSendAppUi@@UAEXVTUid@@ABVTDesC16@@PBVCRichText@@PAVMDesC16Array@@03333H@Z @ 37 NONAME ; public: virtual void __thiscall CSendAppUi::CreateAndSendMessageWithSubjectL(class TUid,class TDesC16 const &,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateAndSendMessageWithSubjectL@CSendBaseUi@@UAEXHABVTDesC16@@PBVCRichText@@PAVMDesC16Array@@VTUid@@2222H@Z @ 38 NONAME ; public: virtual void __thiscall CSendBaseUi::CreateAndSendMessageWithSubjectL(int,class TDesC16 const &,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateAndSendMessageWithSubjectL@CSendBaseUi@@UAEXVTUid@@ABVTDesC16@@PBVCRichText@@PAVMDesC16Array@@03333H@Z @ 39 NONAME ; public: virtual void __thiscall CSendBaseUi::CreateAndSendMessageWithSubjectL(class TUid,class TDesC16 const &,class CRichText const *,class MDesC16Array *,class TUid,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,class MDesC16Array *,int)
- ?CreateDimmableMtmArrayL@CSendAppUi@@UAEPAV?$CArrayFixFlat@VTUid@@@@ABVMDesC16Array@@@Z @ 40 NONAME ; public: virtual class CArrayFixFlat<class TUid> * __thiscall CSendAppUi::CreateDimmableMtmArrayL(class MDesC16Array const &)
- ?CreateDimmableMtmArrayL@CSendBaseUi@@UAEPAV?$CArrayFixFlat@VTUid@@@@ABVMDesC16Array@@@Z @ 41 NONAME ; public: virtual class CArrayFixFlat<class TUid> * __thiscall CSendBaseUi::CreateDimmableMtmArrayL(class MDesC16Array const &)
- ?DRMConfirmAndFilterProtectedFilesL@CSendUiFileRightsEngine@@QAEHAAVCDesC16ArrayFlat@@VTUid@@@Z @ 42 NONAME ; public: int __thiscall CSendUiFileRightsEngine::DRMConfirmAndFilterProtectedFilesL(class CDesC16ArrayFlat &,class TUid)
- ?DisplaySendCascadeMenuL@CSendAppUi@@UAEXAAVCEikMenuPane@@PAV?$CArrayFix@VTUid@@@@@Z @ 43 NONAME ; public: virtual void __thiscall CSendAppUi::DisplaySendCascadeMenuL(class CEikMenuPane &,class CArrayFix<class TUid> *)
- ?DisplaySendCascadeMenuL@CSendBaseUi@@UAEXAAVCEikMenuPane@@PAV?$CArrayFix@VTUid@@@@@Z @ 44 NONAME ; public: virtual void __thiscall CSendBaseUi::DisplaySendCascadeMenuL(class CEikMenuPane &,class CArrayFix<class TUid> *)
- ?DisplaySendMenuItemL@CSendAppUi@@UAEXAAVCEikMenuPane@@HVTSendingCapabilities@@@Z @ 45 NONAME ; public: virtual void __thiscall CSendAppUi::DisplaySendMenuItemL(class CEikMenuPane &,int,class TSendingCapabilities)
- ?DisplaySendMenuItemL@CSendBaseUi@@UAEXAAVCEikMenuPane@@HVTSendingCapabilities@@@Z @ 46 NONAME ; public: virtual void __thiscall CSendBaseUi::DisplaySendMenuItemL(class CEikMenuPane &,int,class TSendingCapabilities)
- ?ExpandArrayPropertiesLC@CSendUiFileRightsEngine@@QAEPAVCDesC16ArrayFlat@@ABVMDesC16Array@@@Z @ 47 NONAME ; public: class CDesC16ArrayFlat * __thiscall CSendUiFileRightsEngine::ExpandArrayPropertiesLC(class MDesC16Array const &)
- ?FinishL@CSendUiIdleMtmLoader@@QAEXXZ @ 48 NONAME ; public: void __thiscall CSendUiIdleMtmLoader::FinishL(void)
- ?MMEFilesSendableViaMMS@CSendUiFileRightsEngine@@QAEHABVMDesC16Array@@@Z @ 49 NONAME ; public: int __thiscall CSendUiFileRightsEngine::MMEFilesSendableViaMMS(class MDesC16Array const &)
- ?MMEFilterAndNotifyNonMMSFilesL@CSendUiFileRightsEngine@@QAEHAAVCDesC16ArrayFlat@@VTUid@@@Z @ 50 NONAME ; public: int __thiscall CSendUiFileRightsEngine::MMEFilterAndNotifyNonMMSFilesL(class CDesC16ArrayFlat &,class TUid)
- ?MtmCapabilitiesL@CSendAppUi@@UAE?AVTSendingCapabilities@@VTUid@@@Z @ 51 NONAME ; public: virtual class TSendingCapabilities __thiscall CSendAppUi::MtmCapabilitiesL(class TUid)
- ?MtmCapabilitiesL@CSendBaseUi@@UAE?AVTSendingCapabilities@@VTUid@@@Z @ 52 NONAME ; public: virtual class TSendingCapabilities __thiscall CSendBaseUi::MtmCapabilitiesL(class TUid)
- ?MtmForCommand@CSendAppUi@@UAE?AVTUid@@H@Z @ 53 NONAME ; public: virtual class TUid __thiscall CSendAppUi::MtmForCommand(int)
- ?MtmForCommand@CSendBaseUi@@UAE?AVTUid@@H@Z @ 54 NONAME ; public: virtual class TUid __thiscall CSendBaseUi::MtmForCommand(int)
- ?NewL@CMessageData@@SAPAV1@XZ @ 55 NONAME ; public: static class CMessageData * __cdecl CMessageData::NewL(void)
- ?NewL@CSendAppUi@@SAPAV1@HPAVCEikHotKeyTable@@@Z @ 56 NONAME ; public: static class CSendAppUi * __cdecl CSendAppUi::NewL(int,class CEikHotKeyTable *)
- ?NewL@CSendBaseUi@@SAPAV1@HPAVCEikHotKeyTable@@@Z @ 57 NONAME ; public: static class CSendBaseUi * __cdecl CSendBaseUi::NewL(int,class CEikHotKeyTable *)
- ?NewL@CSendUi@@SAPAV1@XZ @ 58 NONAME ; public: static class CSendUi * __cdecl CSendUi::NewL(void)
- ?NewL@CSendingService@@SAPAV1@ABVTUid@@@Z @ 59 NONAME ; public: static class CSendingService * __cdecl CSendingService::NewL(class TUid const &)
- ?NewL@CSendingServiceInfo@@SAPAV1@XZ @ 60 NONAME ; public: static class CSendingServiceInfo * __cdecl CSendingServiceInfo::NewL(void)
- ?NewLC@CSendAppUi@@SAPAV1@HPAVCEikHotKeyTable@@@Z @ 61 NONAME ; public: static class CSendAppUi * __cdecl CSendAppUi::NewLC(int,class CEikHotKeyTable *)
- ?NewLC@CSendBaseUi@@SAPAV1@HPAVCEikHotKeyTable@@@Z @ 62 NONAME ; public: static class CSendBaseUi * __cdecl CSendBaseUi::NewLC(int,class CEikHotKeyTable *)
- ?NewLC@CSendUi@@SAPAV1@XZ @ 63 NONAME ; public: static class CSendUi * __cdecl CSendUi::NewLC(void)
- ?NewLC@CSendUiFileRightsEngine@@SAPAV1@ABVRFs@@ABH@Z @ 64 NONAME ; public: static class CSendUiFileRightsEngine * __cdecl CSendUiFileRightsEngine::NewLC(class RFs const &,int const &)
- ?ServiceCapabilitiesL@CSendUi@@QAEHVTUid@@AAVTSendingCapabilities@@@Z @ 65 NONAME ; public: int __thiscall CSendUi::ServiceCapabilitiesL(class TUid,class TSendingCapabilities &)
- ?SetAddressL@CMessageAddress@@QAEXABVTDesC16@@@Z @ 66 NONAME ; public: void __thiscall CMessageAddress::SetAddressL(class TDesC16 const &)
- ?SetAliasL@CMessageAddress@@QAEXABVTDesC16@@@Z @ 67 NONAME ; public: void __thiscall CMessageAddress::SetAliasL(class TDesC16 const &)
- ?SetBodyTextL@CMessageData@@QAEXPBVCRichText@@@Z @ 68 NONAME ; public: void __thiscall CMessageData::SetBodyTextL(class CRichText const *)
- ?SetServiceAddressL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 69 NONAME ; public: void __thiscall CSendingServiceInfo::SetServiceAddressL(class TDesC16 const &)
- ?SetServiceMenuNameL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 70 NONAME ; public: void __thiscall CSendingServiceInfo::SetServiceMenuNameL(class TDesC16 const &)
- ?SetServiceNameL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 71 NONAME ; public: void __thiscall CSendingServiceInfo::SetServiceNameL(class TDesC16 const &)
- ?SetSubjectL@CMessageData@@QAEXPBVTDesC16@@@Z @ 72 NONAME ; public: void __thiscall CMessageData::SetSubjectL(class TDesC16 const *)
- ?ShowQueryAndSendL@CSendUi@@QAEXPBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@VTUid@@HABVTDesC16@@@Z @ 73 NONAME ; public: void __thiscall CSendUi::ShowQueryAndSendL(class CMessageData const *,class TSendingCapabilities,class CArrayFix<class TUid> *,class TUid,int,class TDesC16 const &)
- ?ShowSendQueryL@CSendUi@@QAE?AVTUid@@PBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@ABVTDesC16@@@Z @ 74 NONAME ; public: class TUid __thiscall CSendUi::ShowSendQueryL(class CMessageData const *,class TSendingCapabilities,class CArrayFix<class TUid> *,class TDesC16 const &)
- ?StartL@CSendUiIdleMtmLoader@@QAEXAAVCMsvSession@@@Z @ 75 NONAME ; public: void __thiscall CSendUiIdleMtmLoader::StartL(class CMsvSession &)
- ?ValidateServiceL@CSendUi@@QBEHVTUid@@VTSendingCapabilities@@@Z @ 76 NONAME ; public: int __thiscall CSendUi::ValidateServiceL(class TUid,class TSendingCapabilities)const
-
--- a/messagingfw/senduiservices/bwinscw/SENDUIU.DEF Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-EXPORTS
- ?NewL@CMessageAddress@@SAPAV1@XZ @ 1 NONAME ; class CMessageAddress * CMessageAddress::NewL(void)
- ??0CMessageData@@IAE@XZ @ 2 NONAME ; CMessageData::CMessageData(void)
- ??0TSendingCapabilities@@QAE@HHH@Z @ 3 NONAME ; TSendingCapabilities::TSendingCapabilities(int, int, int)
- ??0TSendingCapabilities@@QAE@XZ @ 4 NONAME ; TSendingCapabilities::TSendingCapabilities(void)
- ??1CMessageAddress@@UAE@XZ @ 5 NONAME ; CMessageAddress::~CMessageAddress(void)
- ??1CMessageData@@UAE@XZ @ 6 NONAME ; CMessageData::~CMessageData(void)
- ??1CSendUi@@UAE@XZ @ 7 NONAME ; CSendUi::~CSendUi(void)
- ??1CSendingService@@UAE@XZ @ 8 NONAME ; CSendingService::~CSendingService(void)
- ??1CSendingServiceInfo@@UAE@XZ @ 9 NONAME ; CSendingServiceInfo::~CSendingServiceInfo(void)
- ??8TSendingCapabilities@@QBEHABV0@@Z @ 10 NONAME ; int TSendingCapabilities::operator==(class TSendingCapabilities const &) const
- ??9TSendingCapabilities@@QBEHABV0@@Z @ 11 NONAME ; int TSendingCapabilities::operator!=(class TSendingCapabilities const &) const
- ?AddSendMenuItemL@CSendUi@@QAEXAAVCEikMenuPane@@HHVTSendingCapabilities@@@Z @ 12 NONAME ; void CSendUi::AddSendMenuItemL(class CEikMenuPane &, int, int, class TSendingCapabilities)
- ?Address@CMessageAddress@@QBE?BVTPtrC16@@XZ @ 13 NONAME ; class TPtrC16 const CMessageAddress::Address(void) const
- ?Alias@CMessageAddress@@QBE?BVTPtrC16@@XZ @ 14 NONAME ; class TPtrC16 const CMessageAddress::Alias(void) const
- ?AppendAttachmentHandleL@CMessageData@@QAEXABVRFile@@@Z @ 15 NONAME ; void CMessageData::AppendAttachmentHandleL(class RFile const &)
- ?AppendAttachmentL@CMessageData@@QAEXABVTDesC16@@@Z @ 16 NONAME ; void CMessageData::AppendAttachmentL(class TDesC16 const &)
- ?AppendBccAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 17 NONAME ; void CMessageData::AppendBccAddressL(class TDesC16 const &, class TDesC16 const &)
- ?AppendCcAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 18 NONAME ; void CMessageData::AppendCcAddressL(class TDesC16 const &, class TDesC16 const &)
- ?AppendToAddressL@CMessageData@@QAEXABVTDesC16@@0@Z @ 19 NONAME ; void CMessageData::AppendToAddressL(class TDesC16 const &, class TDesC16 const &)
- ?AttachmentArray@CMessageData@@QBEABVCDesC16Array@@XZ @ 20 NONAME ; class CDesC16Array const & CMessageData::AttachmentArray(void) const
- ?AttachmentHandleArray@CMessageData@@QBEABV?$RArray@VRFile@@@@XZ @ 21 NONAME ; class RArray<class RFile> const & CMessageData::AttachmentHandleArray(void) const
- ?AvailableServicesL@CSendUi@@QAEXAAV?$RPointerArray@VCSendingServiceInfo@@@@VTUid@@@Z @ 22 NONAME ; void CSendUi::AvailableServicesL(class RPointerArray<class CSendingServiceInfo> &, class TUid)
- ?BccAddressArray@CMessageData@@QBEABV?$CArrayPtrFlat@VCMessageAddress@@@@XZ @ 23 NONAME ; class CArrayPtrFlat<class CMessageAddress> const & CMessageData::BccAddressArray(void) const
- ?BodyText@CMessageData@@QBEPBVCRichText@@XZ @ 24 NONAME ; class CRichText const * CMessageData::BodyText(void) const
- ?CanSendBioMessage@CSendUi@@QBEHVTUid@@@Z @ 25 NONAME ; int CSendUi::CanSendBioMessage(class TUid) const
- ?CcAddressArray@CMessageData@@QBEABV?$CArrayPtrFlat@VCMessageAddress@@@@XZ @ 26 NONAME ; class CArrayPtrFlat<class CMessageAddress> const & CMessageData::CcAddressArray(void) const
- ?ClearAttachmentArray@CMessageData@@QAEXXZ @ 27 NONAME ; void CMessageData::ClearAttachmentArray(void)
- ?ConstructL@CMessageData@@IAEXXZ @ 28 NONAME ; void CMessageData::ConstructL(void)
- ?CopyLC@CSendingServiceInfo@@QBEPAV1@XZ @ 29 NONAME ; class CSendingServiceInfo * CSendingServiceInfo::CopyLC(void) const
- ?CreateAndSendMessageL@CSendUi@@QAEXVTUid@@PBVCMessageData@@0H@Z @ 30 NONAME ; void CSendUi::CreateAndSendMessageL(class TUid, class CMessageData const *, class TUid, int)
- ?DataType@CMessageData@@QBE?AVTUid@@XZ @ 31 NONAME ; class TUid CMessageData::DataType(void) const
- ?NewL@CMessageData@@SAPAV1@XZ @ 32 NONAME ; class CMessageData * CMessageData::NewL(void)
- ?NewL@CSendUi@@SAPAV1@XZ @ 33 NONAME ; class CSendUi * CSendUi::NewL(void)
- ?NewL@CSendingService@@SAPAV1@ABVTUid@@AAVCCoeEnv@@AAVCSendUiSingleton@@@Z @ 34 NONAME ; class CSendingService * CSendingService::NewL(class TUid const &, class CCoeEnv &, class CSendUiSingleton &)
- ?NewL@CSendingServiceInfo@@SAPAV1@XZ @ 35 NONAME ; class CSendingServiceInfo * CSendingServiceInfo::NewL(void)
- ?NewLC@CMessageData@@SAPAV1@XZ @ 36 NONAME ; class CMessageData * CMessageData::NewLC(void)
- ?NewLC@CSendUi@@SAPAV1@XZ @ 37 NONAME ; class CSendUi * CSendUi::NewLC(void)
- ?NewLC@CSendingServiceInfo@@SAPAV1@XZ @ 38 NONAME ; class CSendingServiceInfo * CSendingServiceInfo::NewLC(void)
- ?ServiceAddress@CSendingServiceInfo@@QBE?BVTPtrC16@@XZ @ 39 NONAME ; class TPtrC16 const CSendingServiceInfo::ServiceAddress(void) const
- ?ServiceCapabilities@CSendingServiceInfo@@QBE?AVTSendingCapabilities@@XZ @ 40 NONAME ; class TSendingCapabilities CSendingServiceInfo::ServiceCapabilities(void) const
- ?ServiceCapabilitiesL@CSendUi@@QAEHVTUid@@AAVTSendingCapabilities@@@Z @ 41 NONAME ; int CSendUi::ServiceCapabilitiesL(class TUid, class TSendingCapabilities &)
- ?ServiceId@CSendingServiceInfo@@QBE?AVTUid@@XZ @ 42 NONAME ; class TUid CSendingServiceInfo::ServiceId(void) const
- ?ServiceMenuName@CSendingServiceInfo@@QBE?BVTPtrC16@@XZ @ 43 NONAME ; class TPtrC16 const CSendingServiceInfo::ServiceMenuName(void) const
- ?ServiceName@CSendingServiceInfo@@QBE?BVTPtrC16@@XZ @ 44 NONAME ; class TPtrC16 const CSendingServiceInfo::ServiceName(void) const
- ?ServiceProviderId@CSendingServiceInfo@@QBE?AVTUid@@XZ @ 45 NONAME ; class TUid CSendingServiceInfo::ServiceProviderId(void) const
- ?SetAddressL@CMessageAddress@@QAEXABVTDesC16@@@Z @ 46 NONAME ; void CMessageAddress::SetAddressL(class TDesC16 const &)
- ?SetAliasL@CMessageAddress@@QAEXABVTDesC16@@@Z @ 47 NONAME ; void CMessageAddress::SetAliasL(class TDesC16 const &)
- ?SetBodyTextL@CMessageData@@QAEXPBVCRichText@@@Z @ 48 NONAME ; void CMessageData::SetBodyTextL(class CRichText const *)
- ?SetServiceAddressL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 49 NONAME ; void CSendingServiceInfo::SetServiceAddressL(class TDesC16 const &)
- ?SetServiceCapabilities@CSendingServiceInfo@@QAEXVTSendingCapabilities@@@Z @ 50 NONAME ; void CSendingServiceInfo::SetServiceCapabilities(class TSendingCapabilities)
- ?SetServiceId@CSendingServiceInfo@@QAEXVTUid@@@Z @ 51 NONAME ; void CSendingServiceInfo::SetServiceId(class TUid)
- ?SetServiceMenuNameL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 52 NONAME ; void CSendingServiceInfo::SetServiceMenuNameL(class TDesC16 const &)
- ?SetServiceNameL@CSendingServiceInfo@@QAEXABVTDesC16@@@Z @ 53 NONAME ; void CSendingServiceInfo::SetServiceNameL(class TDesC16 const &)
- ?SetServiceProviderId@CSendingServiceInfo@@QAEXVTUid@@@Z @ 54 NONAME ; void CSendingServiceInfo::SetServiceProviderId(class TUid)
- ?SetSubjectL@CMessageData@@QAEXPBVTDesC16@@@Z @ 55 NONAME ; void CMessageData::SetSubjectL(class TDesC16 const *)
- ?ShowQueryAndSendL@CSendUi@@QAEXPBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@VTUid@@HABVTDesC16@@@Z @ 56 NONAME ; void CSendUi::ShowQueryAndSendL(class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TUid, int, class TDesC16 const &)
- ?ShowSendQueryL@CSendUi@@QAE?AVTUid@@PBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@ABVTDesC16@@@Z @ 57 NONAME ; class TUid CSendUi::ShowSendQueryL(class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TDesC16 const &)
- ?Subject@CMessageData@@QBE?BVTPtrC16@@XZ @ 58 NONAME ; class TPtrC16 const CMessageData::Subject(void) const
- ?ToAddressArray@CMessageData@@QBEABV?$CArrayPtrFlat@VCMessageAddress@@@@XZ @ 59 NONAME ; class CArrayPtrFlat<class CMessageAddress> const & CMessageData::ToAddressArray(void) const
- ?ValidateServiceL@CSendUi@@QAEHVTUid@@VTSendingCapabilities@@@Z @ 60 NONAME ; int CSendUi::ValidateServiceL(class TUid, class TSendingCapabilities)
- ?ClearAddresses@CMessageData@@QAEXXZ @ 61 NONAME ; void CMessageData::ClearAddresses(void)
- ?AddTypedMenuItemL@CSendUi@@QAEXW4TSendUiMenuType@1@AAVCEikMenuPane@@HHVTSendingCapabilities@@@Z @ 62 NONAME ; void CSendUi::AddTypedMenuItemL(enum CSendUi::TSendUiMenuType, class CEikMenuPane &, int, int, class TSendingCapabilities)
- ?ShowTypedQueryAndSendL@CSendUi@@QAEXW4TSendUiMenuType@1@PBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@VTUid@@HABVTDesC16@@@Z @ 63 NONAME ; void CSendUi::ShowTypedQueryAndSendL(enum CSendUi::TSendUiMenuType, class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TUid, int, class TDesC16 const &)
- ?ShowTypedQueryL@CSendUi@@QAE?AVTUid@@W4TSendUiMenuType@1@PBVCMessageData@@VTSendingCapabilities@@PAV?$CArrayFix@VTUid@@@@ABVTDesC16@@@Z @ 64 NONAME ; class TUid CSendUi::ShowTypedQueryL(enum CSendUi::TSendUiMenuType, class CMessageData const *, class TSendingCapabilities, class CArrayFix<class TUid> *, class TDesC16 const &)
- ?NewLC@CMessageAddress@@SAPAV1@XZ @ 65 NONAME ; class CMessageAddress * CMessageAddress::NewLC(void)
- ?TechnologyType@CSendUi@@QBE?AVTUid@@V2@@Z @ 66 NONAME ; class TUid CSendUi::TechnologyType(class TUid) const
- ??0CSendingService@@IAE@AAVCCoeEnv@@AAVCSendUiSingleton@@@Z @ 67 NONAME ; CSendingService::CSendingService(class CCoeEnv &, class CSendUiSingleton &)
- ?CreateTemplateDataL@CSendingService@@QAEPAVCMessageData@@XZ @ 68 NONAME ABSENT
- ?ExternalizeL@CMessageAddress@@QAEXAAVRWriteStream@@@Z @ 69 NONAME ; void CMessageAddress::ExternalizeL(class RWriteStream &)
- ?ExternalizeL@CMessageData@@QBEXAAVRWriteStream@@@Z @ 70 NONAME ; void CMessageData::ExternalizeL(class RWriteStream &) const
- ?InternalizeL@CMessageAddress@@QAEXAAVRReadStream@@@Z @ 71 NONAME ; void CMessageAddress::InternalizeL(class RReadStream &)
- ?InternalizeL@CMessageData@@QAEXAAVRReadStream@@@Z @ 72 NONAME ; void CMessageData::InternalizeL(class RReadStream &)
- ?ServiceFeatures@CSendingServiceInfo@@QBEHXZ @ 73 NONAME ; int CSendingServiceInfo::ServiceFeatures(void) const
- ?SetServiceFeatures@CSendingServiceInfo@@QAEXH@Z @ 74 NONAME ; void CSendingServiceInfo::SetServiceFeatures(int)
- ?SetTechnologyTypeId@CSendingServiceInfo@@QAEXVTUid@@@Z @ 75 NONAME ; void CSendingServiceInfo::SetTechnologyTypeId(class TUid)
- ?TechnologyTypeId@CSendingServiceInfo@@QBE?AVTUid@@XZ @ 76 NONAME ; class TUid CSendingServiceInfo::TechnologyTypeId(void) const
- ?ClientMtmRegistryL@CSendUiSingleton@@QAEAAVCClientMtmRegistry@@XZ @ 77 NONAME ; class CClientMtmRegistry & CSendUiSingleton::ClientMtmRegistryL(void)
- ?MsvSessionL@CSendUiSingleton@@QAEAAVCMsvSession@@XZ @ 78 NONAME ; class CMsvSession & CSendUiSingleton::MsvSessionL(void)
- ?MtmUiDataRegistryL@CSendUiSingleton@@QAEAAVCMtmUiDataRegistry@@XZ @ 79 NONAME ; class CMtmUiDataRegistry & CSendUiSingleton::MtmUiDataRegistryL(void)
- ?MtmUiRegistryL@CSendUiSingleton@@QAEAAVCMtmUiRegistry@@XZ @ 80 NONAME ; class CMtmUiRegistry & CSendUiSingleton::MtmUiRegistryL(void)
- ?NewL@CSendUiSingleton@@SAPAV1@XZ @ 81 NONAME ; class CSendUiSingleton * CSendUiSingleton::NewL(void)
- ?OpaqueData@CMessageData@@QBE?BVTPtrC8@@XZ @ 82 NONAME ; class TPtrC8 const CMessageData::OpaqueData(void) const
- ?SetOpaqueDataL@CMessageData@@QAEXPBVTDesC8@@VTUid@@@Z @ 83 NONAME ; void CMessageData::SetOpaqueDataL(class TDesC8 const *, class TUid)
- ?AddSendMenuItemToMenuPaneL@CSendUi@@QAEXAAHAAVCEikMenuPane@@HHVTSendingCapabilities@@@Z @ 84 NONAME ; void CSendUi::AddSendMenuItemToMenuPaneL(int &, class CEikMenuPane &, int, int, class TSendingCapabilities)
-
Binary file messagingfw/senduiservices/cenrep/keys_sendui.xls has changed
Binary file messagingfw/senduiservices/conf/sendui.confml has changed
Binary file messagingfw/senduiservices/conf/sendui_10282823.crml has changed
--- a/messagingfw/senduiservices/datautils/bwinscw/SenduiDataUtilsU.DEF Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
- ?CalculateTotalSizeOfFiles@CSendUiFileRightsEngine@@QAEHPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@H@Z @ 1 NONAME ; int CSendUiFileRightsEngine::CalculateTotalSizeOfFiles(class CArrayPtrFlat<class CSendUiAttachment> *, int)
- ?ClearValidationCounters@CSendUiFileRightsEngine@@QAEXXZ @ 2 NONAME ; void CSendUiFileRightsEngine::ClearValidationCounters(void)
- ?ConfirmDrmFileRightsL@CSendUiFileRightsEngine@@QAEXPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@@Z @ 3 NONAME ; void CSendUiFileRightsEngine::ConfirmDrmFileRightsL(class CArrayPtrFlat<class CSendUiAttachment> *)
- ?ConfirmMmsValidityL@CSendUiFileRightsEngine@@QAEXPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@VTUid@@@Z @ 4 NONAME ; void CSendUiFileRightsEngine::ConfirmMmsValidityL(class CArrayPtrFlat<class CSendUiAttachment> *, class TUid)
- ?CreateTempPathL@CSendUiAttachment@@SAXAAVTDes16@@AAV?$TBuf@$0BAA@@@AAVRFs@@@Z @ 5 NONAME ; void CSendUiAttachment::CreateTempPathL(class TDes16 &, class TBuf<256> &, class RFs &)
- ?InitAttachmentArrayLCC@CSendUiAttachment@@SAPAV?$CArrayPtrFlat@VCSendUiAttachment@@@@ABVCDesC16Array@@ABV?$RArray@VRFile@@@@AAVRFs@@@Z @ 6 NONAME ; class CArrayPtrFlat<class CSendUiAttachment> * CSendUiAttachment::InitAttachmentArrayLCC(class CDesC16Array const &, class RArray<class RFile> const &, class RFs &)
- ?NewL@CSendUiDataUtils@@SAPAV1@AAVRFs@@@Z @ 7 NONAME ; class CSendUiDataUtils * CSendUiDataUtils::NewL(class RFs &)
- ?NewL@CSendUiFileRightsEngine@@SAPAV1@AAVRFs@@@Z @ 8 NONAME ; class CSendUiFileRightsEngine * CSendUiFileRightsEngine::NewL(class RFs &)
- ?NewLC@CSendUiAttachment@@SAPAV1@ABVCRichText@@AAVRFs@@@Z @ 9 NONAME ; class CSendUiAttachment * CSendUiAttachment::NewLC(class CRichText const &, class RFs &)
- ?NewLC@CSendUiAttachment@@SAPAV1@PBVRFile@@@Z @ 10 NONAME ; class CSendUiAttachment * CSendUiAttachment::NewLC(class RFile const *)
- ?NewLC@CSendUiAttachment@@SAPAV1@PBVTDesC16@@AAVRFs@@@Z @ 11 NONAME ; class CSendUiAttachment * CSendUiAttachment::NewLC(class TDesC16 const *, class RFs &)
- ?NewLC@CSendUiFileRightsEngine@@SAPAV1@AAVRFs@@@Z @ 12 NONAME ; class CSendUiFileRightsEngine * CSendUiFileRightsEngine::NewLC(class RFs &)
- ?NewLC@CSendUiOperationWait@@SAPAV1@H@Z @ 13 NONAME ; class CSendUiOperationWait * CSendUiOperationWait::NewLC(int)
- ?ResolveFileMimeTypeL@CSendUiDataUtils@@QAEXABVRFile@@AAVTDataType@@@Z @ 14 NONAME ; void CSendUiDataUtils::ResolveFileMimeTypeL(class RFile const &, class TDataType &)
- ?ResolveFileMimeTypeL@CSendUiDataUtils@@QAEXABVTDesC16@@AAVTDataType@@@Z @ 15 NONAME ; void CSendUiDataUtils::ResolveFileMimeTypeL(class TDesC16 const &, class TDataType &)
- ?ShowDrmAndMmsInfoL@CSendUiFileRightsEngine@@QAEHVTUid@@@Z @ 16 NONAME ; int CSendUiFileRightsEngine::ShowDrmAndMmsInfoL(class TUid)
- ?ShowInformationNoteL@CSendUiFileRightsEngine@@QBEXI@Z @ 17 NONAME ; void CSendUiFileRightsEngine::ShowInformationNoteL(unsigned int) const
- ?Start@CSendUiOperationWait@@QAEHPAVCActive@@@Z @ 18 NONAME ; int CSendUiOperationWait::Start(class CActive *)
- ?Start@CSendUiOperationWait@@QAEHPAVCBaseMtm@@@Z @ 19 NONAME ; int CSendUiOperationWait::Start(class CBaseMtm *)
- ?Start@CSendUiOperationWait@@QAEHXZ @ 20 NONAME ; int CSendUiOperationWait::Start(void)
- ?Type@CSendUiAttachment@@QAEHXZ @ 21 NONAME ; int CSendUiAttachment::Type(void)
-
--- a/messagingfw/senduiservices/datautils/eabi/SenduiDataUtilsU.DEF Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
- _ZN16CSendUiDataUtils20ResolveFileMimeTypeLERK5RFileR9TDataType @ 1 NONAME
- _ZN16CSendUiDataUtils20ResolveFileMimeTypeLERK7TDesC16R9TDataType @ 2 NONAME
- _ZN16CSendUiDataUtils4NewLER3RFs @ 3 NONAME
- _ZN17CSendUiAttachment15CreateTempPathLER6TDes16R4TBufILi256EER3RFs @ 4 NONAME
- _ZN17CSendUiAttachment22InitAttachmentArrayLCCERK12CDesC16ArrayRK6RArrayI5RFileER3RFs @ 5 NONAME
- _ZN17CSendUiAttachment4TypeEv @ 6 NONAME
- _ZN17CSendUiAttachment5NewLCEPK5RFile @ 7 NONAME
- _ZN17CSendUiAttachment5NewLCEPK7TDesC16R3RFs @ 8 NONAME
- _ZN17CSendUiAttachment5NewLCERK9CRichTextR3RFs @ 9 NONAME
- _ZN20CSendUiOperationWait5NewLCEi @ 10 NONAME
- _ZN20CSendUiOperationWait5StartEP7CActive @ 11 NONAME
- _ZN20CSendUiOperationWait5StartEP8CBaseMtm @ 12 NONAME
- _ZN20CSendUiOperationWait5StartEv @ 13 NONAME
- _ZN23CSendUiFileRightsEngine18ShowDrmAndMmsInfoLE4TUid @ 14 NONAME
- _ZN23CSendUiFileRightsEngine19ConfirmMmsValidityLEP13CArrayPtrFlatI17CSendUiAttachmentE4TUid @ 15 NONAME
- _ZN23CSendUiFileRightsEngine21ConfirmDrmFileRightsLEP13CArrayPtrFlatI17CSendUiAttachmentE @ 16 NONAME
- _ZN23CSendUiFileRightsEngine23ClearValidationCountersEv @ 17 NONAME
- _ZN23CSendUiFileRightsEngine25CalculateTotalSizeOfFilesEP13CArrayPtrFlatI17CSendUiAttachmentEi @ 18 NONAME
- _ZN23CSendUiFileRightsEngine4NewLER3RFs @ 19 NONAME
- _ZN23CSendUiFileRightsEngine5NewLCER3RFs @ 20 NONAME
- _ZNK23CSendUiFileRightsEngine20ShowInformationNoteLEj @ 21 NONAME
-
--- a/messagingfw/senduiservices/datautils/group/SenduiDataUtils.mmp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2002-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: Project definition file for SendUI data utils.
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-TARGET senduidatautils.dll
-TARGETTYPE DLL
-UID 0x1000008D 0x102072A3
-VENDORID VID_DEFAULT
-VERSION 10.0
-CAPABILITY CAP_GENERAL_DLL
-PAGED
-
-SOURCEPATH ../src
-SOURCE SendUiFileRightsEngine.cpp
-SOURCE SendUiOperationWait.cpp
-SOURCE SendUiDataUtils.cpp
-SOURCE CSendUiAttachment.cpp
-
-USERINCLUDE ../inc
-SYSTEMINCLUDE /epoc32/include/ecom
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY apgrfx.lib
-LIBRARY avkon.lib
-LIBRARY commonengine.lib
-LIBRARY apmime.lib // TDataType
-LIBRARY ecom.lib
-LIBRARY msgs.lib
-LIBRARY estor.lib
-LIBRARY etext.lib
-LIBRARY msgcommonutils.lib // FileProtectionResolver
-LIBRARY msgmedia.lib // Msg Media Resolver
-LIBRARY sysutil.lib // DiskSpaceBelowCriticalLevelL
-#ifdef RD_MULTIPLE_DRIVE
-LIBRARY platformenv.lib
-#endif
-
-#if defined( ARMCC )
-DEFFILE ../eabi/
-#elif defined( WINSCW )
-DEFFILE ../bwinscw/
-#elif defined( WINS )
-DEFFILE ../bwins/
-#endif
-
-/* End of File */
--- a/messagingfw/senduiservices/datautils/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2002-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: This file provides the information required for
-* building SenduiDataUtils.
-*
-*/
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-./SenduiDataUtils.mmp
-
-// End of file
--- a/messagingfw/senduiservices/datautils/src/CSendUiAttachment.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,300 +0,0 @@
-/*
-* 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: Encapsulates file path and handle attachments into single class.
-*
-*/
-
-
-
-#include <f32file.h>
-#include <e32base.h>
-#include <apmstd.h>
-#include <badesca.h>
-#include <eikenv.h>
-#include <msgtextutils.h>
-#include <txtrich.h>
-#include <MuiuMsvUiServiceUtilities.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <sysutil.h>
-#include <MsgMimeTypes.h>
-
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif
-#include "CSendUiAttachment.h"
-
-// Temporary is file saved to RAM drive
-_LIT( KSenduiTempFilePath, ":\\system\\temp\\sendui\\");
-_LIT( KSenduiTempFilePathFormat, "%x_%x" );
-_LIT16( KExtTextPlain_16, ".txt" );
-const TInt KSendUiMaxTemporaryFileNameLength = 15;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CSendUiAttachment::CSendUiAttachment() :CBase()
- {
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CSendUiAttachment::~CSendUiAttachment()
- {
- if ( Type() == EAttachmentPath )
- {
- RFile* file = MUTABLE_CAST( RFile*, iHandle ); // must close temporary file before deleting it
- file->Close();
- delete file;
- if ( iFlags & EAttachmentTemporary && iFileManager )
- {
- // Remove temp file and directory
- iFileManager->Delete( *iPath );
- iFileManager->RmDir( *iPath ); // In case of rubbish, empty the folder
- }
- if ( iFileManager )
- {
- delete iFileManager;
- }
- delete iPath;
- }
- }
-// -----------------------------------------------------------------------------
-// NewLC, Path
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiAttachment* CSendUiAttachment::NewLC( const TDesC16* aPath, RFs& aRFs )
- {
- CSendUiAttachment* self = new(ELeave)CSendUiAttachment( );
- CleanupStack::PushL( self );
- self->ConstructL( aPath, aRFs );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// ConstructL
-// -----------------------------------------------------------------------------
-//
-void CSendUiAttachment::ConstructL( const TDesC16* aPath, RFs& aRFs )
- {
- RFile* myfile = new(ELeave)RFile;
- CleanupStack::PushL( myfile );
- TInt err = myfile->Open( aRFs, *aPath, EFileShareReadersOnly );
-
- if ( err )
- {
- User::LeaveIfError( myfile->Open( aRFs, *aPath, EFileShareAny ) );
- }
-
- iPath = aPath->AllocL();
- myfile->Size( iSize );
- iHandle = myfile;
- CleanupStack::Pop( myfile );
- }
-// -----------------------------------------------------------------------------
-// NewLC, file handle
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiAttachment* CSendUiAttachment::NewLC( const RFile* aHandle )
- {
- CSendUiAttachment* self = new(ELeave)CSendUiAttachment( );
- CleanupStack::PushL( self );
- self->iHandle = aHandle;
- aHandle->Size( self->iSize );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// NewLC, BodyText
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiAttachment* CSendUiAttachment::NewLC( const CRichText& aBodyText, RFs& aRFs )
- {
- CSendUiAttachment* self = new(ELeave)CSendUiAttachment( );
- CleanupStack::PushL( self );
- self->ConstructL( aBodyText, aRFs );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// ConstructL, BodyText
-// -----------------------------------------------------------------------------
-//
-void CSendUiAttachment::ConstructL( const CRichText& aBodyText, RFs& aRFs )
- {
- // character count * 2 = message size
- TInt err = KErrNone;
- TInt drive;
-#ifdef RD_MULTIPLE_DRIVE
- User::LeaveIfError( DriveInfo::GetDefaultDrive(
- DriveInfo::EDefaultRam, drive ) );
-#else
- drive = EDriveD;
-#endif
- if ( SysUtil::DiskSpaceBelowCriticalLevelL( &aRFs, aBodyText.DocumentLength() * 2, drive ) )
- {
- User::Leave( KErrDiskFull );
- }
-
- HBufC* buf = HBufC::NewLC( KMaxFileName );
- TPtr fileNameBuf = buf->Des();
- TChar driveLetter = TChar('A');
- driveLetter += drive;
- fileNameBuf.Append( driveLetter );
- iFileManager = CFileMan::NewL( aRFs );
-
- TFileName fileName;
- TPtrC textSnippet;
- TCharFormat charFormat;
- aBodyText.GetChars( textSnippet, charFormat, 0 );
-
- CMsgTextUtils::GetFileNameFromBuffer(
- fileName,
- textSnippet,
- KSendUiMaxTemporaryFileNameLength,
- &KExtTextPlain_16 );
-
- CreateTempPathL( fileNameBuf, fileName, aRFs );
-
- aBodyText.ExportAsTextL( fileNameBuf, CPlainText::EOrganiseByParagraph, 0 );
-
- iPath = fileNameBuf.AllocL();
- CleanupStack::PopAndDestroy( buf );
- SetFlags( EAttachmentTemporary );
-
- // Open handle
- RFile* myfile = new(ELeave)RFile;
- CleanupStack::PushL( myfile );
- err = myfile->Open( aRFs, *iPath, EFileShareReadersOnly );
-
- if ( err )
- {
- User::LeaveIfError( myfile->Open( aRFs, *iPath, EFileShareAny ) );
- }
-
- myfile->Size( iSize );
- iHandle = myfile;
- CleanupStack::Pop( myfile );
- SetMimeType( TDataType( KMsgMimeTextPlain ));
- }
-
-// -----------------------------------------------------------------------------
-// Fills the attachment array
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CArrayPtrFlat<CSendUiAttachment>* CSendUiAttachment::InitAttachmentArrayLCC(
- const CDesC16Array& aPaths,
- const RArray<RFile>& aHandles,
- RFs& aFSs )
- {
- TInt i = 0;
- if ( &aPaths )
- {
- i += aPaths.Count();
- }
- if ( &aHandles )
- {
- i += aHandles.Count();
- }
-
- CArrayPtrFlat<CSendUiAttachment>* attachments = new(ELeave)CArrayPtrFlat<CSendUiAttachment>( i ? i : 1);
- CleanupStack::PushL( attachments );
- CleanupResetAndDestroyPushL( *attachments );
- CSendUiAttachment* attachment;
-
- if ( &aPaths )
- {
- for ( i = 0; i < aPaths.Count(); i++ )
- {
- TPtrC16 tmp(aPaths.MdcaPoint( i ) );
- attachment = CSendUiAttachment::NewLC( &tmp, aFSs );
- attachments->AppendL( attachment );
- CleanupStack::Pop( attachment );
- }
- }
- if ( &aHandles != NULL )
- {
- for ( i = 0; i < aHandles.Count(); i++ )
- {
- attachment = CSendUiAttachment::NewLC( &(aHandles[i] ));
- attachments->AppendL( attachment );
- CleanupStack::Pop( attachment );
- }
- }
-
- return attachments;
- }
-
-// -----------------------------------------------------------------------------
-// CreateTempPathL
-//
-// Creates temp path and unique file name under d:\system\temp\sendui
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiAttachment::CreateTempPathL(
- TDes16& aCompletePath,
- TFileName& aTempFileName,
- RFs& aRFs )
- {
- aCompletePath.Append( KSenduiTempFilePath );
-
- if ( aTempFileName.Length() == 0 )
- {
- aCompletePath.Append( KSenduiTempFilePathFormat );
-
- TTime time;
- time.UniversalTime();
-
- TFileName* tempDir = new(ELeave) TFileName();
- CleanupStack::PushL( tempDir );
- tempDir->Format(
- aCompletePath ,
- I64HIGH( time.Int64() ),
- I64LOW( time.Int64() ) );
- aCompletePath = *tempDir;
- CleanupStack::PopAndDestroy( tempDir );
- }
- else
- {
- aCompletePath.Append( aTempFileName );
- }
-
- TInt err = aRFs.MkDirAll( aCompletePath );
- // path may exists
- if ( err && err != KErrAlreadyExists )
- {
- User::LeaveIfError( err );
- }
- }
-
-// -----------------------------------------------------------------------------
-// Type
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CSendUiAttachment::Type()
- {
- if ( iPath )
- {
- return EAttachmentPath;
- }
- else
- {
- return EAttachmentHandle;
- }
- }
-
-// end of file
--- a/messagingfw/senduiservices/datautils/src/SendUiDataUtils.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2002-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: Utility class for SendUI.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include "SendUiDataUtils.h"
-#include <eikenv.h>
-#include <apgcli.h>
-
-_LIT8( KMmsSymbianInternalPattern, "x-epoc/x-app0");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUiDataUtils:CSendUiDataUtils
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiDataUtils::CSendUiDataUtils( RFs& aFs ) : iFs( aFs )
- {
- }
-// -----------------------------------------------------------------------------
-// CSendUiDataUtils::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiDataUtils* CSendUiDataUtils::NewL( RFs& aFs )
- {
- CSendUiDataUtils* self = new(ELeave)CSendUiDataUtils( aFs );
- return self;
- }
-
-// Destructor
-CSendUiDataUtils::~CSendUiDataUtils()
- {
- if ( iApaLsSession )
- {
- iApaLsSession->Close();
- delete iApaLsSession;
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendUiDataUtils::ResolveFileMimeTypeL
-//
-// (other items were commented in a header).
-//
-// Used by CSendUiImpl
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiDataUtils::ResolveFileMimeTypeL(
- const TDesC& aFilePath,
- TDataType& aMimeType )
- {
- RFile file;
-
- TInt err = file.Open( iFs, aFilePath, EFileShareReadersOnly );
-
- if ( err )
- {
- User::LeaveIfError( file.Open( iFs, aFilePath, EFileShareAny ) );
- }
-
- CleanupClosePushL( file );
-
- ResolveFileMimeTypeL( file, aMimeType );
-
- CleanupStack::PopAndDestroy( &file );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiDataUtils::ResolveFileMimeTypeL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiDataUtils::ResolveFileMimeTypeL(
- const RFile& aFile,
- TDataType& aMimeType )
- {
- if ( !iApaLsSession )
- {
- iApaLsSession = new(ELeave)RApaLsSession();
- User::LeaveIfError( iApaLsSession->Connect() );
- }
-
- TDataRecognitionResult dataType;
-
- TInt err = iApaLsSession->RecognizeData( aFile, dataType );
- if ( err
- || dataType.iDataType.Des8().Length() == 0
- || !dataType.iDataType.Des8().CompareF( KMmsSymbianInternalPattern ) )
- {
- // Not recognized
- aMimeType = KMsgMimeUnknown();
- }
- else
- {
- aMimeType = dataType.iDataType;
- }
- // The attachment file pointer needs to be reset to the start of the file.
- TInt pos(0);
- aFile.Seek( ESeekStart, pos );
- }
-
-// End of File
--- a/messagingfw/senduiservices/datautils/src/SendUiFileRightsEngine.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,763 +0,0 @@
-/*
-* Copyright (c) 2002-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: Provides functionality for DRM file protection analyzing
-* and content MMS compatibility resolving.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "SendUiFileRightsEngine.h"
-#include <SendUiConsts.h>
-#include "SendUiDataUtils.h"
-
-#include <MsgMedia.hrh>
-#include <MsgMediaResolver.h> // Msg Media Resolver
-#include <MmsConformance.h> // MMS Conformance
-
-#include <Sendnorm.rsg>
-#include <AknQueryDialog.h> // Query dialog
-#include <aknnotewrappers.h> // Note dialog
-#include <stringresourcereader.h> // String Resource Reader
-#include <StringLoader.h> // Stringloader
-#include <data_caging_path_literals.hrh>
-#include <mmsconst.h>
-#include <fileprotectionresolver.h>
-#include <VideoConversionApi.h>
-#include <MsgMimeTypes.h>
-#include "CSendUiAttachment.h"
-// CONSTANTS
-const TInt KFREKiloByte = 1024;
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::CSendUiFileRightsEngine
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiFileRightsEngine::CSendUiFileRightsEngine( RFs& aFS )
- : iFileSession( aFS )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ConstructL()
- {
- iProtectionResolver = CFileProtectionResolver::NewL( iFileSession );
- iMediaResolver = CMsgMediaResolver::NewL();
- iMmsConformance = CMmsConformance::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiFileRightsEngine* CSendUiFileRightsEngine::NewL( RFs& aFs)
- {
- CSendUiFileRightsEngine* self = NewLC( aFs );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiFileRightsEngine* CSendUiFileRightsEngine::NewLC( RFs& aFs )
- {
- CSendUiFileRightsEngine* self =
- new( ELeave ) CSendUiFileRightsEngine( aFs );
-
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-// Destructor
-CSendUiFileRightsEngine::~CSendUiFileRightsEngine()
- {
- delete iProtectionResolver;
- delete iMediaResolver;
- delete iMmsConformance;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ConfirmDrmFileRightsL
-
-// Closed content list checking is also done here.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ConfirmDrmFileRightsL(
- CArrayPtrFlat<CSendUiAttachment>* aAttachments )
- {
- if ( !aAttachments )
- {
- return;
- }
- TInt fileCount = aAttachments->Count();
- if ( fileCount )
- {
- TInt index = 0;
- TInt protection = 0;
- TDataType mimeType;
-
- CSendUiDataUtils* dataUtils = CSendUiDataUtils::NewL( iFileSession );
- CleanupStack::PushL( dataUtils );
-
- while ( index < fileCount)
- {
- iValidationResults[ESenduiIndexTotalCount]++;
- CSendUiAttachment& attachment = *(aAttachments->At(index));
- RFile file = *(attachment.Handle());
- dataUtils->ResolveFileMimeTypeL( file, mimeType );
- protection = iProtectionResolver->ProtectionStatusL( file, mimeType );
- attachment.SetMimeType( mimeType );
-
- if ( protection & EFileProtSuperDistributable )
- {
- iValidationResults[ESenduiIndexDrmSD]++;
- }
- else if ( ( protection & EFileProtForwardLocked ) ||
- ( protection & EFileProtClosedContent ) )
- {
- iInvalidationReason[ESenduiIndexDrmFLOrCCL]++;
- iValidationResults[ESenduiIndexDeleted]++;
- delete aAttachments->At(index);
- aAttachments->Delete( index );
-
- fileCount--;
- index--;
- }
- index++;
- }
-
- CleanupStack::PopAndDestroy( dataUtils );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ConfirmMmsValidityL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ConfirmMmsValidityL(
- CArrayPtrFlat<CSendUiAttachment>* aAttachments,
- TUid aServiceId )
- {
- if ( !aAttachments )
- {
- return;
- }
- TBool removeFilePath = EFalse;
- TInt index = 0;
- TInt fileCount = aAttachments->Count();
- TInt attachmentsSize = 0;
- // MMS image size is set to original for MMS upload service,
- // otherwise oversize images are not filtered away from array
- if( aServiceId == KMmsDirectUpload || aServiceId == KMmsIndirectUpload )
- {
- // Image size setting not used since only MIME type conformance is checked.
- iMmsConformance->SetCreationMode( ETrue );
- }
- if ( fileCount )
- {
- while ( index < fileCount)
- {
-
- // Validate file for MMS
- CSendUiAttachment& attachment = *(aAttachments->At(index));
- removeFilePath = AnalyzeMmsValidationResultL( *(aAttachments->At(index) ), attachmentsSize );
-
- if ( removeFilePath )
- {
- delete aAttachments->At(index);
- aAttachments->Delete( index );
- iValidationResults[ESenduiIndexDeleted]++;
- fileCount--;
- index--;
- }
-
- index++;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowDrmAndMmsInfoL
-// Shows DRM confirmation query and/or error note, if needed.
-// Returns EFalse if user cancels sending.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CSendUiFileRightsEngine::ShowDrmAndMmsInfoL( TUid aServiceId )
- {
- TBool showDrmQuery = EFalse;
- TBool showErrorNotification = EFalse;
- TUint drmQueryTextId = 0;
- TUint noteTextId = 0;
- TUint valueForNote = 0;
- TFREErrorNoteType noteType = EInformationNote;
-
- // Information query and/or error note is shown if needed
- if ( iValidationResults[ESenduiIndexDeleted] )
- {
- ResolveErrorNoteL( aServiceId, noteTextId, noteType, valueForNote );
- showErrorNotification = ETrue;
- }
-
- // Possible DRM query is shown only if all files are not deleted.
- if ( iValidationResults[ESenduiIndexDeleted] <
- iValidationResults[ESenduiIndexTotalCount] )
- {
- if ( iValidationResults[ESenduiIndexDrmSD] )
- {
- ResolveDrmQuery( aServiceId, drmQueryTextId );
- showDrmQuery = ETrue;
- }
- }
-
- // Show error note if needed
- if ( showErrorNotification )
- {
- ShowErrorNotificationL( noteTextId, noteType, valueForNote );
- }
-
- // Show query if needed
- if ( showDrmQuery )
- {
- return ShowConfirmationQueryL(
- drmQueryTextId, R_SENDUI_DRM_FORWARDLOCKED_CONTENT_QUERY );
- }
-
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::CalculateTotalSizeOfFiles
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CSendUiFileRightsEngine::CalculateTotalSizeOfFiles(
- CArrayPtrFlat<CSendUiAttachment>* aAttachments,
- TBool aLinksSupported )
-{
- if ( !aAttachments )
- {
- return 0;
- }
- TUint totalSize = 0;
-
- TInt index = 0;
- for ( index = 0; index < aAttachments->Count(); index++ )
- {
- CSendUiAttachment& attachment = *(aAttachments->At(index));
-
- if ( attachment.Type() == CSendUiAttachment::EAttachmentHandle )
- {
- totalSize += attachment.Size();
- }
- else
- {
- if ( !aLinksSupported )
- {
- totalSize += attachment.Size();
- }
- }
-
- }
- return totalSize;
-}
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ClearValidationCounters
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ClearValidationCounters()
- {
- TInt index = 0;
- // Go through the lists
- for( index = 0; index < ESenduiIndexLastResult; index++ )
- {
- iValidationResults[index] = 0;
- }
-
- for( index = 0; index < ESenduiIndexLastInvalid; index++ )
- {
- iInvalidationReason[index] = 0;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::AnalyzeMmsValidationResult
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiFileRightsEngine::AnalyzeMmsValidationResultL( CSendUiAttachment& aAttachment, TInt& aAttachmentsSize )
- {
- TBool attachmentInvalid = ETrue;
-
- RImplInfoPtrArray implArray;
- CleanupStack::PushL( TCleanupItem( CleanupImplArray, &implArray ) );
- CVideoConversionPlugin::ListImplementationsL( implArray );
-
- if ( aAttachment.MimeType() == KMsgMimeVideoMp4 && implArray.Count() != 0 )
- {
- attachmentInvalid = EFalse;
- }
- else if ( !iMmsConformance->CreationMode() &&
- !iMmsConformance->IsConformantMime( aAttachment.MimeType() ) )
- {
- // Restricted mode and non-conformant MIME
- iInvalidationReason[ESenduiIndexMmsNotSupported]++;
- }
- else if ( aAttachmentsSize + aAttachment.Size() > iMmsConformance->MaxSendSize() &&
- iMediaResolver->MediaType( aAttachment.MimeType() ) != EMsgMediaImage )
- {
- iInvalidationReason[ESenduiIndexMmsTooBig]++;
- }
- else
- {
- attachmentInvalid = EFalse;
- }
-
- if ( !attachmentInvalid
- && iMediaResolver->MediaType( aAttachment.MimeType() ) != EMsgMediaImage )
- {
- aAttachmentsSize += aAttachment.Size();
- }
-
- CleanupStack::PopAndDestroy( ); //implArray
- return attachmentInvalid;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ResolveErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ResolveErrorNoteL(
- TUid aServiceId,
- TUint& aResourceId,
- TFREErrorNoteType& aNoteType,
- TUint& aValueForNote )
- {
- TInt i = 0;
- TInt errorTypeCount = 0;
- TUint errorType = 0;
- TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
- TUint deletedFiles = iValidationResults[ESenduiIndexDeleted];
-
- // Own notes for MMS direct upload
- if ( aServiceId == KMmsDirectUpload )
- {
- ResolveMmsUploadErrorNoteL(
- aResourceId, aNoteType, aValueForNote );
- return;
- }
-
- // Count amount of different error types, if different errors exists
- // general error note is shown.
- for( i = 0; i < ESenduiIndexLastInvalid; i++ )
- {
- if ( iInvalidationReason[i] > 0 )
- {
- errorType = i;
- errorTypeCount++;
- }
- }
-
- if ( errorTypeCount == 0 )
- { // Should never end up here.
- aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
- return;
- }
- else if ( errorTypeCount == 1 )
- {
- switch ( errorType )
- {
- case ESenduiIndexDrmFLOrCCL:
- {
- TUint protectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
-
- if ( deletedFiles < totalFileCount )
- { // Some files are protected
- aResourceId = R_SENDUI_DRM_SEND_FORBID_SOME;
- }
- else
- { // All files are protected
- if ( protectedFiles == 1 )
- { // One protected file
- aResourceId = R_SENDUI_DRM_SEND_FORBID_ONE;
- }
- else
- { // Many protected files
- aResourceId = R_SENDUI_DRM_ALL_FILES_DELETED;
- }
- }
- }
- break;
- case ESenduiIndexAlreadyInUse:
- {
- if ( deletedFiles == totalFileCount )
- { // All files are in use
- User::Leave( KErrInUse );
- }
- else
- { // Some files are in use
- aResourceId = R_SENDUI_MME_SOME_INSERTED;
- }
- }
- break;
- case ESenduiIndexMmsTooBig:
- {
- if ( deletedFiles == totalFileCount )
- { // All files are too big
- aResourceId = R_SENDUI_MME_ONE_TOO_BIG;
- }
- else
- { // Some files are too big
- aResourceId = R_SENDUI_MME_MANY_TOO_BIG;
- }
-
- aNoteType = EConfirmationQuery;
- aValueForNote = iMmsConformance->MaxSendSize();
- aValueForNote /= KFREKiloByte ;
- }
- break;
- case ESenduiIndexMmsNotSupported:
- {
- // Different notes when creation mode is locked
- if ( iMmsConformance->CreationModeUserChangeable() &&
- !iMmsConformance->CreationMode() )
- {
- if ( deletedFiles == totalFileCount )
- { // All files are not supported
- aResourceId = deletedFiles > 1 ?
- R_SENDUI_MME_RMODE_FILES_NOT_SUPPORTED :
- R_SENDUI_MME_RMODE_FILE_NOT_SUPPORTED;
- }
- else
- { // Some files are not supported
- aResourceId = R_SENDUI_MME_RMODE_SOME_NOT_SUPPORTED;
- }
- }
- else
- {
- if ( deletedFiles == totalFileCount )
- { // All files are not supported
- aResourceId = deletedFiles > 1 ?
- R_SENDUI_MME_FILES_NOT_SUPPORTED :
- R_SENDUI_MME_FILE_NOT_SUPPORTED;
- }
- else
- { // Some files are not supported
- aResourceId = R_SENDUI_MME_SOME_FILES_DELETED;
- }
- }
- }
- break;
- case ESenduiIndexBadHandle:
- default:
- {
- aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
- }
- break;
- }
- }
- else // Different kind of errors exist, show general error note
- {
- if ( totalFileCount == deletedFiles )
- { // Can't send any file
- aResourceId = R_SENDUI_MME_NONE_CANNOT_INS;
- }
- else
- { // Some files can be send
- aResourceId = R_SENDUI_MME_SOME_INSERTED;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ResolveMmsUploadErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ResolveMmsUploadErrorNoteL(
- TUint& aResourceId,
- TFREErrorNoteType& aNoteType,
- TUint& aValueForNote )
- {
- TInt i = 0;
- TInt errorTypeCount = 0;
- TUint errorType = 0;
- TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
- TUint deletedFiles = iValidationResults[ESenduiIndexDeleted];
-
- // Count amount of different error types, if different errors exists
- // general error note is shown.
- for( i = 0; i < ESenduiIndexLastInvalid; i++ )
- {
- if ( iInvalidationReason[i] > 0 )
- {
- errorType = i;
- errorTypeCount++;
- }
- }
-
- if ( errorTypeCount == 0 )
- { // Should never end up here.
- return;
- }
- else if ( errorTypeCount == 1 )
- {
- switch ( errorType )
- {
- case ESenduiIndexDrmFLOrCCL:
- {
- TUint protectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
-
- if ( deletedFiles < totalFileCount )
- { // Some files are protected
- aResourceId = R_SENDUI_DRM_SEND_FORBID_SOME;
- }
- else
- { // All files are protected
- if ( protectedFiles == 1 )
- { // One protected file
- aResourceId = R_SENDUI_DRM_SEND_FORBID_ONE;
- }
- else
- { // Many protected files
- aResourceId = R_SENDUI_DRM_ALL_FILES_DELETED;
- }
- }
- }
- break;
- case ESenduiIndexAlreadyInUse:
- {
- if ( deletedFiles == totalFileCount )
- { // All files are in use
- User::Leave( KErrInUse );
- }
- else
- { // Some files are in use
- aResourceId = R_SENDUI_MMS_UPLOAD_SOME_FILES_DELETED;
- }
- }
- break;
- case ESenduiIndexMmsTooBig:
- {
- aResourceId = deletedFiles > 1 ?
- R_SENDUI_MMS_UPLOAD_MANY_TOO_BIG :
- R_SENDUI_MMS_UPLOAD_ONE_TOO_BIG;
-
- aNoteType = EConfirmationQuery;
- aValueForNote = iMmsConformance->MaxSendSize();
- aValueForNote /= KFREKiloByte ;
- }
- break;
- case ESenduiIndexMmsNotSupported:
- default:
- {
- if ( deletedFiles == totalFileCount )
- { // All files are not supported
- aResourceId = deletedFiles > 1 ?
- R_SENDUI_MMS_UPLOAD_FILES_NOT_SUPPORTED :
- R_SENDUI_MMS_UPLOAD_FILE_NOT_SUPPORTED;
- }
- else
- { // Some files are not supported
- aResourceId = R_SENDUI_MMS_UPLOAD_SOME_FILES_DELETED;
- }
- }
- break;
- }
- }
- else // Different kind of errors exist, show general error note
- {
- if ( totalFileCount == deletedFiles )
- { // Can't send any file
- aResourceId = R_SENDUI_MMS_UPLOAD_NONE_CANNOT_INS;
- }
- else
- { // Some files can be send
- aResourceId = R_SENDUI_MMS_UPLOAD_SOME_INSERTED;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ResolveDrmQuery
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ResolveDrmQuery(
- TUid aServiceId,
- TUint& aResourceId )
- {
- TUint totalFileCount = iValidationResults[ESenduiIndexTotalCount];
- TUint drmProtectedFiles = iInvalidationReason[ ESenduiIndexDrmFLOrCCL ];
- TUint drmSdFiles = iValidationResults[ ESenduiIndexDrmSD ];
- TUint unprotectedFiles = totalFileCount - drmProtectedFiles - drmSdFiles;
-
- if ( unprotectedFiles > 0 )
- { // Some DRM SD protected files and unprotected files
- // Different query for direct MMS upload service
- if ( aServiceId == KMmsDirectUpload )
- {
- aResourceId = R_SENDUI_MMS_UPLOAD_DRM_SOME_SD;
- }
- else
- {
- aResourceId = R_SENDUI_DRM_SEVERAL_DISTRUTABLE;
- }
- }
- else
- { // Only DRM protected files
- // Different query for direct MMS upload service
- if ( aServiceId == KMmsDirectUpload ||
- aServiceId == KMmsIndirectUpload )
- {
- aResourceId = drmSdFiles > 1 ?
- R_SENDUI_MMS_UPLOAD_DRM_MANY_SD :
- R_SENDUI_MMS_UPLOAD_DRM_ONE_SD;
- }
- else
- {
- aResourceId = drmSdFiles > 1 ?
- R_SENDUI_DRM_MANY_SD_ITEMS :
- R_SENDUI_DRM_SINGLE_DISTRUTABLE;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowErrorNotificationL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ShowErrorNotificationL(
- TUint aResourceId,
- TFREErrorNoteType aErrorNoteType,
- TUint aValueForNote ) const
- {
- switch ( aErrorNoteType )
- {
- case EErrorNote:
- {
- ShowErrorNoteL( aResourceId );
- break;
- }
- case EInformationNote:
- {
- ShowInformationNoteL( aResourceId );
- break;
- }
- case EConfirmationQuery:
- {
- ShowConfirmationQueryL(
- aResourceId,
- R_SENDUI_CONFIRMABLE_INFO,
- aValueForNote );
- break;
- }
- default: // Shouldn't end up here
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowErrorNoteL
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::ShowErrorNoteL( TUint aTextResourceId ) const
- {
- // Get text to be shown
- HBufC* text = StringLoader::LoadLC( aTextResourceId );
-
- // Create the note and show it
- CAknErrorNote* note = new (ELeave) CAknErrorNote(ETrue);
- note->ExecuteLD( text->Des() );
-
- CleanupStack::PopAndDestroy( text ); // text
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowConfirmationQueryL
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiFileRightsEngine::ShowConfirmationQueryL(
- TUint aTextResourceId,
- TUint aNoteResourceId,
- TUint aValueForNote ) const
- {
- HBufC* text = NULL;
-
- if ( aValueForNote == 0 )
- {
- text = StringLoader::LoadLC( aTextResourceId );
- }
- else
- {
- text = StringLoader::LoadLC( aTextResourceId, aValueForNote );
- }
-
- CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-
- TInt result = dlg->ExecuteLD( aNoteResourceId, *text );
-
- CleanupStack::PopAndDestroy( text );
-
- // ETrue, if Yes or Selection key were pressed
- // Otherwise EFalse
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::ShowInformationNoteL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUiFileRightsEngine::ShowInformationNoteL(
- TUint aTextResourceId ) const
- {
- // Get text to be shown
- HBufC* text = StringLoader::LoadLC( aTextResourceId );
-
- // Create the note and show it
- CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
- note->ExecuteLD( text->Des() );
-
- CleanupStack::PopAndDestroy( text ); // text
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiFileRightsEngine::CleanupImplArray
-// -----------------------------------------------------------------------------
-//
-void CSendUiFileRightsEngine::CleanupImplArray( TAny* aAny )
- {
- RImplInfoPtrArray* implArray =
- reinterpret_cast<RImplInfoPtrArray*>( aAny );
- implArray->ResetAndDestroy();
- implArray->Close();
- }
-
-
-// End of File
--- a/messagingfw/senduiservices/datautils/src/SendUiOperationWait.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2002-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: Active object that is used for waiting the asyncronous
-* request to complete, such as attachment insertion and
-* launching editor operations.
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include <mtclbase.h>
-#include <akninputblock.h>
-
-#include "SendUiOperationWait.h"
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::CSendUiOperationWait
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiOperationWait::CSendUiOperationWait( TInt aPriority )
- : CActive( aPriority )
- {
- CActiveScheduler::Add( this );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::NewLC
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiOperationWait* CSendUiOperationWait::NewLC( TInt aPriority )
- {
- CSendUiOperationWait* self =
- new ( ELeave ) CSendUiOperationWait( aPriority );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( );
- return self;
- }
-
-// Destructor
-CSendUiOperationWait::~CSendUiOperationWait()
- {
- Cancel();
- if ( iInputBlock )
- {
- delete iInputBlock;
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::Start
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CSendUiOperationWait::Start()
- {
- iSuccess = ETrue;
- SetActive();
- // Start the scheduler loop.
- iWait.Start();
- return iSuccess;
- }
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::Start
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CSendUiOperationWait::Start(CActive* aOperation)
- {
- iBaseMtmOperation = NULL;
- iOperation = aOperation;
- return Start();
- }
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::Start
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CSendUiOperationWait::Start(CBaseMtm* aBaseMtmOperation)
- {
- iOperation = NULL;
- iBaseMtmOperation = aBaseMtmOperation;
- return Start();
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::RunL
-// -----------------------------------------------------------------------------
-//
-void CSendUiOperationWait::RunL()
- {
- if ( iWait.IsStarted() )
- {
- // Stops the scheduler loop, when all nested scheduler loops have stopped.
- iWait.AsyncStop();
- }
- iOperation = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CSendUiOperationWait::DoCancel()
- {
- iSuccess = EFalse;
- if ( iOperation )
- {
- iOperation->Cancel();
- iOperation = NULL;
- }
- else if(iBaseMtmOperation)
- {
- iBaseMtmOperation->CancelAttachmentOperation();
- iBaseMtmOperation = NULL;
- }
-
- if ( iWait.IsStarted() )
- {
- // Stops the scheduler loop, when all nested scheduler loops have stopped.
- iWait.AsyncStop();
- }
- iInputBlock->SetCancelActive( NULL ); // inputblock cancel was this DoCancel function. Deletion causes call to Cancel.
- delete iInputBlock;
- iInputBlock = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiOperationWait::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CSendUiOperationWait::ConstructL()
- {
- this->iInputBlock = CAknInputBlock::NewCancelActiveLC( this ); // notify "this" on cancel
- }
-
-// End of file
--- a/messagingfw/senduiservices/eabi/SENDUIU.DEF Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-EXPORTS
- _ZN12CMessageData10ConstructLEv @ 1 NONAME
- _ZN12CMessageData11SetSubjectLEPK7TDesC16 @ 2 NONAME
- _ZN12CMessageData12SetBodyTextLEPK9CRichText @ 3 NONAME
- _ZN12CMessageData16AppendCcAddressLERK7TDesC16S2_ @ 4 NONAME
- _ZN12CMessageData16AppendToAddressLERK7TDesC16S2_ @ 5 NONAME
- _ZN12CMessageData17AppendAttachmentLERK7TDesC16 @ 6 NONAME
- _ZN12CMessageData17AppendBccAddressLERK7TDesC16S2_ @ 7 NONAME
- _ZN12CMessageData20ClearAttachmentArrayEv @ 8 NONAME
- _ZN12CMessageData23AppendAttachmentHandleLERK5RFile @ 9 NONAME
- _ZN12CMessageData4NewLEv @ 10 NONAME
- _ZN12CMessageData5NewLCEv @ 11 NONAME
- _ZN12CMessageDataC1Ev @ 12 NONAME
- _ZN12CMessageDataC2Ev @ 13 NONAME
- _ZN12CMessageDataD0Ev @ 14 NONAME
- _ZN12CMessageDataD1Ev @ 15 NONAME
- _ZN12CMessageDataD2Ev @ 16 NONAME
- _ZN15CMessageAddress11SetAddressLERK7TDesC16 @ 17 NONAME
- _ZN15CMessageAddress9SetAliasLERK7TDesC16 @ 18 NONAME
- _ZN15CMessageAddress4NewLEv @ 19 NONAME
- _ZN15CMessageAddress5NewLCEv @ 20 NONAME
- _ZN15CMessageAddressD0Ev @ 21 NONAME
- _ZN15CMessageAddressD1Ev @ 22 NONAME
- _ZN15CMessageAddressD2Ev @ 23 NONAME
- _ZN15CSendingService4NewLERK4TUidR7CCoeEnvR16CSendUiSingleton @ 24 NONAME
- _ZN15CSendingServiceD0Ev @ 25 NONAME
- _ZN15CSendingServiceD1Ev @ 26 NONAME
- _ZN15CSendingServiceD2Ev @ 27 NONAME
- _ZN19CSendingServiceInfo12SetServiceIdE4TUid @ 28 NONAME
- _ZN19CSendingServiceInfo15SetServiceNameLERK7TDesC16 @ 29 NONAME
- _ZN19CSendingServiceInfo18SetServiceAddressLERK7TDesC16 @ 30 NONAME
- _ZN19CSendingServiceInfo19SetServiceMenuNameLERK7TDesC16 @ 31 NONAME
- _ZN19CSendingServiceInfo20SetServiceProviderIdE4TUid @ 32 NONAME
- _ZN19CSendingServiceInfo22SetServiceCapabilitiesE20TSendingCapabilities @ 33 NONAME
- _ZN19CSendingServiceInfo4NewLEv @ 34 NONAME
- _ZN19CSendingServiceInfo5NewLCEv @ 35 NONAME
- _ZN19CSendingServiceInfoD0Ev @ 36 NONAME
- _ZN19CSendingServiceInfoD1Ev @ 37 NONAME
- _ZN19CSendingServiceInfoD2Ev @ 38 NONAME
- _ZN20TSendingCapabilitiesC1Eiii @ 39 NONAME
- _ZN20TSendingCapabilitiesC1Ev @ 40 NONAME
- _ZN20TSendingCapabilitiesC2Eiii @ 41 NONAME
- _ZN20TSendingCapabilitiesC2Ev @ 42 NONAME
- _ZN7CSendUi14ShowSendQueryLEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidERK7TDesC16 @ 43 NONAME
- _ZN7CSendUi16AddSendMenuItemLER12CEikMenuPaneii20TSendingCapabilities @ 44 NONAME
- _ZN7CSendUi16ValidateServiceLE4TUid20TSendingCapabilities @ 45 NONAME
- _ZN7CSendUi17ShowQueryAndSendLEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidES5_iRK7TDesC16 @ 46 NONAME
- _ZN7CSendUi18AvailableServicesLER13RPointerArrayI19CSendingServiceInfoE4TUid @ 47 NONAME
- _ZN7CSendUi20ServiceCapabilitiesLE4TUidR20TSendingCapabilities @ 48 NONAME
- _ZN7CSendUi21CreateAndSendMessageLE4TUidPK12CMessageDataS0_i @ 49 NONAME
- _ZN7CSendUi4NewLEv @ 50 NONAME
- _ZN7CSendUi5NewLCEv @ 51 NONAME
- _ZN7CSendUiD0Ev @ 52 NONAME
- _ZN7CSendUiD1Ev @ 53 NONAME
- _ZN7CSendUiD2Ev @ 54 NONAME
- _ZNK12CMessageData14CcAddressArrayEv @ 55 NONAME
- _ZNK12CMessageData14ToAddressArrayEv @ 56 NONAME
- _ZNK12CMessageData15AttachmentArrayEv @ 57 NONAME
- _ZNK12CMessageData15BccAddressArrayEv @ 58 NONAME
- _ZNK12CMessageData21AttachmentHandleArrayEv @ 59 NONAME
- _ZNK12CMessageData7SubjectEv @ 60 NONAME
- _ZNK12CMessageData8BodyTextEv @ 61 NONAME
- _ZNK12CMessageData8DataTypeEv @ 62 NONAME
- _ZNK15CMessageAddress5AliasEv @ 63 NONAME
- _ZNK15CMessageAddress7AddressEv @ 64 NONAME
- _ZNK19CSendingServiceInfo11ServiceNameEv @ 65 NONAME
- _ZNK19CSendingServiceInfo14ServiceAddressEv @ 66 NONAME
- _ZNK19CSendingServiceInfo15ServiceMenuNameEv @ 67 NONAME
- _ZNK19CSendingServiceInfo17ServiceProviderIdEv @ 68 NONAME
- _ZNK19CSendingServiceInfo19ServiceCapabilitiesEv @ 69 NONAME
- _ZNK19CSendingServiceInfo6CopyLCEv @ 70 NONAME
- _ZNK19CSendingServiceInfo9ServiceIdEv @ 71 NONAME
- _ZNK20TSendingCapabilitieseqERKS_ @ 72 NONAME
- _ZNK20TSendingCapabilitiesneERKS_ @ 73 NONAME
- _ZNK7CSendUi17CanSendBioMessageE4TUid @ 74 NONAME
- _ZTI11CSendUiImpl @ 75 NONAME ; #<TI>#
- _ZTI12CMessageData @ 76 NONAME ; #<TI>#
- _ZTI13CSendNormalUi @ 77 NONAME ABSENT
- _ZTI15CMessageAddress @ 78 NONAME ; #<TI>#
- _ZTI15CSendingService @ 79 NONAME ; #<TI>#
- _ZTI19CMessageAddressImpl @ 80 NONAME ; #<TI>#
- _ZTI19CSendUiTimedBlanker @ 81 NONAME ABSENT
- _ZTI19CSendingServiceInfo @ 82 NONAME ; #<TI>#
- _ZTI20CSendUiIdleMtmLoader @ 83 NONAME ABSENT
- _ZTI22CSendingServiceFactory @ 84 NONAME ABSENT
- _ZTI22CSendingServiceManager @ 85 NONAME ABSENT
- _ZTI23CSendingServiceInfoImpl @ 86 NONAME ; #<TI>#
- _ZTI7CSendUi @ 87 NONAME ; #<TI>#
- _ZTV11CSendUiImpl @ 88 NONAME ; #<VT>#
- _ZTV12CMessageData @ 89 NONAME ; #<VT>#
- _ZTV13CSendNormalUi @ 90 NONAME ABSENT
- _ZTV15CMessageAddress @ 91 NONAME ; #<VT>#
- _ZTV15CSendingService @ 92 NONAME ; #<VT>#
- _ZTV19CMessageAddressImpl @ 93 NONAME ; #<VT>#
- _ZTV19CSendUiTimedBlanker @ 94 NONAME ABSENT
- _ZTV19CSendingServiceInfo @ 95 NONAME ; #<VT>#
- _ZTV20CSendUiIdleMtmLoader @ 96 NONAME ABSENT
- _ZTV22CSendingServiceFactory @ 97 NONAME ABSENT
- _ZTV22CSendingServiceManager @ 98 NONAME ABSENT
- _ZTV23CSendingServiceInfoImpl @ 99 NONAME ; #<VT>#
- _ZTV7CSendUi @ 100 NONAME ; #<VT>#
- _ZN12CMessageData14ClearAddressesEv @ 101 NONAME
- _ZN7CSendUi15ShowTypedQueryLENS_15TSendUiMenuTypeEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidERK7TDesC16 @ 102 NONAME
- _ZN7CSendUi17AddTypedMenuItemLENS_15TSendUiMenuTypeER12CEikMenuPaneii20TSendingCapabilities @ 103 NONAME
- _ZN7CSendUi22ShowTypedQueryAndSendLENS_15TSendUiMenuTypeEPK12CMessageData20TSendingCapabilitiesP9CArrayFixI4TUidES6_iRK7TDesC16 @ 104 NONAME
- _ZNK7CSendUi14TechnologyTypeE4TUid @ 105 NONAME
- _ZN12CMessageData12InternalizeLER11RReadStream @ 106 NONAME
- _ZN15CMessageAddress12ExternalizeLER12RWriteStream @ 107 NONAME
- _ZN15CMessageAddress12InternalizeLER11RReadStream @ 108 NONAME
- _ZN15CSendingService19CreateTemplateDataLEv @ 109 NONAME ABSENT
- _ZN19CSendingServiceInfo18SetServiceFeaturesEi @ 110 NONAME
- _ZN19CSendingServiceInfo19SetTechnologyTypeIdE4TUid @ 111 NONAME
- _ZNK12CMessageData12ExternalizeLER12RWriteStream @ 112 NONAME
- _ZNK19CSendingServiceInfo15ServiceFeaturesEv @ 113 NONAME
- _ZNK19CSendingServiceInfo16TechnologyTypeIdEv @ 114 NONAME
- _ZN15CSendingServiceC2ER7CCoeEnvR16CSendUiSingleton @ 115 NONAME
- _ZN16CSendUiSingleton11MsvSessionLEv @ 116 NONAME
- _ZN16CSendUiSingleton14MtmUiRegistryLEv @ 117 NONAME
- _ZN16CSendUiSingleton18ClientMtmRegistryLEv @ 118 NONAME
- _ZN16CSendUiSingleton18MtmUiDataRegistryLEv @ 119 NONAME
- _ZN16CSendUiSingleton4NewLEv @ 120 NONAME
- _ZN12CMessageData14SetOpaqueDataLEPK6TDesC84TUid @ 121 NONAME
- _ZNK12CMessageData10OpaqueDataEv @ 122 NONAME
- _ZN7CSendUi26AddSendMenuItemToMenuPaneLERiR12CEikMenuPaneii20TSendingCapabilities @ 123 NONAME
-
--- a/messagingfw/senduiservices/group/Sendnorm.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* Copyright (c) 2002-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: Resource definitions for project SendUi
-*
-*/
-
-
-
-NAME SEND
-
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <AiwCommon.hrh>
-#include <AiwCommon.rh>
-#include <sendnorm.loc>
-#include <drmcommon.loc>
-#include <messaging.loc>
-#include <AvkonIcons.hrh> // AVKON_ICON_FILE
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF32 r_sendui_menuitem_send { buf = qtn_options_send_via; }
-
-RESOURCE MENU_PANE r_sendui_menu
-{
- items =
- {
- // will be dynamically populated
- };
-}
-
-RESOURCE DIALOG r_sendui_list_query
-{
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- DLG_LINE
- {
- type = EAknCtListQueryControl;
- id = EListQueryControl;
- control = AVKON_LIST_QUERY_CONTROL
- {
- heading = " "; // needed, otherwise heading is not created at all!
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = LISTBOX
- {
- flags = EAknListBoxMenuList;
- height = 3;
- width = 3;
- };
- };
- }
- };
-}
-
-
-RESOURCE DIALOG r_sendui_create_mailbox_confirmation_query
-{
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- label = qtn_mce_conf_no_mailboxes;
- };
- }
- };
-}
-
-RESOURCE DIALOG r_sendui_wait_note
-{
- flags = EAknWaitNoteFlags;
- buttons = R_AVKON_SOFTKEYS_EMPTY;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = 10;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- singular_label = qtn_mail_wait_opening_editor;
- plural_label = "";
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- };
- }
- };
-}
-
-RESOURCE DIALOG r_sendui_drm_forwardlocked_content_query
-{
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- };
- }
- };
-}
-
-// For DRM engine
-RESOURCE TBUF r_sendui_drm_single_distrutable { buf = qtn_drm_send_wo_rights_sd_1; }
-RESOURCE TBUF r_sendui_drm_several_distrutable { buf = qtn_drm_send_wo_rights_misc; }
-RESOURCE TBUF r_sendui_drm_several_locked { buf = qtn_drm_fl_query_send_forbid; }
-RESOURCE TBUF r_sendui_drm_one_file_deleted { buf = qtn_drm_send_forbid_1; }
-RESOURCE TBUF r_sendui_drm_all_files_deleted { buf = qtn_drm_send_forbid; }
-
-// For MMS Media Resolver
-RESOURCE TBUF r_sendui_mme_one_too_big { buf = qtn_mms_info_not_inserted; }
-RESOURCE TBUF r_sendui_mme_many_too_big { buf = qtn_mms_info_all_not_inserted; }
-RESOURCE TBUF r_sendui_mme_some_files_deleted { buf = qtn_mms_info_some_not_supported; }
-RESOURCE TBUF r_sendui_mme_file_not_supported { buf = qtn_mms_info_object_not_supported; }
-RESOURCE TBUF r_sendui_mme_files_not_supported { buf = qtn_mms_info_objects_not_supported; }
-RESOURCE TBUF r_sendui_mme_none_cannot_ins { buf = qtn_mms_info_cannot_ins; }
-RESOURCE TBUF r_sendui_mme_some_inserted { buf = qtn_mms_info_only_some_ins; }
-
-RESOURCE TBUF r_sendui_settings_not_ok { buf = qtn_mce_error_stand_settings; }
-RESOURCE TBUF r_sendui_settings_email_not_ok { buf = qtn_mce_error_stand_settings_email; }
-
-
-RESOURCE AIW_INTEREST r_sendui_baseinterest
-{
- items=
- {
- // This application is interested in printing jpeg images from menu.
- AIW_CRITERIA_ITEM
- {
- id = 200000;
- serviceCmd = KAiwCmdSend;
- serviceClass = KAiwClassBase;
- contentType = "*";
- maxProviders = 3;
- }
- };
-}
-
-// For DRM engine
-RESOURCE TBUF r_sendui_drm_many_sd_items { buf = qtn_drm_send_wo_rights_sd; }
-RESOURCE TBUF r_sendui_drm_some_locked { buf = qtn_drm_query_send_forbid; }
-
-// For MMS upload
-RESOURCE TBUF r_sendui_mms_upload_file_corrupted { buf = qtn_mms_upload_info_corrupted; }
-RESOURCE TBUF r_sendui_mms_upload_files_corrupted { buf = qtn_mms_upload_info_corrupted_all; }
-RESOURCE TBUF r_sendui_mms_upload_some_files_corrupted { buf = qtn_mms_upload_info_corrupted_some; }
-RESOURCE TBUF r_sendui_mms_upload_one_too_big { buf = qtn_mms_info_size_not_sent; }
-RESOURCE TBUF r_sendui_mms_upload_many_too_big { buf = qtn_mms_info_size_all_not_sent; }
-RESOURCE TBUF r_sendui_mms_upload_none_cannot_ins { buf = qtn_mms_info_cannot_send; }
-RESOURCE TBUF r_sendui_mms_upload_some_inserted { buf = qtn_mms_info_only_some_sent; }
-RESOURCE TBUF r_sendui_mms_upload_some_files_deleted { buf = qtn_mms_info_some_not_supp_send; }
-RESOURCE TBUF r_sendui_mms_upload_file_not_supported { buf = qtn_mms_info_obj_not_supp_send; }
-RESOURCE TBUF r_sendui_mms_upload_files_not_supported { buf = qtn_mms_info_objects_not_supp_send; }
-RESOURCE TBUF r_sendui_mms_upload_drm_one_sd { buf = qtn_drm_query_mms_upload_one_sd; }
-RESOURCE TBUF r_sendui_mms_upload_drm_many_sd { buf = qtn_drm_query_mms_upload_all_sd; }
-RESOURCE TBUF r_sendui_mms_upload_drm_some_sd { buf = qtn_drm_query_mms_upload_some; }
-RESOURCE TBUF r_sendui_settings_not_ok_many { buf = qtn_mce_error_stand_settings_many; }
-
-RESOURCE TBUF r_sendui_list_query_title { buf = qtn_query_heading_send; }
-
-// DRM notes
-RESOURCE TBUF r_sendui_drm_send_forbid_one { buf = qtn_drm_info_send_forbid_one; }
-RESOURCE TBUF r_sendui_drm_send_forbid_some { buf = qtn_drm_info_send_forbid_some; }
-
-// -----------------------------------------------------------------------------
-//
-// r_sendui_confirmable_info
-// Confirmation query.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_sendui_confirmable_info
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- animation = R_QGN_NOTE_INFO_ANIM;
- };
- }
- };
- }
-
-RESOURCE TBUF r_sendui_menuitem_write { buf = qtn_options_write; }
-RESOURCE TBUF r_sendui_list_query_title_write { buf = qtn_query_heading_write; }
-RESOURCE TBUF r_sendui_mme_rmode_file_not_supported { buf = qtn_mms_info_rmode_object_not_supported; }
-RESOURCE TBUF r_sendui_mme_rmode_files_not_supported { buf = qtn_mms_info_rmode_objects_not_supported; }
-RESOURCE TBUF r_sendui_mme_rmode_some_not_supported { buf = qtn_mms_info_rmode_some_not_supported; }
-
-
-RESOURCE ARRAY r_senduiserviceorder_array
-{
- items =
- {
- NUMBER_INT32 { value = 0x102072D6; }, // KSenduiMtmUniMessageUidValue,
- NUMBER_INT32 { value = 0x1020745B; }, // KSenduiMtmAudioMessageUidValue,
- NUMBER_INT32 { value = 0x10001028; }, // KSenduiMtmSmtpUidValue,
- NUMBER_INT32 { value = 0x101f7c5c; }, // KSenduiMtmSyncMLEmailUidValue,
- NUMBER_INT32 { value = 0x10207245; }, // KSenduiMtmPostcardUidValue,
- NUMBER_INT32 { value = 0x101F8835; }, // KMmsUploadService1,
- NUMBER_INT32 { value = 0x101F8836; }, // KMmsUploadService2,
- NUMBER_INT32 { value = 0x101F8837; }, // KMmsUploadService3,
- NUMBER_INT32 { value = 0x101F8838; }, // KMmsUploadService4,
- NUMBER_INT32 { value = 0x10009ED5; }, // KSenduiMtmBtUidValue,
- NUMBER_INT32 { value = 0x100053A4; }, // KSenduiMtmIrUidValue,
- NUMBER_INT32 { value = 0x10207388; } // KDrmLinkSenderValue
- };
-}
-
-// End of File
-
--- a/messagingfw/senduiservices/group/Sendui.mmp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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 is project specification file for the sendui.
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// --- LOGGING ---
-//MACRO USE_LOGGER // HW debugging support
-//LIBRARY Flogger.lib // RFileLogger, debug logging
-// --- LOGGING ---
-
-TARGET sendui.dll
-TARGETTYPE DLL
-UID 0x1000008D 0x100058F0
-VENDORID VID_DEFAULT
-VERSION 10.0
-CAPABILITY CAP_GENERAL_DLL
-PAGED
-
-SOURCEPATH ../group
-START RESOURCE Sendnorm.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-SOURCEPATH ../src
-USERINCLUDE ../inc ../datautils/inc
-
-SYSTEMINCLUDE /epoc32/include/ecom
-APP_LAYER_SYSTEMINCLUDE
-
-
-SOURCE SendUi.cpp
-SOURCE SendUiImpl.cpp
-SOURCE TSendingCapabilities.cpp
-SOURCE CSendingService.cpp
-SOURCE CSendingServiceInfo.cpp
-SOURCE SendingServiceInfoImpl.cpp
-SOURCE CMessageData.cpp
-SOURCE CMessageDataImpl.cpp
-SOURCE CMessageAddress.cpp
-SOURCE MessageAddressImpl.cpp
-SOURCE senduiserviceclient.cpp
-SOURCE propertyobserver.cpp
-SOURCE senduisingleton.cpp
-SOURCE SendUiUtils.cpp
-SOURCE SendUiCapabilityCheck.cpp
-
-#if defined(ARMCC)
-DEFFILE ../eabi/
-#elif defined( WINSCW )
-DEFFILE ../bwinscw/
-#elif defined( WINS )
-DEFFILE ../bwins/
-#else
-DEFFILE ../bmarm/
-#endif
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY eikcoctl.lib
-LIBRARY bafl.lib
-LIBRARY cone.lib
-LIBRARY etext.lib
-LIBRARY estor.lib
-LIBRARY avkon.lib
-LIBRARY eikcore.lib // appuifactory
-LIBRARY commonengine.lib // Resource loader
-LIBRARY featmgr.lib // Feature Manager
-LIBRARY ecom.lib
-LIBRARY apmime.lib // TDataType
-LIBRARY apgrfx.lib // RApaLsSession
-LIBRARY centralrepository.lib
-LIBRARY apparc.lib
-LIBRARY drmhelper.lib
-LIBRARY msgs.lib
-LIBRARY mtur.lib // Singleton uses
-LIBRARY caf.lib
-#ifdef RD_MULTIPLE_DRIVE
-LIBRARY platformenv.lib
-#endif
-LIBRARY senduidatautils.lib
-
-/* End of File */
--- a/messagingfw/senduiservices/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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 provides the information required for building the
-* whole of a Messagingfw/senduiservices library.
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../conf/sendui.confml MW_LAYER_CONFML(sendui.confml)
-../conf/sendui_10282823.crml MW_LAYER_CRML(sendui_10282823.crml)
-
-../rom/Senduiservices.iby CORE_MW_LAYER_IBY_EXPORT_PATH(Senduiservices.iby)
-../rom/SenduiservicesResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(SenduiservicesResources.iby)
-
-../loc/Sendnorm.loc MW_LAYER_LOC_EXPORT_PATH(sendnorm.loc)
-//Stub Sis
-../stub_sis/stub_senduiserviceresolver.sis /epoc32/data/z/system/install/stub_senduiserviceresolver.sis
-../stub_sis/stub_senduilauncher.sis /epoc32/data/z/system/install/stub_senduilauncher.sis
-
-PRJ_MMPFILES
-
-// SendUI
-../datautils/group/SenduiDataUtils.mmp
-./Sendui.mmp
-../launcher/group/senduilauncher.mmp
-../serviceresolver/group/senduiserviceresolver.mmp
-../watcher/group/SendUiWatcher.mmp
-
-/* End of File */
--- a/messagingfw/senduiservices/group/tsendui.pkg Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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: tsendui.pkg;
-&EN
-
-; Name, UID for installation, Maj.Ver., Min.Ver., Variant, FLAG TO SPECIFY UNICODE, System component
-; ==================================================================================================
-#{"TSendUi"}, (0x10005489),1,0,0,TYPE=SISAPP
-
-; Localised Vendor Name
-; =====================
-%{"Vendor-EN"}
-
-;Unique Vendor Name
-; =================
-:"Nokia"
-
-; application files
-; =================
-"\epoc32\RELEASE\armv5\UREL\tsendui.exe"-"!:\sys\bin\tsendui.exe"
-"\epoc32\data\Z\Resource\Apps\TSendUi.RSC"-"!:\Resource\Apps\TSendUi.RSC"
-"\epoc32\data\Z\Resource\Apps\TSENDUI_AIF.mbm"-"!:\Resource\Apps\TSENDUI_AIF.mbm"
-"\epoc32\data\Z\private\10003a3f\apps\tsendui_reg.RSC"-"!:\private\10003a3f\import\apps\tsendui_reg.RSC"
-
-; eof
--- a/messagingfw/senduiservices/inc/CMessageAddressImpl.inl Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
-* Encapsulates message real address and alias.
-*
-*/
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMessageAddressImpl::Address
-// Returns real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline const TPtrC CMessageAddressImpl::Address() const
- {
- return iRealAddress ? TPtrC( *iRealAddress ) : TPtrC();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddressImpl::Alias
-// Returns the alias for the real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline const TPtrC CMessageAddressImpl::Alias() const
- {
- return iAlias ? TPtrC( *iAlias ) : TPtrC();
- }
-
-// End of File
--- a/messagingfw/senduiservices/inc/CMessageDataImpl.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,365 +0,0 @@
-/*
-* Copyright (c) 2002-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: Encapsulates the message data for sending services.
-*
-*/
-
-
-#ifndef C_MESSAGEDATAIMPL_H
-#define C_MESSAGEDATAIMPL_H
-
-#include <e32base.h>
-#include <badesca.h>
-#include <f32file.h>
-#include <msvstd.h>
-#include <CMessageAddress.h>
-
-class MDesC16Array;
-class CRichText;
-
-/**
-* Encapsulates the message data for sending services.
-*
-* Encapsulates the message data for sending services. Class supports
-* externalazation and internalization, which are used to relay message
-* to SendUI server application.
-*
-* @lib sendui
-* @since S60 v3.2
-*/
-NONSHARABLE_CLASS( CMessageDataImpl ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- *
- * @return Pointer to object of CMessageDataImpl.
- */
- static CMessageDataImpl* NewL();
-
- /**
- * Two-phased constructor.
- *
- * @return Pointer to object of CMessageDataImpl.
- */
- static CMessageDataImpl* NewLC();
-
- /**
- * Destructor.
- */
- virtual ~CMessageDataImpl();
-
- public: // New functions
-
- /**
- * Set message subject.
- *
- * @since Series 60 3.0
- * @param aSubject Sets message subject. Does not take ownership.
- * @return None.
- */
- void SetSubjectL( const TDesC* aSubject );
-
- /**
- * Returns message subject.
- *
- * @since Series 60 3.0
- * @return Message subject.
- */
- const TPtrC Subject() const;
-
- /**
- * Appends attachment file path to the array of attachment file paths. Only a link
- * to the attachment is stored and compared to AppendAttachmentHandleL less resources
- * is used during the send operation.
- *
- * NOTE: Do not add any temporary files as an attachment. Always use
- * AppendAttachmentHandleL for temporary files.
- *
- * @since Series 60 3.2
- * @param aFilePath File path of the attachment.
- *
- * @return None.
- */
- void AppendAttachmentL( const TDesC& aFilePath );
-
- /**
- * Returns the array of attachment file paths.
- *
- * @since Series 60 3.2
- * @return Array of attachment file paths.
- */
- const CDesCArray& AttachmentArray() const;
-
- /**
- * Clears the array of attachment file paths.
- *
- * @since Series 60 3.2
- * @return Array of attachment file paths.
- */
- void ClearAttachmentArray();
-
- /**
- * Encapsulates address and alias to CMessageAddress and adds to array.
- *
- * @since Series 60 3.2
- * @param aAddress Real address.
- * @param aAlias Alias for the real address.
- * @return None.
- */
- void AppendToAddressL(
- const TDesC& aAddress,
- const TDesC& aAlias = KNullDesC);
-
- /**
- * Returns array of addresses and aliases.
- *
- * @since Series 60 3.2
- * @return Array of addresses and aliases.
- */
- const CMessageAddressArray& ToAddressArray() const;
-
- /**
- * Encapsulates CC address and alias to CMessageAddress and adds to
- * array.
- *
- * @since Series 60 3.2
- * @param aCcAddress Real CC-address.
- * @param aCcAlias Alias for the real CC-address.
- * @return None.
- */
- void AppendCcAddressL(
- const TDesC& aCcAddress,
- const TDesC& aCcAlias = KNullDesC);
-
- /**
- * Returns array of CC addresses and aliases.
- *
- * @since Series 60 3.2
- * @return Array of cc addresses and aliases.
- */
- const CMessageAddressArray& CcAddressArray() const;
-
- /**
- * Encapsulates Bcc address and alias to CMessageAddress and adds to
- * array.
- *
- * @since Series 60 3.2
- * @param aBccAddress Real Bcc-address.
- * @param aBccAlias Alias for the real Bcc-address.
- * @return None.
- */
- void AppendBccAddressL(
- const TDesC& aBccAddress,
- const TDesC& aBccAlias = KNullDesC);
-
- /**
- * Returns array of Bcc addresses and aliases.
- *
- * @since Series 60 3.2
- * @return Array of Bcc addresses and aliases.
- */
- const CMessageAddressArray& BccAddressArray() const;
-
- /**
- * Set message body text.
- *
- * @since Series 60 3.2
- * @param aBodyText Message body text.
- * @return None.
- */
- void SetBodyTextL( const CRichText* aBodyText );
-
- /**
- * Returns message body text.
- *
- * @since Series 60 3.2
- * @return Message body text.
- */
- const CRichText* BodyText() const;
-
- /**
- * Appends attachment handle to the array of attachment handles.
- *
- * NOTE: Attachment handles should be opened using ShareProtected()
- * file session, otherwise handles can not be transfered through
- * client-server interface.
- *
- * NOTE: When adding a temporary file as an attachment, always use this method,
- *
- * @since Series 60 3.2
- * @param aFileHandle File handle of the attachment.
- * @return None.
- */
- void AppendAttachmentHandleL( const RFile& aFileHandle );
-
- /**
- * Returns the array of attachment handles.
- *
- * @since Series 60 3.2
- * @return Array of attachment handles.
- */
- const RArray<RFile>& AttachmentHandleArray() const;
-
- /**
- * Returns data type id.
- *
- * This is used for static casting.
- * @since Series 60 3.2
- * @return Data type id.
- */
- TUid DataType() const;
-
- /**
- * Clears all addressee arrays.
- *
- * @since Series 60 3.2
- * @return None.
- */
- void ClearAddresses();
-
- /**
- * Externalizes message data to a stream
- *
- * @since Series 60 3.2
- * @return None.
- */
-
- void ExternalizeL( RWriteStream& aStream ) const;
-
- /**
- * Internalizes message data to from a stream
- *
- * @since Series 60 3.2
- * @return None.
- */
- void InternalizeL( RReadStream& aStream );
-
- /**
- * Set opaque data
- *
- * @since Series 60 3.2
- * @param aData Opaque data.
- * @return None.
- */
- void SetOpaqueDataL( const TDesC8* aData );
-
- /**
- * Get opaque data
- *
- * @since Series 60 3.2
- * @return aData Opaque data.
- */
- const TPtrC8 OpaqueData() const;
-
- private:
-
- /**
- * C++ default constructor.
- */
- CMessageDataImpl();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- /**
- * Externalizes an address array
- *
- * @since Series 60 3.2
- * @param anArray Addresses to be externalized
- * @param aStream Destination stream
- * @return None.
- */
- void ExternalizeArrayL( CMessageAddressArray* anArray, RWriteStream& aStream ) const;
-
- /**
- * Internalizes an address array
- *
- * @since Series 60 3.2
- * @param anArray Destination of the internalized addresses
- * @param aStream Source stream
- * @return None.
- */
- void InternalizeArrayL( CMessageAddressArray* anArray, RReadStream& aStream );
-
- /**
- * Creates temporary path
- */
- void CreateTempPathL( TDes16& aPath, RFs& aFs ) const;
-
- protected: // Data
-
- /**
- * Data type of this message. Normally this is KSenduiMsgDataBase
- */
- TUid iDataType;
-
- private: // Data
-
- /**
- * Message subject.
- * Owned.
- */
- HBufC* iSubject;
-
- /**
- * Message body text.
- * Owned.
- */
- CRichText* iBodyText;
-
- /**
- * Attachment filepaths.
- * Owned.
- */
- CDesCArray* iAttachments;
-
- /**
- * Array of real addresses and aliases.
- * Owned.
- */
- CMessageAddressArray* iToAddresses;
-
- /**
- * Array of real CC addresses and aliases.
- * Owned.
- */
- CMessageAddressArray* iCcAddresses;
-
- /**
- * Array of real BC addresses and aliases.
- * Owned.
- */
- CMessageAddressArray* iBccAddresses;
-
- /**
- * Attachment handles.
- * Owned.
- */
- RArray<RFile> iAttachmentHandles;
-
- /**
- * Opaque data. Interpretation depends on service handler.
- * Owned.
- */
- HBufC8* iOpaqueData;
- };
-
-#endif // C_MESSAGEDATAIMPL_H
-
-// End of File
-
--- a/messagingfw/senduiservices/inc/CSendingServiceInfo.inl Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2002-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: Encapsulates the ECom plugged sending service data.
-*
-*/
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceName
-// Returns service human readable name.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline const TPtrC CSendingServiceInfoImpl::ServiceName() const
- {
- return iServiceName ? TPtrC( *iServiceName ) : TPtrC();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceMenuName
-// Returns service human readable name for the "Send"-menu.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline const TPtrC CSendingServiceInfoImpl::ServiceMenuName() const
- {
- return iServiceMenuName ? TPtrC( *iServiceMenuName ) : TPtrC();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceAddress
-// Returns service address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline const TPtrC CSendingServiceInfoImpl::ServiceAddress() const
- {
- return iServiceAddress ? TPtrC( *iServiceAddress ) : TPtrC();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceId
-// Sets service id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline void CSendingServiceInfoImpl::SetServiceId( TUid aServiceId )
- {
- iServiceId = aServiceId;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceId
-// Returns service id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline TUid CSendingServiceInfoImpl::ServiceId() const
- {
- return iServiceId;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceProviderId
-// Sets service provider id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline void CSendingServiceInfoImpl::SetServiceProviderId(
- TUid aServiceProviderId )
- {
- iServiceProviderId = aServiceProviderId;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceProviderId
-// Returns service provider id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline TUid CSendingServiceInfoImpl::ServiceProviderId() const
- {
- return iServiceProviderId;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceCapabilities
-// Set service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline void CSendingServiceInfoImpl::SetServiceCapabilities(
- TSendingCapabilities aServiceCapabilities )
- {
- iServiceCapabilities = aServiceCapabilities;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceCapabilities
-// Returns service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline TSendingCapabilities CSendingServiceInfoImpl::ServiceCapabilities() const
- {
- return iServiceCapabilities;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceId
-// Returns service id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline TUid CSendingServiceInfoImpl::TechnologyTypeId() const
- {
- return iTechnologyTypeId;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceProviderId
-// Sets service provider id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline void CSendingServiceInfoImpl::SetTechnologyTypeId(
- TUid aTechnologyTypeId )
- {
- iTechnologyTypeId = aTechnologyTypeId;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceCapabilities
-// Set service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline void CSendingServiceInfoImpl::SetServiceFeatures(
- TInt aServiceFeatures )
- {
- iServiceFeatures = aServiceFeatures;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::ServiceCapabilities
-// Returns service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-inline TInt CSendingServiceInfoImpl::ServiceFeatures() const
- {
- return iServiceFeatures;
- }
-
-// End of File
--- a/messagingfw/senduiservices/inc/MessageAddressImpl.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2002-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 of CMessageAddress interface.
-* Encapsulates message real address and alias.
-*
-*/
-
-
-#ifndef C_MESSAGEADDRESSIMPL_H
-#define C_MESSAGEADDRESSIMPL_H
-
-#include <e32base.h>
-
-class RWriteStream;
-class RReadStream;
-
-const TInt KMaxLength = 128;
-
-/**
- * Encapsulates message recipient real address and alias.
- *
- * @lib SendUi
- * @since Series 60 v3.0
- */
-class CMessageAddressImpl : public CBase
-{
-public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CMessageAddressImpl();
-
- /**
- * Destructor.
- */
- virtual ~CMessageAddressImpl();
-
-public: // New functions
-
- /**
- * Sets real address.
- *
- * @since Series 60 3.0
- * @param aAddress Real address.
- * @return None.
- */
- void SetAddressL( const TDesC& aAddress );
-
- /**
- * Returns real address.
- *
- * @since Series 60 3.0
- * @return Real address.
- */
- inline const TPtrC Address() const;
-
- /**
- * Sets alias for the real address.
- *
- * @since Series 60 3.0
- * @param aAlias Alias for the real address.
- * @return None.
- */
- void SetAliasL( const TDesC& aAlias );
-
- /**
- * Externalizes message address data
- *
- * @since S60 v3.2
- * @param aStream Open write stream
- */
- inline const TPtrC Alias() const;
-
- void ExternalizeL( RWriteStream& aStream ) const;
-
- /**
- * Internalizes message address data
- *
- * @since S60 v3.2
- * @param aStream Stream containing message address
- */
- void InternalizeL( RReadStream& aStream );
-
-
- private: // Data
-
- /**
- * Real address
- * Own.
- */
- HBufC* iRealAddress;
-
- /**
- * Alias for real address
- * Own.
- */
- HBufC* iAlias;
-
-};
-
-#include "CMessageAddressImpl.inl"
-
-#endif // C_MESSAGEADDRESSIMPL_H
-
-// End of File
--- a/messagingfw/senduiservices/inc/SendUiCapabilityCheck.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* Copyright (c) 2002-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: Capability checker for SendUI.
-*
-*/
-
-
-
-
-#ifndef CSENDUICAPABILITYCHECK_H
-#define CSENDUICAPABILITYCHECK_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CBaseMtm;
-class CMsvSession;
-// CLASS DECLARATION
-
-/**
-* Capability checker for SendUI.
-*
-* @lib SenduiDataUtils.lib
-* @since S60 3.2
-*/
-NONSHARABLE_CLASS(CSendUiCapabilityCheck) : public CActive
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSendUiCapabilityCheck* NewLC();
-
- /**
- * Destructor.
- */
- virtual ~CSendUiCapabilityCheck();
-
- TBool CheckCapabilitiesL(
- const TSecurityInfo& aSecurityInfo,
- CMsvSession& aSession,
- const TUid aMtmType,
- const TDesC& aServiceName );
-
- private:
-
- void RunL();
-
- void DoCancel();
-
- void ConstructL();
-
- /**
- * C++ default constructor.
- */
- CSendUiCapabilityCheck();
-
- private:
-
- CActiveSchedulerWait iWait;
-
- RNotifier iNotifier;
- TUid iNotifierUid;
-
- TPckgBuf<TInt> iNotifierResult;
-
- };
-
-#endif // CSENDUICAPABILITYCHECK_H
-
-// End of File
--- a/messagingfw/senduiservices/inc/SendUiDummyMtm.h Thu Aug 19 10:24:00 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: SendUiDummyMtm declaration
-*
-*/
-
-
-
-#ifndef CSENDUIDUMMYMTM_H
-#define CSENDUIDUMMYMTM_H
-
-// INCLUDES
-#include <mtclbase.h>
-#include <eikfutil.h>
-
-// ==========================================================
-// CSendUiDummyMtm
-// ==========================================================
-
-class CSendUiDummyMtm : public CBaseMtm
- {
- public:
- CSendUiDummyMtm(
- CRegisteredMtmDll& aRegisteredMtmDll,
- CMsvSession& aSession );
-
- public:
- inline CCharFormatLayer*& CharFormat()
- {
- return iCharFormatLayer;
- }
-
- inline CParaFormatLayer*& ParaFormat()
- {
- return iParaFormatLayer;
- }
-
- inline void SetCharFormatL(const CCharFormatLayer& aCharFormatLayer)
- {
- delete iCharFormatLayer;
- iCharFormatLayer = NULL;
- iCharFormatLayer = aCharFormatLayer.CloneL();
- }
-
- inline void SetParaFormatL(const CParaFormatLayer& aParaFormatLayer)
- {
- delete iParaFormatLayer;
- iParaFormatLayer = NULL;
- iParaFormatLayer = aParaFormatLayer.CloneL();
- }
- };
-
-#endif // CSENDUIDUMMYMTM_H
-
-// End of file
--- a/messagingfw/senduiservices/inc/SendUiImpl.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,552 +0,0 @@
-/*
-* Copyright (c) 2002-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: SendUI API implementation
-*
-*/
-
-
-
-
-
-#ifndef C_CSENDUIIMPL_H
-#define C_CSENDUIIMPL_H
-
-#include <f32file.h>
-#include <e32base.h>
-#include <e32property.h>
-#include <badesca.h>
-#include <ConeResLoader.h>
-#include <apaserverapp.h>
-#include <msvapi.h>
-
-#include <TSendingCapabilities.h>
-#include <sendui.h>
-#include <SendUiConsts.h>
-
-class CEikMenuPane;
-class CSendNormalUi;
-class CMessageData;
-class CSendingServiceManager;
-class CSendingServiceInfo;
-class RSendUiServiceClient;
-class CPropertyObserver;
-class TDataType;
-class CSendUiSingleton;
-class CSendUiAttachment;
-class CSendUiFileRightsEngine;
-
-/**
- * Implementation of SendUI API
- *
- * Can be used to show "Send" list query and to create and send
- * messages via available services. Sending services can be based
- * on the MTM or ECom architecture. Created messages are sent
- * directly or message editor is opened for editing, depending on
- * the type of selected service.
- * @lib sendui.lib
- * @since S60 v3.0
- */
-class CSendUiImpl : public CBase
- {
- friend class UT_CSendUiImpl;
-public:
-
- static CSendUiImpl* NewL();
-
- virtual ~CSendUiImpl();
-
-public:
-
- /**
- * Adds menu item of given type to menupane.
- * No menu item is added, if services are not found.
- * This can happen if asyncronous sending service update is not
- * yet finished. This API will not provide any result of
- * requested operation. New API AddTypedMenuItemToMenuPaneL
- * with aResult param is added. Caller application can use this
- * new API to know the API operation result.
- *
- * @since Series 60 3.0
- * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
- * @param aMenuPane Menupane where the menu item should be added.
- * @param aIndex The place of the menu item in menupane.
- * @param aCommandId Command id for the menu item.
- * @param aRequiredCapabilities Capabilities required by services to be
- * shown in "Send" list query. If no capabilities are required
- * (KCapabilitiesForAllServices), all available services are
- * shown in "Send" list query.
- * @return None.
- */
- void AddTypedMenuItemL(
- CSendUi::TSendUiMenuType aMenuType,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
-
- /**
- * First displays list query and then creates the message.
- * Editor is launched for editing the message or the message is sent
- * directly without opening the editor. Functionality depends on the
- * type of selected service.
- *
- * List query can be manipulated in three ways. All three methods can be
- * used or just some of those.
- *
- * The first option is to set the required capabilities for services.
- * Eg. attachments supported. Sending services not matching to required
- * capabilities are filtered away. Capabilities are defined in
- * TSendingCapabilities.h.
- *
- * The second option is content based filtering. Filtering is based on
- * the files intended to send. Those files can be set as part of message
- * data. Filtering is done according the predefined rules.
- *
- * The third option is to set the array of service uids not wanted to
- * be shown in list query. Uid can be the technology type, service provider or
- * service id. These sending services are filtered away
- * even if those match to required capabilities.
- *
- * @since Series 60 3.0
- * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
- * @param aMessageData Data for the message.
- * @param aRequiredCapabilities Capabilities required by sending services
- * to be shown in "Send" pop-up list query. If no capabilities are
- * required (KCapabilitiesForAllServices), all available services
- * are shown in "Send" pop-up list query.
- * @param aServicesToDim Array of service uids (service uid, service
- * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
- * list query.
- * See predefined sending service uids in SendUiConsts.h .
- * @param aLaunchEditorEmbedded ETrue if the editor should be launched
- * embedded. Otherwise the editor is launched stand-alone.
- * Note: some services sends the messages without launching the
- * editor at all.
- * @param aTitleText Title of the list query. If no title is defined,
- * then the localised default title is used, e.g. "Send" or
- * "Write".
- * @return None.
- */
- void ShowTypedQueryAndSendL(
- CSendUi::TSendUiMenuType aMenuType,
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
- CArrayFix<TUid>* aServicesToDim = NULL,
- TBool aLaunchEditorEmbedded = ETrue,
- const TDesC& aTitleText = KNullDesC );
-
- /**
- * Displays list query and returns the user selection.
- *
- * List query can be manipulated in three ways. All three methods can be
- * used or just some of those.
- *
- * The first option is to set the required capabilities for services.
- * Eg. attachments supported. Sending services not matching to required
- * capabilities are filtered away. Capabilities are defined in
- * TSendingCapabilities.h.
- *
- * The second option is content based filtering. Filtering is based on
- * the files intended to send. Those files can be set as part of message
- * data. Filtering is done according the predefined rules.
- *
- * The third option is to set the array of service uids not wanted to
- * be shown in list query. These sending services are filtered away
- * even if those match to required capabilities.
- *
- * @since Series 60 3.0
- * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
- * @param aMessageData Data for the message. Attachments are used for
- * content based filtering.
- * @param aRequiredCapabilities Capabilities required by sending services
- * to be shown in list query. If no capabilities are required
- * (KCapabilitiesForAllServices), all available services are
- * shown in list query.
- * @param aServicesToDim Array of service uids (service uid, service
- * provider's uid or service's TechnologyType) _NOT_ wanted to "Send"
- * list query.
- * See predefined sending service uids in SendUiConsts.h .
- * @param aTitleText Title of the list query. If no title is defined,
- * then the localised default title is used, e.g. "Send" or
- * "Write"
- * @return Uid of the selected service (MTM or ECom).
- * KNullId is returned if user selects cancel.
- */
- TUid ShowTypedQueryL(
- CSendUi::TSendUiMenuType aMenuType,
- const CMessageData* aMessageData = NULL,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
- CArrayFix<TUid>* aServicesToDim = NULL,
- const TDesC& aTitleText = KNullDesC );
-
- /**
- * Creates the message and launches the editor for editing the message
- * or sends the message directly without opening the editor.
- * Functionality depends on the type of selected service.
- *
- * @since Series 60 3.2
- * @param aServiceUid Uid of the sending service.
- * @param aMessageData Data for the message.
- * @return None.
- */
- TInt SendMessageL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TBool aLaunchEditorEmbedded );
-
- /**
- * Launches server application, which will eventually call SendMessageL
- * with the same parameters.
- *
- * @since Series 60 3.2
- * @param aServiceUid Uid of the sending service.
- * @param aMessageData Data for the message.
- * @return None.
- */
- void SendMessageViaServerL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TBool aLaunchEditorEmbedded );
- /**
- * Creates the message and launches the editor for editing the message
- * or sends the message directly without opening the editor.
- * Functionality depends on the type of selected service.
- *
- * @since Series 60 3.0
- * @param aServiceUid Uid of the sending service.
- * @param aMessageData Data for the message.
- * @return None.
- */
- void CreateAndSendMessageL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TBool aLaunchEditorEmbedded = ETrue );
-
- /**
- * Returns sending capabilities of the sending service.
- * @since Series 60 3.0
- * @param aServiceUid Uid of the sending service.
- * @param aServiceCapabilities TSendingCapabilities of the sending
- * service as a return value.
- * @return Return KErrNone if successful, or one of the system wide
- * errors if unsuccessful.
- */
- TInt ServiceCapabilities(
- TUid aServiceUid,
- TSendingCapabilities& aServiceCapabilities );
-
- /**
- * Populates given list with the information about services
- * provided by specified ECom service provider.
- * Each service provider can provide 1..n services.
- * Ownership of the pointed objects are transfered to caller.
- *
- * Can be used for ex. when creating own "Send" menu, which needs to
- * include ECom based services.
- *
- * NOTE: Can be used only for ECom based services, also for MTMs
- *
- * @since Series 60 2.8
- * @param aServiceList Service list to be populated.
- * @param aServiceProvider Id of the specified service provider.
- * KNullId means all service providers.
- * Service providers are defined in SendUiConsts.h
- * @return none
- */
- void AvailableServicesL(
- RPointerArray<CSendingServiceInfo>& aServiceList,
- TUid aServiceProvider = KNullUid);
-
- /**
- * Returns the technology type of a service
- *
- * @since Series 60 3.0
- * @param aServiceId Service of interest
- * @return Technology type of the provided service. NULL if Mtm
- * service doesn't exist or service is ECOM based.
- */
- TUid TechnologyType( TUid aServiceUid );
-
- /**
- * Returns the index of the service in service array
- *
- * @since Series 60 3.2
- * @param aServiceId Service of interest
- * @return Index of a found service. Otherwise KErrNotFound.
- */
- TInt ResolveServiceIndex( TUid aUid );
-
- /**
- * Compares service capabilities with the required capabilities
- *
- * @since S60 v3.2
- * @param aServiceIndex Index of the service
- * @param aRequiredCapabilities Required capabilities
- * @return ETrue, if service has required or more capabilities.
- * EFalse, if service does not have the required capabilities
- * or service does not exist.
- */
- TBool QueryCapabilities(
- TInt aServiceIndex,
- TSendingCapabilities aCap );
-
- /**
- * Copies sending service information from Central Repository to local data
- *
- * @since S60 v3.2
- */
- void GetServicesL( );
-
-//Functions introduced for CMail changes
-
- /**
- * Checks if Device has any mailbox or not
- *
- * @since S60 v5.0
- * @param void
- * @return ETrue, if atleast one mailbox is available.
- * EFalse, if no mailbox are there
- */
-
- TBool IsMailboxAvailableL(void);
-
- /**
- * Checks if Device has any ThirdParty Mail Services or not
- *
- * @since S60 v5.0
- * @param void
- * @return ETrue, if atleast one Third Party Service is available.
- * EFalse, if Third Party Service are there
- */
-
- TBool IsThirdPartyMailService(TUid aUid );
-
- /**
- * Checks if Email entry is valid to be appended
- *
- * @since S60 v5.0
- * @param void
- * @return ETrue, if it can be appended.
- * EFalse, if cannot be appended
- */
-
- TBool IsEmailAppendableL(TMsvEntry tentry);
-
- /**
- * Adds menu item of given type to menupane and know the opeation
- * result.
- * No menu item is added, if services are not found.
- * This can happen if asyncronous sending service update is not
- * yet finished. Caller application can use this API to know the
- * API operation result.
- *
- * @since Series 60 9.2
- * @param aResult API opeartion result. ETrue, if item is added successfully
- * EFalse , if failed to add item. *
- * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
- * @param aMenuPane Menupane where the menu item should be added.
- * @param aIndex The place of the menu item in menupane.
- * @param aCommandId Command id for the menu item.
- * @param aRequiredCapabilities Capabilities required by services to be
- * shown in "Send" list query. If no capabilities are required
- * (KCapabilitiesForAllServices), all available services are
- * shown in "Send" list query.
- * @return None.
- */
- void AddTypedMenuItemToMenuPaneL(
- TBool& aResult,
- CSendUi::TSendUiMenuType aMenuType,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
-
-private:
-
-
- /**
- *
- * @since Series 60 3.0
- * @param aListItems
- * @param aTitleText Title of the pop-up list query. If no title
- * is defined, then the localised default title is used.
- * @return: User selection.
- */
- TUid ShowListQueryL(
- MDesCArray* aListItems,
- const CArrayFix<TUid>& aListItemUids,
- const TDesC& aTitleText,
- CSendUi::TSendUiMenuType aMenuType );
-
- /**
- * Filtering services by their content
- *
- * @since Series 60 3.0
- * @param aServiceUid
- * @param aServiceProviderUid
- * @param aMessageData Message data, which is base of the content filtering.
- * @param aMimeType The mimetype of the first attachment.
- * @return: True, if given service can send specified content
- */
- TBool CanSendContentL(
- TUid aServiceUid,
- TUid aServiceProviderUid,
- const CMessageData* aMessageData,
- TDataType* aMimeType );
-
- /**
- *
- * @since Series 60 3.0
- * @param aListItemUids
- * @param aListItemUids
- * @param aRequiredCapabilities
- * @param aContentArray
- * @param aServicesToDim
- * @return: None.
- */
- void FilterServicesL(
- CDesCArrayFlat& aListItems,
- CArrayFix<TUid>& aListItemUids,
- TSendingCapabilities aRequiredCapabilities,
- const CMessageData* aMessageData,
- CSendUi::TSendUiMenuType aMenuType );
-
- /**
- * Sorts service lists
- *
- * @since S60 v3.0
- * @param aListItems Names of items in array
- * @param aListItemUids Uids of items in array
- * @return: Sorted array
- */
- void SortListL(
- CDesCArrayFlat& aListItems,
- CArrayFix<TUid>& aListItemUids );
-
- /**
- * Resets sending state flag.
- * @since Series 60 3.0
- * @return None.
- */
- static void ResetIsSending( TAny* aAny );
-
- /**
- * Compares ECom service sending capabilities to required capabilities.
- * @since Series 60 3.0
- * @param aServiceUid Uid of the sending service.
- * @param aRequiredCapabilities Capabilities required for the sending
- * service.
- * @return: ETrue if service sending capabilities matches to
- * required capabilities, otherwise EFalse.
- */
- TBool CheckServiceCapabilities(
- TUid aServiceUid,
- TSendingCapabilities aRequiredCapabilities );
-
- /**
- * Checks if the feature is supported by feature manager.
- * @since Series 60 3.2.3
- * @param aFeature Feature manager id of the sending service.
- * @param aNewFeatures To keep track of which feature is modified
- * @param aFeatureFlag Uid of the sending service used for central repository storage.
- * @return None
- */
- void FeatureStatus(
- TInt aFeature,
- TInt &aNewFeatures,
- TInt aFeatureFlag );
-private:
-
- CSendUiImpl();
-
- void ConstructL();
-
-private: // data
-
- /**
- * Pointer to Control environment
- * Not own.
- */
- CCoeEnv* iCoeEnv;
-
- /**
- * Pointer to File Server Session. Initialized from CCoeEnv->FsSession.
- * Not own.
- */
- RFs& iFs;
-
- /**
- * Pointer to CSendUiSingleton
- * Own.
- */
- CSendUiSingleton* iSingleton;
-
- /**
- * Indicates whether or not the sending process is in progress.
- */
- TBool iIsSending;
-
- /**
- * For UI resource loading
- * Own.
- */
- RConeResourceLoader iResourceLoader;
-
- /**
- * Services to be dimmed
- * Own.
- */
- CArrayFixFlat<TUid>* iServicesToDim;
-
- /**
- * Resource file name and path.
- * Own.
- */
- TFileName iResourceFileName;
-
-
- TBool iEmailClientIntegration;
-
- /**
- * Variable to know if Cmail
- * Feature is on
- */
- TBool iEmailFramework;
-
- /**
- * Array of available sending service
- * Own.
- */
- RPointerArray<CSendingServiceInfo> iSendingServices;
-
- /**
- * IPC client with SendUiLauncherApp
- * Own.
- */
- RSendUiServiceClient* iSendUiClient;
-
- /**
- * The requested order of sending services in the menu.
- * Read from resources.
- * Own.
- */
- CArrayFixFlat<TInt32>* iSendUiServicesOrderArray;
-
- TBool iServerAppLaunch;
-
- CPropertyObserver* iPropertyObserver;
-
- };
-
-#endif // C_CSENDUIIMPL_H
--- a/messagingfw/senduiservices/inc/SendUiInternalConsts.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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: Uid definitions for SendUI services
-* that falls neither in Dom_api nor sdk_api.
-*
-*/
-
-
-
-#ifndef SENDUIINTERNALCONSTS_H
-#define SENDUIINTERNALCONSTS_H
-
-// CONSTANTS
-#define KShareOnlineValue 0x200009D5
-const TUid KShareOnline = { KShareOnlineValue };
-
-#endif // SENDUIINTERNALCONSTS_H
-
-// End of File
--- a/messagingfw/senduiservices/inc/SendUiPrivateCRKeys.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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: SendUI central repository key definitions
-*
-*/
-
-
-
-
-#ifndef _SENDUIPRIVATECRKES_H
-#define _SENDUIPRIVATECRKES_H
-
-// CONSTANTS
-
-/**
-* Send UI Service API
-*/
-const TUid KCRUidSendUi = {0x10282823};
-
-/**
-* Number of sending services
-*/
-const TInt32 KKeySendUiServiceCount = 0x01000000;
-const TInt32 KKeySendUiServiceLanguage = 0x01000001;
-const TInt32 KKeySendUiServiceMtmCount = 0x01000002;
-const TInt32 KKeySendUiServiceEcomCount = 0x01000003;
-const TInt32 KKeySendUiFeatureManagerServices = 0x01000004;
-
-// Sendui service list is updated, if Postcard, Audio Message or MMS Upload service state changes according to FeatureManager
-const TInt32 KSendUiPostcard = 0x00000001;
-const TInt32 KSendUiAudioMessage = 0x00000002;
-const TInt32 KSendUiMmsUpload = 0x00000004;
-
-/**
-* Elements of the sending service structure
-*/
-const TInt32 KSendUiServiceId = 0x00000000;
-const TInt32 KSendUiServiceProviderId = 0x00000001;
-const TInt32 KSendUiServiceFlags = 0x00000002;
-const TInt32 KSendUiServiceBodySize = 0x00000003;
-const TInt32 KSendUiServiceMessageSize = 0x00000004;
-const TInt32 KSendUiServiceTechnologyType = 0x00000005;
-const TInt32 KSendUiServiceName = 0x00000006;
-const TInt32 KSendUiServiceMenuName = 0x00000007;
-const TInt32 KSendUiServiceFeatures = 0x00000008;
-const TInt32 KSendUiServiceAddress = 0x00000009;
-
-/**
-* Service index "position":
-*
-* 1st sending service:
-* 0x0000
-* 0x0001
-* 0x0002
-* ...
-* 2nd sending service:
-* 0x0100
-* 0x0101
-* 0x0102
-* ...
-* 3rd sending service:
-* 0x0200
-* 0x0201
-* 0x0202
-* ...
-* etc.
-*/
-const TInt32 KSendUiServiceIndex = 0x00000100;
-
-/**
-* Maximum length for the name of the sending service
-*/
-const TInt32 KSendUiServiceMaxNameLength = 40;
-
-#endif
\ No newline at end of file
--- a/messagingfw/senduiservices/inc/SendUiUtils.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2002-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: Provides functionality for searching DRM content link.
-*
-*/
-
-
-
-
-#ifndef SENDUIUTILS_H
-#define SENDUIUTILS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-#include <apmstd.h>
-
-// CLASS DECLARATION
-
-/**
-* Provides functionality for searching DRM content link.
-*
-* @lib SenduiDataUtils.lib
-* @since Series 60 3.0
-*/
-NONSHARABLE_CLASS ( SendUiUtils )
- {
- public: // New functions
-
-
- /**
- * Searches for drm link content in a file
- *
- * @since S60 v3.0
- * @param aFilePath File to check
- * @param aFs File server session
- * @return ETrue if Content URL exists,
- * EFalse otherwise
- */
- static RFile OpenFileHandleL( const TDesC& aFilePath, RFs& aFs );
-
- /**
- * Searches for drm link content in a file handle
- *
- * @since S60 v3.0
- * @param aFile File to check
- * @return ETrue if Content URL exists,
- * EFalse otherwise
- */
- static TBool HasContentUrlL( RFile& aFile );
-
- /**
- *
- */
- static void ResolveMimeTypeL( const RFile& aFile, TDataType& aMimeType );
-
- };
-
-#endif // SENDUIUTILS_H
-
-// End of File
--- a/messagingfw/senduiservices/inc/SendingServiceConfig.rh Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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 contains declarations for resources of
-* sending services.
-* The file can be included in resource file.
-*
-*/
-
-
-
-#ifndef SENDINGSERVICECONFIG_RH
-#define SENDINGSERVICECONFIG_RH
-
-
-// RESOURCE STRUCTS
-
-STRUCT SERVICE_NAME_ARRAY
- {
- STRUCT serviceNames[4];
- }
-
-STRUCT SERVICE_NAMES
- {
- LTEXT service_name = "";
- LTEXT service_menu_name = "";
- }
-
-#endif // SENDINGSERVICECONFIG_RH
-
-//End of file
\ No newline at end of file
--- a/messagingfw/senduiservices/inc/SendingServiceInfoImpl.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
-* Encapsulates the ECom plugged sending service data.
-*
-*/
-
-
-
-#ifndef CSENDINGSERVICEINFOIMPL_H
-#define CSENDINGSERVICEINFOIMPL_H
-
-// INCLUDES
-#include <e32base.h>
-#include <sendui.h> // TSendingCapabilities
-
-class RReadStream;
-class RWriteStream;
-// CLASS DECLARATION
-
-/**
- * Encapsulates the ECom plugged sending service data.
- *
- * @lib Sendui
- * @since Series 60 3.0
- */
-class CSendingServiceInfoImpl : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @return Pointer to object of CSendingServiceInfoImpl.
- */
- static CSendingServiceInfoImpl* NewL();
-
- /**
- * Two-phased constructor.
- * @return Pointer to object of CSendingServiceInfoImpl.
- */
- static CSendingServiceInfoImpl* NewLC();
-
- /**
- * Destructor.
- */
- virtual ~CSendingServiceInfoImpl();
-
- public: // New functions
-
- /**
- * Creates a copy of CSendingServiceInfoImpl object.
- * @since Series 60 3.0
- * @return A pointer to the new copy of the CSendingServiceInfoImpl object.
- */
- CSendingServiceInfoImpl* CopyL() const;
-
- /**
- * Set service human readable name.
- * Service name is used in editors "To"-field.
- * @since Series 60 3.0
- * @param aServiceName Service human readable name.
- * @return None.
- */
- void SetServiceNameL( const TDesC& aServiceName );
-
- /**
- * Returns service human readable name.
- * Service name is used in editors "To"-field.
- * @since Series 60 3.0
- * @return Service human readable name.
- */
- inline const TPtrC ServiceName() const;
-
- /**
- * Set service human readable name for the "Send"-menu.
- * @since Series 60 3.0
- * @param aServiceMenuName Service human readable name for the
- * "Send"-menu.
- * @return None.
- */
- void SetServiceMenuNameL( const TDesC& aServiceMenuName );
-
- /**
- * Returns service human readable name for the "Send"-menu.
- * @since Series 60 3.0
- * @return Service human readable name for the "Send"-menu.
- */
- inline const TPtrC ServiceMenuName() const;
-
- /**
- * Set service address.
- * @since Series 60 3.0
- * @param aServiceAddress Service address.
- * @return None.
- */
- void SetServiceAddressL( const TDesC& aServiceAddress );
-
- /**
- * Returns service address.
- * @since Series 60 3.0
- * @return Service address.
- */
- inline const TPtrC ServiceAddress() const;
-
- /**
- * Set sending service id.
- * @since Series 60 3.0
- * @param aServiceId Service id.
- * @return None.
- */
- inline void SetServiceId( TUid aServiceId );
-
- /**
- * Returns sending service id.
- * @since Series 60 3.0
- * @return Service id.
- */
- inline TUid ServiceId() const;
-
- /**
- * Set sending service provider id.
- * @since Series 60 3.0
- * @param aServiceProviderId Service provider id.
- * @return None.
- */
- inline void SetServiceProviderId( TUid aServiceProviderId );
-
- /**
- * Returns sending service provider id.
- * @since Series 60 3.0
- * @return Service provider id.
- */
- inline TUid ServiceProviderId() const;
-
- /**
- * Set service sending capabilities.
- * @since Series 60 3.0
- * @param aServiceCapabilities Service sending capabilities.
- * @return None.
- */
- inline void SetServiceCapabilities(
- TSendingCapabilities aServiceCapabilities );
-
- /**
- * Returns service sending capabilities.
- * @since Series 60 3.0
- * @return Service sending capabilities.
- */
- inline TSendingCapabilities ServiceCapabilities() const;
-
- /**
- * Returns sending service's technology type id.
- * @since Series 60 3.1
- * @return Technology type.
- */
- inline TUid TechnologyTypeId() const;
-
- /**
- * Set sending service id.
- * @since Series 60 3.0
- * @param aServiceId Service id.
- * @return None.
- */
- inline void SetTechnologyTypeId( TUid aTechnologyTypeId );
-
-
- void ExternalizeL( RWriteStream& aStream );
-
- void InternalizeL( RReadStream& aStream );
-
- /**
- * Set service sending capabilities.
- * @since Series 60 3.0
- * @param aServiceCapabilities Service sending capabilities.
- * @return None.
- */
- inline void SetServiceFeatures( TInt aServiceFeatures );
-
- /**
- * Returns service sending capabilities.
- * @since Series 60 3.0
- * @return Service sending capabilities.
- */
- inline TInt ServiceFeatures() const;
-
- private:
-
-
- /**
- * C++ default constructor.
- */
- CSendingServiceInfoImpl();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- HBufC* iServiceName;
- HBufC* iServiceMenuName;
- HBufC* iServiceAddress;
- TUid iServiceId;
- TUid iServiceProviderId;
- TUid iTechnologyTypeId;
- TSendingCapabilities iServiceCapabilities;
- TInt iServiceFeatures;
- };
-
-#include "CSendingServiceInfo.inl"
-
-#endif // CSENDINGSERVICEINFOIMPL_H
-
-// End of File
--- a/messagingfw/senduiservices/inc/propertyobserver.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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: Observes sending service list and invokes an local sending service
-* update. This is required to keep the sending service list up-to-date
-* in a loaded sendui object.
-*
-*/
-
-
-
-#ifndef C_PROPERTYOBSERVER_H
-#define C_PROPERTYOBSERVER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-class CSendUiImpl;
-
-/**
- * Property observer for catching sending service list updates
- *
- * @lib sendui.lib
- * @since S60 S60 v3.2
- */
-
-NONSHARABLE_CLASS ( CPropertyObserver ): public CActive
- {
-
-public:
-
- static CPropertyObserver* NewL( CSendUiImpl* aParent );
-
- virtual ~CPropertyObserver();
-
-// from base class CActive
-
- /**
- * From CActive.
- *
- * @since S60 v3.2
- */
- void RunL();
-
- /**
- * From CActive.
- *
- * @since S60 v3.2
- */
- void DoCancel();
-
-private:
-
- CPropertyObserver( CSendUiImpl* aParent );
-
- void ConstructL();
-
-private: // data
-
-
- /**
- * Used for accessing GetEcomServicesL from CSendUiImpl
- * Not own.
- */
- CSendUiImpl* iParent;
-
- RProperty iPropertyUpdateOperation;
-
- };
-
-
-#endif // C_PROPERTYOBSERVER_H
--- a/messagingfw/senduiservices/inc/senduilauncher.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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: Launcher uids for the use of SendUi and SendUiLauncher
-*
-*/
-
-
-
-#ifndef SENDUILAUNCHER_H
-#define SENDUILAUNCHER_H
-
-// CONSTANTS
-
-const TUid KSendUiLauncherAppUid = {0x102823C5};
-const TUid KSendUiLauncherAppServiceUid = { 0x10282444 };
-const TInt KTransferBufferSize = 512;
-
-#endif // SENDUICONSTS_H
-
-// End of File
--- a/messagingfw/senduiservices/inc/senduiproperty.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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: Constant data for SendUi Refresh API
-*
-*/
-
-
-
-#ifndef R_CSENDUIPROPERTY_H
-#define R_CSENDUIPROPERTY_H
-
-const TUid KPSUidSendUiProperty = { 0x102072E4 };
-
-enum TSendUiPropertyKeys
- {
- KSendUiUpdateRequest,
- KSendUiUpdateOperation
- };
-
-enum TSendUiPropertyValues
- {
- KSendUiNotInitialized = -1,
- KSendUiUpdated,
- KSendUiUpdateRequested,
- KSendUiUpdateOperationRunning,
- KSendUiUpdateOperationDone
- };
-
-#endif
\ No newline at end of file
--- a/messagingfw/senduiservices/inc/senduiserviceclient.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +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: Clientside class for launching SendUi from SendUiLauncher
-* (server application)
-*
-*/
-
-
-
-
-#ifndef R_SENDUISERVICECLIENT_H
-#define R_SENDUISERVICECLIENT_H
-
-#include <aknappui.h>
-#include <AknServerApp.h>
-#include <SendUiConsts.h>
-
-class CMessageData;
-
-const TInt KMessageBufferSize = 4 * sizeof(TUint32);
-
-/**
- * SendUI Server Application API implentation, client side
- *
- * @lib sendui.lib
- * @since S60 S60 v3.2
- */
-NONSHARABLE_CLASS (RSendUiServiceClient) : public RAknAppServiceBase
- {
-
-public:
-
- /**
- * Requests SendUi launch on server application side
- *
- * @since S60 v3.2
- * @param aServiceUid Sending service Uid
- * @param aLaunchEmbedded ETrue, if editor is to be launched embedded
- * @param CMessageData Message to be sent
- */
- void LaunchSendUiL(
- TUid& aServiceUid,
- TUid& aServiceProviderUid,
- TBool& aLaunchEmbedded,
- const CMessageData* aMessageData );
-
-// from base class RAknAppServiceBase
-
- /**
- * From RAknAppServiceBase.
- * Return Service identifier
- *
- * @since S60 v3.2
- * @return Service's identification
- */
- TUid ServiceUid() const;
-
- virtual ~RSendUiServiceClient();
-
- };
-
-#endif // R_SENDUISERVICECLIENT_H
--- a/messagingfw/senduiservices/inc/senduiservicecommands.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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: Commands for IPC communication between SendUI and
-* SendUiServerApplication
-*
-*/
-
-
-
-
-enum TSendUiServiceCommands
- {
- ESendUiDataBlock= RApaAppServiceBase::KServiceCmdBase,
- EDataSent,
- ECopyFileHandle,
- ELaunchSendUi
- };
\ No newline at end of file
--- a/messagingfw/senduiservices/inc/senduiserviceslog.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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: Logger facility for the SendUiServices.
-*
-*/
-
-
-
-
-#ifndef SENDUISERVICESLOG_H
-#define SENDUISERVICESLOG_H
-
-// MACROS
-
-#include <flogger.h> // HW debug logging support
-
-//
-#ifdef USE_LOGGER
-//
-
-_LIT(KSendUiServicesLogFile,"SENDUISERVICES.TXT");
-_LIT(KSendUiServicesLogDir,"SENDUISERVICES");
-_LIT(KSendUiServicesTimeFormatString,"%H:%T:%S:%*C2");
-
-#define CREATELOGTEXT(a) RFileLogger::Write(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeOverwrite,a)
-#define LOGTEXT(a) RFileLogger::Write(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,a)
-#define LOGTEXT2(a,b) RFileLogger::WriteFormat(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(a),b)
-#define LOGTEXT3(a,b,c) RFileLogger::WriteFormat(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(a),b,c)
-#define LOGHEXDUMP(a,b,c,d) RFileLogger::HexDump(KSendUiServicesLogDir(),KSendUiServicesLogFile(),EFileLoggingModeAppend,a,b,c,d);
-#define LOGTIMESTAMP(a) {_LIT(temp, a); TTime time; time.HomeTime(); TBuf<256> buffer; time.FormatL( buffer, KSendUiServicesTimeFormatString ); buffer.Insert(0, temp); RFileLogger::Write(KSendUiServicesLogDir, KSendUiServicesLogFile, EFileLoggingModeAppend, buffer); }
-
-#else // no logger
-
-#define CREATELOGTEXT(a)
-#define LOGTEXT(a)
-#define LOGTEXT2(a,b)
-#define LOGTEXT3(a,b,c)
-#define LOGHEXDUMP(a,b,c,d)
-#define LOGTIMESTAMP(a)
-
-#endif // USE_LOGGER
-
-#endif // SENDUISERVICESLOG_H
-
-// End of File
--- a/messagingfw/senduiservices/launcher/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +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: bld.inf*
-*/
-
-
-PRJ_MMPFILES
-
-senduilauncher.mmp
-
--- a/messagingfw/senduiservices/launcher/group/senduilauncher.mmp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +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 definition file for project ?myapp
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// --- LOGGING ---
-//MACRO USE_LOGGER // HW debugging support
-//LIBRARY Flogger.lib // RFileLogger, debug logging
-// --- LOGGING ---
-
-TARGET senduilauncher.exe
-EPOCSTACKSIZE 0x5000
-TARGETTYPE exe
-UID 0x100039CE 0x102823C5
-VERSION 10.0
-CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment NetworkControl ReadDeviceData WriteDeviceData
-VENDORID VID_DEFAULT
-PAGED
-
-SOURCEPATH ../src
-SOURCE senduilauncher.cpp
-SOURCE senduilauncherapp.cpp
-SOURCE senduilauncherappui.cpp
-SOURCE senduilauncherdoc.cpp
-SOURCE senduiservice.cpp
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY avkon.lib
-LIBRARY gdi.lib
-LIBRARY sendui.lib
-LIBRARY estor.lib
-LIBRARY efsrv.lib
-LIBRARY apgrfx.lib
-LIBRARY ws32.lib
-LIBRARY eikcoctl.lib
-
-SOURCEPATH ../group
-START RESOURCE senduilauncher.rss
-HEADER
-targetpath APP_RESOURCE_DIR
-LANGUAGE_IDS
-end
-
-SOURCEPATH ../group
-START RESOURCE senduilauncher_reg.rss
-// Do not change the UID 10003a3f below.
-TARGETPATH /private/10003a3f/apps
-END
-
--- a/messagingfw/senduiservices/launcher/group/senduilauncher.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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: Resource definitions for project SendUiLauncher
-*
-*/
-
-
-NAME SELC
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <appinfo.rh>
-
-// ---------------------------------------------------------
-//
-// Define the resource file signature
-// This resource should be empty.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//
-// Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name { buf=""; }
--- a/messagingfw/senduiservices/launcher/group/senduilauncher_reg.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: SendUiServer application's registration resource file
-*
-*/
-
-
-
-#include <appinfo.rh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x102823C5
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file="senduilauncher";
- hidden = KAppIsHidden;
- }
--- a/messagingfw/senduiservices/launcher/inc/senduilauncher.hrh Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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: Resource headers for project SendUiLauncher
-*
-*/
-
-
-
-
-#ifndef SENDUILAUNCHER_HRH
-#define SENDUILAUNCHER_HRH
-
-#include <AknServerApp.h>
-
-/** SendUi Launcher commands */
-
-enum TSendUiServerIds
- {
- ESendUiServerCommand1 = 1 // start value must not be 0
- };
-
-
-#endif // SENDUILAUNCHER_HRH
--- a/messagingfw/senduiservices/launcher/inc/senduilauncherapp.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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: Server application for launching SendUi with low
-* capability requirements.
-*
-*/
-
-
-
-
-#ifndef C_CSENDUILAUNCHERAPP_H
-#define C_CSENDUILAUNCHERAPP_H
-
-
-#include <aknapp.h>
-#include <AknServerApp.h>
-
-
-/**
- * Returns a new application server and a document
- *
- * @since S60 v.3.2
- */
-class CSendUiLauncherApplication : public CAknApplication
- {
-
-public:
-
- TUid AppDllUid() const;
-
-// from base CAknApplication
-
-protected:
-
- /**
- * Creates document
- *
- * @since S60 v.3.2
- */
- CApaDocument* CreateDocumentL();
-
- /**
- * Return new Application Server
- *
- */
- void NewAppServerL( CApaAppServer* & aAppServer);
-
- };
-
-
-#endif // C_SENDUILAUNCHERAPP_H
--- a/messagingfw/senduiservices/launcher/inc/senduilauncherappui.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +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: Server application for launching SendUi with low
-* capability requirements.
-*
-*/
-
-
-
-
-
-#ifndef C_CSENDUILAUNCHERAPPUI_H
-#define C_CSENDUILAUNCHERAPPUI_H
-
-
-#include <aknappui.h>
-
-class CMessageData;
-
-/**
- * Launcher application ui constructs SendUi object
- *
- * ?more_complete_description
- *
- * @since S60 v.3.2
- */
-class CSendUiLauncherAppUi : public CAknAppUi
- {
-
-public:
-
- virtual ~CSendUiLauncherAppUi ();
-
- /**
- * Creates and sends message
- *
- * @since S60 v.3.2
- * @param aServiceId Uid of the requested service
- * @param aMessageData Message data
- * @param aLaunchEmbedded ETrue if editor is to be launched embedded.
- * Otherwise EFalse.
- */
- void CreateAndSendMessageL(
- TUid aServiceUid,
- CMessageData* aMessageData,
- TBool aLaunchEmbedded );
-
- /**
- * Used for exiting server application properly
- *
- * @since S60 v.3.2
- * @param aThis Pointer to this AppUi
- */
- static TInt DelayedExit( TAny* aThis );
-
- /**
- * Does delayed exit earliest after specified delay
- *
- * @since S60 v.3.2
- * @param aDelayTime Requested delay in microseconds
- */
- void DoDelayedExitL( TInt aDelayTime );
-
-// from base class CAknAppUi
-
- /**
- * From CAknAppUi.
- * Handles commands. Only Exit is implemented.
- *
- * @since S60 v.3.2
- * @param aCommand Command code
- */
- void HandleCommandL(TInt aCommand);
-
- CSendUiLauncherAppUi();
-
-private:
-
-
- void ConstructL();
-
-private: // data
-
- /**
- * Timer for the delayed exit function
- * Own.
- */
- CPeriodic* iIdle;
-
- };
-
-
-#endif // C_CSENDUILAUNCHERAPPUI_H
--- a/messagingfw/senduiservices/launcher/inc/senduilauncherdoc.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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: Server application for launching SendUi with low
-* capability requirements.
-*
-*/
-
-
-
-#ifndef C_SENDUILAUNCHERDOC_H
-#define C_SENDUILAUNCHERDOC_H
-
-
-#include <AknDoc.h>
-
-
-class CSendUiLauncherAppUi;
-class CEikApplication;
-
-/**
- * Document for SendUiLauncher
- *
- * @since S60 v.3.2
- */
-class CSendUiLauncherDocument : public CAknDocument
- {
-
-public:
-
- static CSendUiLauncherDocument* NewL(CEikApplication& aApp);
-
- static CSendUiLauncherDocument* NewLC(CEikApplication& aApp);
-
- virtual ~CSendUiLauncherDocument();
-
-
- /**
- * Create a CSendUiServerAppUi object and return a pointer to it
- *
- * @since S60 v3.2
- * @return a pointer to the created instance of the AppUi created
- */
- CEikAppUi* CreateAppUiL();
-
-private:
-
- CSendUiLauncherDocument(CEikApplication& aApp);
-
- };
-#endif // C_SENDUILAUNCHERDOC_H
--- a/messagingfw/senduiservices/launcher/inc/senduiservice.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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: Communication class between SendUi and SendUiLauncher
-*
-*/
-
-
-
-
-#ifndef C_CSENDUISERVICE_H
-#define C_CSENDUISERVICE_H
-
-
-#include <AknServerApp.h>
-
-#include "senduilauncher.hrh"
-// forward declarations
-class RDesReadStream;
-class CSendUiLauncherAppUi;
-class CMessageData;
-
-
-/**
- * SendUi launch service implementation class
- *
- * ?more_complete_description
- *
- * @since S60 v.3.2
- */
-NONSHARABLE_CLASS (CSendUiService) : public CAknAppServiceBase
- {
-
-public:
-
- /** IPC message slots */
- enum TIpcSlots
- {
- ESlot1 = 0,
- ESlot2,
- ESlot3
- };
-
- static CSendUiService* NewL();
-
- virtual ~CSendUiService();
-
-// from base class CAknAppServiceBase
-
- /**
- * From CAknAppServiceBase.
- * Server side service implementation
- *
- * @since S60 v.3.2
- * @param RMessage2& IPC message
- */
- void ServiceL( const RMessage2& aMessage );
-
-private:
-
- void ConstructL();
-
-private: // data
-
- /**
- * Temporary storage for the incoming message data
- * Own.
- */
- TInt iTransferredBytes;
-
- /**
- * Temporary storage for the incoming message data
- * Own.
- */
- HBufC8* iTransferBuffer;
-
- /**
- * Message data container
- * Own.
- */
- CMessageData* iMessageData;
-
- /**
- * Pointer to application ui.
- * Not own.
- */
- CSendUiLauncherAppUi* iAppUi;
-
- /**
- * Readstream
- * Own.
- */
- RDesReadStream* iReadStream;
- };
-
-#endif // C_CSENDUISERVICE_H
--- a/messagingfw/senduiservices/launcher/src/senduilauncher.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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: Server application for launching SendUI services with
-* low capabilites.
-*
-*/
-
-
-
-#include <eikstart.h>
-
-#include "senduilauncherapp.h"
-
-
-// ======== GLOBAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructs and returns an application object.
-// ---------------------------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
- {
- return new CSendUiLauncherApplication;
- }
-
-
-// ---------------------------------------------------------------------------
-// Main function of the application executable.
-// ---------------------------------------------------------------------------
-//
-TInt E32Main()
- {
- return EikStart::RunApplication(NewApplication);
-
- }
--- a/messagingfw/senduiservices/launcher/src/senduilauncherapp.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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: Server application for launching SendUi with low
-* capability requirements.
-*
-*/
-
-
-
-#include "senduilauncherdoc.h"
-#include "senduilauncherapp.h"
-#include "senduilauncherappui.h"
-#include "senduiservice.h"
-#include "senduiserviceclient.h"
-#include "senduiserviceslog.h"
-#include <SendUiConsts.h>
-#include "senduilauncher.h"
-
-// ---------------------------------------------------------------------------
-// Creates SendUiService or pass service request to the framework
-// ---------------------------------------------------------------------------
-//
-class CSendUiServer : public CAknAppServer
- {
- public:
-
- CApaAppServiceBase* CreateServiceL( TUid aServiceType ) const
- {
- if( aServiceType.iUid == KSendUiLauncherAppServiceUid.iUid )
- {
- return CSendUiService::NewL();
- }
- else
- {
- return CAknAppServer::CreateServiceL( aServiceType );
- }
- }
- };
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructs and returns an application object.
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CSendUiLauncherApplication::CreateDocumentL()
- {
- // Create an SendUiServer document, and return a pointer to it
- CApaDocument* document = CSendUiLauncherDocument::NewL(*this);
- return document;
- }
-
-// ---------------------------------------------------------------------------
-// AppDllUid
-// Return application Uid
-// ---------------------------------------------------------------------------
-//
-TUid CSendUiLauncherApplication::AppDllUid() const
- {
- // Return the UID for the SendUiServer application
- return KSendUiLauncherAppUid;
- }
-
-// ---------------------------------------------------------------------------
-// NewAppServerL
-// Returns new CSendUIServer object for the framework
-// ---------------------------------------------------------------------------
-//
-void CSendUiLauncherApplication::NewAppServerL( CApaAppServer* & aAppServer )
- {
- aAppServer = new(ELeave)CSendUiServer;
- }
-
--- a/messagingfw/senduiservices/launcher/src/senduilauncherappui.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +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: Server application for launching SendUi with low
-* capability requirements.
-*
-*/
-
-
-
-#include <avkon.hrh>
-#include <akntitle.h> // CAknTitlePane
-#include <aknnotewrappers.h>
-#include <sendui.h>
-
-#include "senduilauncherappui.h"
-#include "senduilauncher.hrh"
-#include "senduiserviceslog.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSendUiLauncherAppUi::~CSendUiLauncherAppUi()
- {
- delete iIdle;
- }
-
-// ---------------------------------------------------------------------------
-// Use SendUiImpl class to launch SendUi. Called from CSendUiService.
-// ---------------------------------------------------------------------------
-//
-void CSendUiLauncherAppUi::CreateAndSendMessageL(
- TUid aServiceUid,
- CMessageData* aMessageData,
- TBool aLaunchEmbedded )
- {
- LOGTEXT(_L("LauncherAppUi::CreateAndSendMessageL >>"));
-
- CSendUi* sendUi = CSendUi::NewL();
- CleanupStack::PushL( sendUi );
- sendUi->CreateAndSendMessageL(
- aServiceUid,
- aMessageData,
- KNullUid,
- aLaunchEmbedded );
- CleanupStack::PopAndDestroy( sendUi );
- LOGTEXT(_L("LauncherAppUi::CreateAndSendMessageL <<"));
- }
-
-// ---------------------------------------------------------------------------
-// Delayed exit is used for server app to exit automatically and properly.
-// ---------------------------------------------------------------------------
-//
-void CSendUiLauncherAppUi::DoDelayedExitL( TInt aDelayTime )
- {
- LOGTEXT(_L("LauncherAppUi::DoDelayedExit >>"));
- delete iIdle;
- iIdle = 0;
- // Priority must be lower than the priority of iWrappedWaitDialog
- iIdle = CPeriodic::NewL( EPriorityNormal - 1);
- iIdle->Start( aDelayTime,
- aDelayTime,
- TCallBack( DelayedExit, this ));
- }
-
-// ---------------------------------------------------------------------------
-// Delayed exit is used for server app to exit properly.
-// ---------------------------------------------------------------------------
-//
-TInt CSendUiLauncherAppUi::DelayedExit( TAny* aThis )
- {
- LOGTEXT(_L("CSendUiLauncherAppUi: DelayedExit >>"));
-
- CSendUiLauncherAppUi* editor = static_cast<CSendUiLauncherAppUi*>( aThis );
- editor->Exit( );
- LOGTEXT(_L("LauncherAppUi::DelayedExit <<"));
-
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CSendUiLauncherAppUi::HandleCommandL(TInt aCommand)
- {
- switch(aCommand)
- {
- case EEikCmdExit: // fall through
- case EAknSoftkeyExit:
- Exit();
- break;
-
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CSendUiLauncherAppUi::ConstructL()
- {
- LOGTEXT(_L("LauncherAppUi::ConstructL >>"));
-
- BaseConstructL(ENoAppResourceFile);
- HideApplicationFromFSW( ETrue );
-
- // application name is shown, if not set otherwise
- _LIT( KEmptyText, "" );
- CAknTitlePane* title = static_cast<CAknTitlePane*>
- (StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle )));
- title->SetTextL( KEmptyText );
-
- LOGTEXT(_L("LauncherAppUi::ConstructL <<"));
- }
-
-
-// ---------------------------------------------------------------------------
-// Empty constructor
-// ---------------------------------------------------------------------------
-//
-CSendUiLauncherAppUi::CSendUiLauncherAppUi()
- {
- }
--- a/messagingfw/senduiservices/launcher/src/senduilauncherdoc.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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: Server application for launching SendUi with low
-* capability requirements.
-*
-*/
-
-
-#include <eikappui.h>
-
-#include "senduilauncherappui.h"
-#include "senduilauncherdoc.h"
-
-
-// ======== LOCAL FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CSendUiLauncherDocument::CSendUiLauncherDocument(CEikApplication& aApp) : CAknDocument(aApp)
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CSendUiLauncherDocument* CSendUiLauncherDocument::NewL(CEikApplication& aApp)
- {
- CSendUiLauncherDocument* self = NewLC(aApp);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//
-CSendUiLauncherDocument* CSendUiLauncherDocument::NewLC(CEikApplication& aApp)
- {
- CSendUiLauncherDocument* self = new (ELeave) CSendUiLauncherDocument(aApp);
- CleanupStack::PushL(self);
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSendUiLauncherDocument::~CSendUiLauncherDocument()
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// CreateAppUiL
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CSendUiLauncherDocument::CreateAppUiL()
- {
- // Create the application user interface, and return a pointer to it,
- // the framework takes ownership of this object
- CEikAppUi* appUi = new(ELeave)CSendUiLauncherAppUi;
- return appUi;
- }
--- a/messagingfw/senduiservices/launcher/src/senduiservice.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +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: SendUi service class. Receives message data from the
-* SendUi host.
-*
-*/
-
-
-
-
-#include <eikenv.h>
-#include <s32mem.h>
-
-#include <CMessageData.h>
-#include <SendUiConsts.h>
-#include <CSendingService.h>
-
-#include "senduiservice.h"
-#include "senduilauncherappui.h"
-#include "senduiserviceslog.h"
-#include "SendUiPrivateCRKeys.h"
-#include "senduiservicecommands.h"
-#include "senduilauncher.h"
-#include <senduisingleton.h>
-
-typedef TBuf8<KTransferBufferSize> TTransferBuf;
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CSendUiService::ConstructL()
- {
- iAppUi = (CSendUiLauncherAppUi*)CEikonEnv::Static()->EikAppUi();
- }
-
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//
-CSendUiService* CSendUiService::NewL()
- {
- CSendUiService* self = new( ELeave ) CSendUiService;
- CleanupStack::PushL( self );
- self->ConstructL();
-
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSendUiService::~CSendUiService()
- {
- LOGTEXT(_L("CSendUiService->~ >>"));
- delete iMessageData;
- delete iTransferBuffer;
- delete iReadStream;
- LOGTEXT(_L("CSendUiService->~ <<"));
- }
-
-// ---------------------------------------------------------------------------
-// ServiceL
-// Receives message from SendUi and passes data to AppUi
-// ---------------------------------------------------------------------------
-//
-void CSendUiService::ServiceL( const RMessage2& aMessage )
- {
- LOGTEXT(_L("CSendUiService->ServiceL >>"));
-
- TTransferBuf transferBuffer;
-
- switch (aMessage.Function())
- {
- case ESendUiDataBlock: // receive main message data in blocks
- {
- TPckgBuf<TTransferBuf> bufPckg;
- TPckgBuf<TInt> blockSizePckg;
- TPckgBuf<TInt> totalSizePckg;
-
- aMessage.ReadL( ESlot1, bufPckg );
- aMessage.ReadL( ESlot2, blockSizePckg );
- aMessage.ReadL( ESlot3, totalSizePckg );
-
- TInt blockSize = blockSizePckg();
- TInt totalSize = totalSizePckg();
-
- transferBuffer = bufPckg();
-
- if (!iTransferBuffer)
- {
- iTransferredBytes = 0;
- iTransferBuffer = HBufC8::NewL( totalSize );
- }
- TPtr8 bufferPtr8( iTransferBuffer->Des() );
- bufferPtr8.Insert( iTransferredBytes, transferBuffer );
-
- iTransferredBytes += blockSize;
- break;
- }
- case EDataSent: // this is the last data block, start reading
- {
-
- iReadStream = new(ELeave)RDesReadStream( *iTransferBuffer );
- TUid serviceProviderUid(KNullUid);
- TUid dataTypeUid(KNullUid);
-
- if ( iTransferBuffer )
- {
- LOGTEXT(_L("CSendUiService->ServiceL: ELaunchSendUi: openstream"));
-
- TUint32 tmpVal = iReadStream->ReadUint32L();
- serviceProviderUid = TUid::Uid( tmpVal );
-
- tmpVal = iReadStream->ReadUint32L();
- dataTypeUid = TUid::Uid( tmpVal );
- }
- iMessageData = CMessageData::NewL();
- break;
- }
- case ECopyFileHandle: // receive file handles
- {
- LOGTEXT(_L("CSendUiService->ServiceL: ECopyFileHandle"));
-
- // open source file handle
- RFile sourceFile;
- User::LeaveIfError(sourceFile.AdoptFromClient(aMessage, 0, 1));
- CleanupClosePushL(sourceFile);
- iMessageData->AppendAttachmentHandleL( sourceFile );
- CleanupStack::Pop(&sourceFile);
-
- LOGTEXT(_L("CSendUiService->ServiceL: ECopyFileHandle done"));
- break;
- }
- case ELaunchSendUi: // construct message data and invoke sendui
- {
- LOGTEXT(_L("CSendUiService->ServiceL: ELaunchSendUi>>"));
-
- if ( iReadStream )
- {
- LOGTEXT(_L("CSendUiService->ServiceL: ELaunchSendUi: openstream"));
-
-
- TUint32 tmpVal = iReadStream->ReadUint32L();
- TUid serviceUid( TUid::Uid( tmpVal ));
-
- tmpVal = iReadStream->ReadUint32L();
- TBool launchEmbedded( tmpVal );
-
- tmpVal = iReadStream->ReadUint32L();
-
- if (tmpVal )
- {
- iMessageData->InternalizeL( *iReadStream );
- }
-
- iReadStream->Release();
- iReadStream->Close();
-
- iAppUi->CreateAndSendMessageL(
- serviceUid,
- iMessageData,
- launchEmbedded );
- }
- iAppUi->DoDelayedExitL( 0 );
-
- LOGTEXT(_L("CSendUiService->ServiceL: complete message"));
-
- break;
- }
- default:
- // No other commands exist.
- LOGTEXT(_L("CSendUiService->ServiceL: ERROR! Unknown command"));
- }
- aMessage.Complete( KErrNone );
-
-};
-
-// End of File
-
--- a/messagingfw/senduiservices/loc/Sendnorm.loc Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2002-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: This file contains the localised strings for Sendui.
-*
-*/
-
-
-
-
-// LOCALISATION STRINGS
-
-// d: Query text to confirm if user wants to define new remote mailbox.
-// l: popup_note_window
-//
-#define qtn_mce_conf_no_mailboxes "No Remote mailboxes defined.\nDo you want to define it now?"
-
-// d: Text in wait note.
-// d: Shown when opening message editor.
-// l: popup_note_wait_window
-//
-#define qtn_mail_wait_opening_editor "Opening..."
-
-// d: Text in error note.
-// d: Shown when message cannot be created when settings are missing or incomplete.
-// d: Settings must be defined in message centre.
-// l: popup_note_window
-//
-#define qtn_mce_error_stand_settings "Message can't be created. Settings incomplete. Fill them in in Messages."
-
-// d: Text in error note.
-// d: Shown when email cannot be created when settings are missing or incomplete.
-// d: Settings must be defined in email.
-// l: popup_note_window
-//
-#define qtn_mce_error_stand_settings_email "Email can't be created. Settings incomplete. Fill them in in Email."
-
-//d: Information note
-//d: Note shown when one corrupted object is tried to send.
-//l: popup_note_window
-#define qtn_mms_upload_info_corrupted "Unable to send. Object is corrupted."
-
-//d: Information note
-//d: Note shown when many corrupted objects are tried to send.
-//l: popup_note_window
-#define qtn_mms_upload_info_corrupted_all "Unable to send. Objects are corrupted."
-
-//d: Information note
-//d: Shown when some of the files to be sent are corrupted
-//l: popup_note_window
-#define qtn_mms_upload_info_corrupted_some "Unable to send. Some objects are corrupted."
-
-//d: Information note.
-//d: Note shown when many big objects exceeding the [Maximum MMS size in kB] are
-//d: tried to sent.
-//l: popup_note_window
-#define qtn_mms_info_size_all_not_sent "Message size %N kB exceeded. Unable to send all objects."
-
-//d: Information note.
-//d: Note shown when an object is so big that the insertion
-//d: of the object would exceed the [Maximum MMS size in kB].
-//l: popup_note_window
-#define qtn_mms_info_size_not_sent "Message size %N kB exceeded. Sending not possible."
-
-//d: Information note
-//d: Shown when some of the files are rejected with different error codes
-//l: popup_note_window
-#define qtn_mms_info_only_some_sent "All objects could not be sent."
-
-//d: Information note
-//d: Shown when all of the files are rejected with different error codes
-//l: popup_note_window
-#define qtn_mms_info_cannot_send "Unable to send objects."
-
-//d: Information note
-//d: Note shown when one unsupported object is tried to send.
-//l: popup_note_window
-#define qtn_mms_info_obj_not_supp_send "Unable to send. Object format not supported."
-
-//d: Information note
-//d: Shown when some of the files to be sent are not supported.
-//l: popup_note_window
-#define qtn_mms_info_some_not_supp_send "Unable to send all. Some object formats not supported."
-
-//d: Information note
-//d: Note shown when many unsupported objects are tried to send.
-//l: popup_note_window
-#define qtn_mms_info_objects_not_supp_send "Unable to send. Object formats not supported."
-
-// d: Text in confirmation query for one protected item.
-// l: popup_note_window
-#define qtn_drm_query_mms_upload_one_sd "Object protected. Protected objects may not be used in the service. Continue?"
-
-// d: Text in confirmation query for several SD protected items.
-// l: popup_note_window
-#define qtn_drm_query_mms_upload_all_sd "Objects protected. Protected objects may not be used in the service. Continue?"
-
-// d: Text in confirmation query for at least one protected item.
-// l: popup_note_window
-#define qtn_drm_query_mms_upload_some "Some objects protected. Protected objects may not be used in the service. Continue?"
-
-//d: Text in error note.
-//d: Shown when messages cannot be created when settings are missing or incomplete.
-//l: popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_mce_error_stand_settings_many "Messages can not be created. Settings incomplete. Fill them in in Messages."
-
-// End of File
--- a/messagingfw/senduiservices/rom/Senduiservices.iby Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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: Senduiservices.iby*
-*/
-
-#ifndef __SENDUISERVICES_IBY__
-#define __SENDUISERVICES_IBY__
-
-file=ABI_DIR\BUILD_DIR\SENDUI.DLL SHARED_LIB_DIR\Sendui.dll
-file=ABI_DIR\BUILD_DIR\SenduiDataUtils.dll SHARED_LIB_DIR\SenduiDataUtils.dll
-
-ECOM_PLUGIN(SendUiWatcher.dll, senduiwatcher.rsc)
-
-S60_APP_EXE(SendUiServiceResolver) // SendUiServiceResolver.exe
-S60_UPGRADABLE_APP_REG_RSC(SendUiServiceResolver) // SendUiServiceResolver_reg
-
-S60_APP_EXE(senduilauncher) // senduilauncher.exe
-S60_UPGRADABLE_APP_REG_RSC(senduilauncher) // senduilauncher_reg
-
-// Stub sis files
-data=\epoc32\data\z\system\install\stub_senduiserviceresolver.sis \system\install\stub_senduiserviceresolver.sis
-data=\epoc32\data\z\system\install\stub_senduilauncher.sis \system\install\stub_senduilauncher.sis
-#endif
--- a/messagingfw/senduiservices/rom/SenduiservicesResources.iby Thu Aug 19 10:24:00 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: SenduiservicesResources.iby*
-*/
-
-
-#ifndef __SENDUISERVICES_RESOURCES_IBY__
-#define __SENDUISERVICES_RESOURCES_IBY__
-
-data=DATAZ_\RESOURCE_FILES_DIR\Sendnorm.rsc RESOURCE_FILES_DIR\Sendnorm.rsc
-
-#endif
--- a/messagingfw/senduiservices/serviceresolver/group/SendUiServiceResolver_reg.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: Resource definitions for project SendUiServiceResolver
-*
-*/
-
-
-
-#include <appinfo.rh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x102823b5
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file="SendUiSr";
- hidden = KAppIsHidden;
- }
--- a/messagingfw/senduiservices/serviceresolver/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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 project SendUiServiceResolver
-*
-*/
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-senduiserviceresolver.mmp
--- a/messagingfw/senduiservices/serviceresolver/group/senduiserviceresolver.mmp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +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 definition file for project SendUiServiceResolver
-*
-*/
-
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// --- LOGGING ---
-//MACRO USE_LOGGER // HW debugging support
-//LIBRARY Flogger.lib // RFileLogger, debug logging
-// --- LOGGING ---
-
-TARGET senduiserviceresolver.exe
-TARGETTYPE exe
-UID 0x100039CE 0x102823b5
-VERSION 10.0
-CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment NetworkControl ReadDeviceData WriteDeviceData
-VENDORID VID_DEFAULT
-PAGED
-
-SOURCEPATH ../src
-SOURCE senduisr.cpp
-SOURCE senduisrapp.cpp
-SOURCE senduisrappui.cpp
-SOURCE senduisrdoc.cpp
-SOURCEPATH ../../src
-SOURCE SendingServiceInfoImpl.cpp
-
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-USERINCLUDE ../../watcher/inc
-
-SYSTEMINCLUDE /epoc32/include/ecom
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY avkon.lib
-LIBRARY apgrfx.lib
-LIBRARY centralrepository.lib
-LIBRARY ecom.lib
-LIBRARY sendui.lib
-LIBRARY ws32.lib
-
-SOURCEPATH ../group
-START RESOURCE SendUiServiceResolver_reg.rss
-// Do not change the UID 10003a3f below.
-TARGETPATH /private/10003a3f/apps
-END
-
-START RESOURCE senduiserviceresolver.rss
-HEADER
-targetpath RESOURCE_FILES_DIR
-LANGUAGE_IDS
-end
--- a/messagingfw/senduiservices/serviceresolver/group/senduiserviceresolver.rss Thu Aug 19 10:24:00 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: Resource definitions for project SendUiServiceResolver
-*
-*/
-
-
-NAME SESR
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <aiftool.rh>
-
-// ---------------------------------------------------------
-// Define the resource file signature
-// This resource should be empty.
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//
-// Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name { buf=""; }
--- a/messagingfw/senduiservices/serviceresolver/inc/senduisrapp.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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: Resolves sending service information and stores it to
-* Central Repository.
-*
-*/
-
-
-
-#ifndef C_CSENDUISRAPP_H
-#define C_CSENDUISRAPP_H
-
-#include <aknapp.h>
-
-/**
- * Application class for SendUiServiceResolver application
- *
- * @since S60 S60 v3.2
- */
-class CSendUiSrApp : public CAknApplication
- {
-public: // from base class CAknApplication
-
- /**
- * From CAknApplication.
- * Return unique application identifier
- *
- * @since S60 v3.2
- */
- TUid AppDllUid() const;
-
-protected: // from base class CAknApplication
- /**
- * From CAknApplication.
- * Creates document
- *
- * @since S60 v3.2
- */
- CApaDocument* CreateDocumentL();
-
- };
-
-#endif // C_SENDUISRAPP_H
--- a/messagingfw/senduiservices/serviceresolver/inc/senduisrappui.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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: Resolves sending service information and stores it to
-* Central Repository.
-*
-*/
-
-
-
-
-
-#ifndef C_CSENDUISRAPPUI_H
-#define C_CSENDUISRAPPUI_H
-
-
-#include <aknappui.h>
-#include <msvapi.h>
-
-// Forward declarations
-class CSendUiPropertyObserver;
-class CSendingServiceInfo;
-class CSendingService;
-class TSendingCapabilities;
-class CSendUiSrAppView;
-class CRepository;
-class CSendUiSingleton;
-
-const TInt KEightBits = 8;
-
-/**
- * An instance of class CSendUiSrAppUi is the UserInterface part of the AVKON
- * application framework for the SendUiServiceResolver application
- *
- * @since S60 v3.2
- */
-class CSendUiSrAppUi : public CAknAppUi
- {
-
-public:
-
- /** Publish & Subscribe API keys */
- enum TSendUiPropertyKeys { ESendUiListStatus };
-
- virtual ~CSendUiSrAppUi();
-
- CSendUiSrAppUi();
-
-// from base class CAknAppUi
-
- /**
- * From CAknAppUi.
- *
- * @since S60 v3.2
- * @param aCommand Command code
- */
- void HandleCommandL( TInt aCommand );
-
-private:
-
- void ConstructL();
-
- /**
- * Resolves and stores sending service information
- *
- * @since S60 v3.2
- */
- void HandleUpdateSendListL();
-
- /**
- * Removes all SendUi's sending service information from the central repository
- *
- * @since S60 v3.2
- * @param aRep Reference to an open CRepository object
- */
- void ClearPluginListL( CRepository* aRep );
-
- /**
- * Inserts given sending service information to Central Repository.
- *
- * @since S60 v3.2
- * @param aRep Reference to an open CRepository object
- * @param aServiceId Identification code of this service
- * @param aServiceProviderId Identification code of the service provider
- * @param aTechnologyType Identification code of the service's technology type
- * @param aCapabilities Sending capabilities of this service
- * @param aServiceMenuName Name of the service shown in menu (Send...)
- * @param aServiceName Name of the service (Write...)
- */
- TInt AddSendingService(
- CRepository* aRep,
- TUint aIndex,
- TUid aServiceId,
- TUid aServiceProviderId,
- TUid aTechnologyType,
- TInt aFeatures,
- TSendingCapabilities aCapabilities,
- TPtrC aServiceMenuName,
- TPtrC aServiceName,
- TPtrC aServiceAddress );
-
- /**
- * Populates given list with the sending services.
- * The pointers in the list point to the actual objects
- * (which remain owned by the Service Providers).
- *
- * @since Series 60 3.2
- * @param aServiceList List of available services
- * @param aServiceProviders list of service providers.
- * @param aCoeEnv
- * @return aServiceList and aServiceProviders
- */
- void PopulateServicesListL(
- RPointerArray<CSendingServiceInfo>& aServiceList,
- RPointerArray<CSendingService>& aServiceProviders,
- CCoeEnv* aCoeEnv );
-
- static TInt UpdateTask( TAny* aThis );
-
- /**
- * Loads a service provides and fetches the provided services.
- * This functions is trapped in PopulateServicesListL to insulate serious
- * service loading problems to the service in question.
- *
- * @since Series 60 3.2
- * @param aServiceProviderUid
- * @param aCoeEnv Pointer to CCoeEnv passed to the service provider
- * @param aSingleton Pointer to a singleton class passed to the service provider
- * @param aServiceList List of services available at the loaded service provider.
- */
-
- CSendingService* LoadServiceL(
- TUid aServiceUid,
- CCoeEnv* aCoeEnv,
- CSendUiSingleton* aSingleton,
- RPointerArray<CSendingServiceInfo>& aServiceList );
-
-private:
-
- /**
- * Not own.
- */
- CCoeEnv* iCoeEnv;
-
- /**
- * Timer for updater. HandleUpdateSendListL can not be called directly from ConstructL,
- * so HandleUpdateSendListL call is requested after construction with timer.
- *
- * Own.
- */
- CIdle* iIdle;
- };
-
-#endif // C_CSENDUIAPPUI_H
--- a/messagingfw/senduiservices/serviceresolver/inc/senduisrdoc.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +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: Document class for SendUi service resolver
-*
-*/
-
-
-
-
-
-#ifndef C_CSENDUISRDOC_H
-#define C_CSENDUISRDOC_H
-
-
-#include <AknDoc.h>
-#include <ConeResLoader.h>
-
-// forward declarations
-class CSendUiSrAppUi;
-class CEikApplication;
-
-/**
- * Document class for SendUiServiceResolver application
- *
- * An instance of class CSendUiSrDocument is the Document part of the AVKON
- * application framework for the SendUiServiceResolver application
- * @since S60 v3.2
- */
-class CSendUiSrDocument : public CAknDocument
- {
-
-public:
-
- static CSendUiSrDocument* NewL(CEikApplication& aApp);
-
- static CSendUiSrDocument* NewLC(CEikApplication& aApp);
-
- virtual ~CSendUiSrDocument();
-
-// from base class CAknDocument
-
- /**
- * From CAknDocument.
- * Create new AppUi
- *
- * @since S60 v3.2
- * @return Reference to new AppUi.
- */
- CEikAppUi* CreateAppUiL();
-
-private:
-
- CSendUiSrDocument(CEikApplication& aApp);
-
- void ConstructL();
-
- /**
- * Create new AppUi
- *
- * @since S60 v3.2
- * @return Reference to new AppUi.
- */
- void HandleUpdateSendList();
-
- /**
- * Hides task name from fast swap window
- *
- * @since S60 v3.2
- * @param aWgName Reference to a new window group name
- */
- void UpdateTaskNameL(CApaWindowGroupName* aWgName);
-
- };
-
-
-#endif // C_CSENDUIDOC_H
--- a/messagingfw/senduiservices/serviceresolver/src/senduisr.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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: Resolves sending service information and stores it to
-* Central Repository.
-*
-*/
-
-
-#include <eikstart.h>
-#include "senduisrapp.h"
-
-// ======== GLOBAL FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// Constructs and returns an application object.
-// ---------------------------------------------------------------------------
-//
-CApaApplication* NewApplication()
- {
- return new CSendUiSrApp;
- }
-
-// ---------------------------------------------------------------------------
-// Main function of the application executable.
-// ---------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
--- a/messagingfw/senduiservices/serviceresolver/src/senduisrapp.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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: Resolves sending service information and stores it to
-* Central Repository.
-*
-*/
-
-
-
-#include "senduisrapp.h"
-#include "senduisrdoc.h"
-
-static const TUid KUidSendUiSrApp = {0x102823b5};
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CSendUiSrApp::CreateDocumentL()
- {
- // Create an SendUiSr document, and return a pointer to it
- CApaDocument* document = CSendUiSrDocument::NewL(*this);
- return document;
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TUid CSendUiSrApp::AppDllUid() const
- {
- // Return the UID for the SendUiSr application
- return KUidSendUiSrApp;
- }
--- a/messagingfw/senduiservices/serviceresolver/src/senduisrappui.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +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: Resolves sending service information and stores it to
-* Central Repository.
-*
-*/
-
-
-
-#include <e32property.h>
-#include <e32cmn.h>
-#include <apgwgnam.h>
-#include <mtclreg.h> // CClientMtmRegistry
-#include <SendUiConsts.h>
-#include <CSendingService.h>
-#include <CSendingServiceInfo.h>
-#include <SendingServiceInterfaceUids.hrh>
-
-#include <CSendingServiceInfo.h>
-#include <TSendingCapabilities.h>
-#include "centralrepository.h"
-#include "senduisrappui.h"
-#include "SendUiPrivateCRKeys.h"
-#include "senduiproperty.h"
-#include "senduiserviceslog.h" // Logging
-#include <senduisingleton.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CSendUiSrAppUi::CSendUiSrAppUi() :
- iCoeEnv( CCoeEnv::Static() )
- {
- SetFullScreenApp(EFalse); // disable possible transition effects
- }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CSendUiSrAppUi::ConstructL()
- {
- BaseConstructL(ENoAppResourceFile);
-
- HideApplicationFromFSW( ETrue ); // hide from Fast Swap Window
-
- TApaTask task(iEikonEnv->WsSession());
- task.SetWgId(iEikonEnv->RootWin().Identifier());
- task.SendToBackground();
-
- iIdle = CIdle::NewL( CActive::EPriorityIdle );
- iIdle->Start( TCallBack(UpdateTask, this ));
- }
-
-TInt CSendUiSrAppUi::UpdateTask( TAny* aThis )
- {
- CSendUiSrAppUi* appUi = static_cast<CSendUiSrAppUi*>( aThis );
-
- TRAPD( err, appUi->HandleUpdateSendListL() );
-
- if ( err )
- {
-#ifdef _DEBUG
- TBuf<256> buf;
- buf.Format(_L("SendUi err"));
- User::InfoPrint(buf);
- LOGTEXT2(_L("SendUiServiceResolver: Error %d while loading CenRep."), err );
-#endif
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateOperation,
- KSendUiUpdateOperationDone );
-
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateRequest,
- KSendUiNotInitialized );
- }
-
- appUi->Exit();
- return KErrNone;
- }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSendUiSrAppUi::~CSendUiSrAppUi()
- {
- delete iIdle;
- }
-
-// ---------------------------------------------------------------------------
-// HandleUpdateSendListL
-// ---------------------------------------------------------------------------
-//
-void CSendUiSrAppUi::HandleUpdateSendListL()
- {
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateOperation,
- KSendUiUpdateOperationRunning );
-
- CRepository* myRep = CRepository::NewLC( KCRUidSendUi );
- LOGTEXT(_L("SendUiSr: Repository created."));
-
- // KErrNotFound indicates undefined repository state and services are re-read by Watcher
- // in boot, if this update fails. The correct language value is set when update completes
- // succesfully.
- TInt result = myRep->Set( KKeySendUiServiceLanguage, KErrNotFound );
-
- LOGTEXT(_L("SendUiSr: Service Manager created."));
- RPointerArray<CSendingServiceInfo> servicesArray;
- RPointerArray<CSendingService> serviceProviders;
-
- PopulateServicesListL( servicesArray, serviceProviders, iCoeEnv );
-
- TSendingCapabilities serviceCapabilities;
-
- // cleaning old and storing new sending service values to Central Repository
- // is done in one transaction.
- result += myRep->StartTransaction( CRepository::EConcurrentReadWriteTransaction );
-
- if ( result != KErrNone )
- {
- servicesArray.Close();
- CleanupStack::PopAndDestroy( myRep );
- return;
- }
- else
- {
- ClearPluginListL( myRep );
- }
-
- TInt i(0);
- TInt err(0);
- for ( i = 0; i < servicesArray.Count(); i++)
- {
- // Store to Central Repository: uid, providerId, name, menuname, capabilities,
- // technologytype, messagesize, flags and serviceFeatures
- err += AddSendingService(
- myRep,
- i,
- servicesArray[i]->ServiceId(),
- servicesArray[i]->ServiceProviderId(),
- servicesArray[i]->TechnologyTypeId(),
- servicesArray[i]->ServiceFeatures(),
- servicesArray[i]->ServiceCapabilities(),
- servicesArray[i]->ServiceName().Left( KSendUiServiceMaxNameLength ),
- servicesArray[i]->ServiceMenuName().Left( KSendUiServiceMaxNameLength ),
- servicesArray[i]->ServiceAddress().Left( KSendUiServiceMaxNameLength ) );
- }
-
- err += myRep->Set( KKeySendUiServiceCount, servicesArray.Count() );
- err += myRep->Set( KKeySendUiServiceLanguage, (TInt)User::Language() );
-
- if ( err == KErrNone )
- {
- TUint32 keyInfo;
- myRep->CommitTransaction( keyInfo );
- }
-
- servicesArray.Close();
- serviceProviders.ResetAndDestroy();
- CleanupStack::PopAndDestroy( myRep ); // myRep
-
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateOperation,
- KSendUiUpdateOperationDone );
-
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateRequest,
- KSendUiUpdated );
-}
-
-// ---------------------------------------------------------------------------
-// AddSendingService
-// ---------------------------------------------------------------------------
-//
-TInt CSendUiSrAppUi::AddSendingService(
- CRepository* aRep,
- TUint aIndex,
- TUid aMtmUid,
- TUid aServiceProviderId,
- TUid aTechnologyType,
- TInt aFeatures,
- TSendingCapabilities aCapabilities,
- TPtrC aServiceName,
- TPtrC aServiceMenuName,
- TPtrC aServiceAddress )
- {
- // Cenrep stays in readble state during transaction
-
- aIndex = aIndex * KSendUiServiceIndex;
- // "collect" errors. Focus is in the existance of errors, not on any specific error.
- TInt err = aRep->Create( aIndex | KSendUiServiceId, (TInt)aMtmUid.iUid );
- err += aRep->Create( aIndex | KSendUiServiceProviderId, (TInt)aServiceProviderId.iUid );
-
- err += aRep->Create( aIndex | KSendUiServiceName, aServiceName );
- err += aRep->Create( aIndex | KSendUiServiceMenuName, aServiceMenuName );
- err += aRep->Create( aIndex | KSendUiServiceAddress, aServiceAddress );
-
- err += aRep->Create( aIndex | KSendUiServiceFlags, aCapabilities.iFlags );
- err += aRep->Create( aIndex | KSendUiServiceBodySize, aCapabilities.iBodySize );
- err += aRep->Create( aIndex | KSendUiServiceMessageSize, aCapabilities.iMessageSize );
- err += aRep->Create( aIndex | KSendUiServiceTechnologyType, (TInt)aTechnologyType.iUid );
- err += aRep->Create( aIndex | KSendUiServiceFeatures, aFeatures );
- LOGTEXT3(_L("SendUiServiceResolver: index %d, service %d"), aIndex, aMtmUid.iUid );
- if ( err != KErrNone )
- {
- LOGTEXT(_L("Error while creating Central Repository data.") );
- }
- return ( err != KErrNone );
- }
-
-// ---------------------------------------------------------------------------
-// ClearPluginListL
-// Deletes all service detail keys from the repository.
-// ---------------------------------------------------------------------------
-//
-void CSendUiSrAppUi::ClearPluginListL( CRepository* aRep )
- {
- TUint32 partialKey = 0x00000000;
- TUint32 keyMask = 0xFFFF0000; // 0, don't care mask
- RArray<TUint32> indexKeys;
- CleanupClosePushL( indexKeys );
-
- aRep->FindL( partialKey, keyMask, indexKeys );
-
- for (int i(0) ; i < indexKeys.Count(); i++)
- {
- aRep->Delete( indexKeys[ i ] );
- }
-
- CleanupStack::PopAndDestroy( &indexKeys );
- }
-
-// ---------------------------------------------------------------------------
-// From class CAknAppUi.
-// ---------------------------------------------------------------------------
-//
-void CSendUiSrAppUi::HandleCommandL(TInt /*aCommand*/)
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-CSendingService* CSendUiSrAppUi::LoadServiceL(
- TUid aServiceProviderUid,
- CCoeEnv* aCoeEnv,
- CSendUiSingleton* aSingleton,
- RPointerArray<CSendingServiceInfo>& aServiceList )
- {
- CSendingService* sendingService = CSendingService::NewL(
- aServiceProviderUid,
- *aCoeEnv,
- *aSingleton );
-
- if( sendingService )
- {
- CleanupStack::PushL( sendingService );
- sendingService->PopulateServicesListL( aServiceList );
- // if everything goes well, aServiceProviders will own this object soon enough
- CleanupStack::Pop( sendingService );
- }
- return sendingService;
- }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CSendUiSrAppUi::PopulateServicesListL(
- RPointerArray<CSendingServiceInfo>& aServiceList,
- RPointerArray<CSendingService>& aServiceProviders,
- CCoeEnv* aCoeEnv )
- {
- CSendUiSingleton* singleton = CSendUiSingleton::NewL();
- CleanupStack::PushL( singleton );
- aServiceList.Reset();
-
- RImplInfoPtrArray implInfoArray;
- RPointerArray<CSendingServiceInfo> services;
-
- REComSession::ListImplementationsL(
- TUid::Uid( KSendUiSendingServiceInterface ),implInfoArray);
-
- TInt serviceIndex(0);
- CSendingService* sendingService;
- while ( serviceIndex < implInfoArray.Count() )
- {
- sendingService = NULL;
- TUid serviceUid = (*implInfoArray[serviceIndex]).ImplementationUid();
- // If Ecom service loading fails, then just move on
- TRAPD( error, sendingService = LoadServiceL( serviceUid, aCoeEnv, singleton, services ) );
-
- if( sendingService && error == KErrNone )
- {
- aServiceProviders.AppendL( sendingService );
-
- for ( TInt index = 0; index < services.Count(); index++ )
- {
- aServiceList.Append( services[ index ] );
- }
- services.Reset();
-
- LOGTEXT2( _L("Provider %d creation SUCCESS."), serviceUid );
- }
- else
- {
- LOGTEXT3( _L("Provider %d creation FAILED. Error code: %d"), serviceUid, error );
- }
-
- serviceIndex++;
- }
- services.Close();
- implInfoArray.ResetAndDestroy();
- REComSession::FinalClose();
- CleanupStack::PopAndDestroy( singleton );
- }
-
-// end of file
-
--- a/messagingfw/senduiservices/serviceresolver/src/senduisrdoc.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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: Document class for SendUi service resolver
-*
-*/
-
-
-
-#include <centralrepository.h>
-#include <apgwgnam.h> //CApaWindowGroupName
-
-#include "senduisrappui.h"
-#include "senduisrdoc.h"
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CSendUiSrDocument::CSendUiSrDocument(CEikApplication& aApp) : CAknDocument(aApp)
- {
- // no implementation required
- }
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CSendUiSrDocument::ConstructL()
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CSendUiSrDocument* CSendUiSrDocument::NewL(CEikApplication& aApp)
- {
- CSendUiSrDocument* self = NewLC(aApp);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//
-CSendUiSrDocument* CSendUiSrDocument::NewLC(CEikApplication& aApp)
- {
- CSendUiSrDocument* self = new (ELeave) CSendUiSrDocument(aApp);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSendUiSrDocument::~CSendUiSrDocument()
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// From CAknDocument.
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CSendUiSrDocument::CreateAppUiL()
- {
- // Create the application user interface, and return a pointer to it,
- // the framework takes ownership of this object
-
- CEikAppUi* appUi = new(ELeave)CSendUiSrAppUi;
- return appUi;
- }
-
-// ---------------------------------------------------------------------------
-// From CAknDocument.
-// Hide application from the fast swap list.
-// ---------------------------------------------------------------------------
-//
-void CSendUiSrDocument::UpdateTaskNameL(CApaWindowGroupName* aWgName)
- {
- CAknDocument::UpdateTaskNameL(aWgName);
- aWgName->SetHidden(ETrue);
- }
-
--- a/messagingfw/senduiservices/src/CMessageAddress.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2002-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: Encapsulates message real address and alias.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <CMessageAddress.h>
-#include "MessageAddressImpl.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::CMessageAddress
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMessageAddress::CMessageAddress()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CMessageAddress::ConstructL()
- {
- iMessageAddressImpl = new ( ELeave ) CMessageAddressImpl();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMessageAddress* CMessageAddress::NewL()
- {
- CMessageAddress* self = CMessageAddress::NewLC();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::NewLC
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMessageAddress* CMessageAddress::NewLC()
- {
- CMessageAddress* self = new( ELeave ) CMessageAddress;
-
- CleanupStack::PushL( self );
- self->ConstructL( );
-
- return self;
- }
-
-
-// Destructor
-EXPORT_C CMessageAddress::~CMessageAddress()
- {
- delete iMessageAddressImpl;
- }
-
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::SetAddressL
-// Sets real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageAddress::SetAddressL( const TDesC& aAddress )
- {
- iMessageAddressImpl->SetAddressL( aAddress );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::Address
-// Returns real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TPtrC CMessageAddress::Address() const
- {
- return iMessageAddressImpl->Address();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::SetAliasL
-// Sets alias for real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageAddress::SetAliasL( const TDesC& aAlias )
- {
- iMessageAddressImpl->SetAliasL( aAlias );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::Alias
-// Returns the alias for the real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TPtrC CMessageAddress::Alias() const
- {
- return iMessageAddressImpl->Alias();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::ExternalizeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageAddress::ExternalizeL( RWriteStream& aStream )
- {
- iMessageAddressImpl->ExternalizeL( aStream );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddress::InternalizeL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageAddress::InternalizeL( RReadStream& aStream )
- {
- iMessageAddressImpl->InternalizeL( aStream );
- }
-
-// End of File
--- a/messagingfw/senduiservices/src/CMessageData.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* Copyright (c) 2002-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: Encapsulates the message data for sending services.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <SendUiConsts.h>
-#include <CMessageData.h>
-#include "CMessageDataImpl.h"
-#include "CSendUiAttachment.h"
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMessageData::CMessageData
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMessageData::CMessageData()
- : iDataType(KSenduiMsgDataBase)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::ConstructL()
- {
- iMessageDataImpl = CMessageDataImpl::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMessageData* CMessageData::NewL()
- {
- CMessageData* self = CMessageData::NewLC();
-
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CMessageData::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CMessageData* CMessageData::NewLC()
- {
- CMessageData* self = new (ELeave) CMessageData;
-
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-
-// Destructor
-EXPORT_C CMessageData::~CMessageData()
- {
- delete iMessageDataImpl;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::SetSubjectL
-// Set message subject.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::SetSubjectL( const TDesC* aSubject )
- {
- iMessageDataImpl->SetSubjectL( aSubject );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::Subject
-// Returns message subject.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TPtrC CMessageData::Subject() const
- {
- return iMessageDataImpl->Subject();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::AppendAttachmentL
-// Appends attachment file path to the array of attachment file paths.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::AppendAttachmentL( const TDesC& aFileName )
- {
- iMessageDataImpl->AppendAttachmentL( aFileName );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::AttachmentArray
-// Returns array of attachment file paths.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const CDesCArray& CMessageData::AttachmentArray() const
- {
- return iMessageDataImpl->AttachmentArray();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::ClearAttachmentArray
-// Clears the array of attachment file paths.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::ClearAttachmentArray()
- {
- iMessageDataImpl->ClearAttachmentArray();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::AppendToAddressL
-// Encapsulates address and alias to CMessageAddress and adds to array.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::AppendToAddressL(
- const TDesC& aAddress,
- const TDesC& aAlias)
- {
- iMessageDataImpl->AppendToAddressL( aAddress, aAlias );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::ToAddressArray
-// Returns array of addresses and aliases.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const CMessageAddressArray& CMessageData::ToAddressArray() const
- {
- return iMessageDataImpl->ToAddressArray();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::AppendCcAddressL
-// Encapsulates CC address and alias to CMessageAddress and adds to array.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::AppendCcAddressL(
- const TDesC& aCcAddress,
- const TDesC& aCcAlias)
- {
- iMessageDataImpl->AppendCcAddressL( aCcAddress, aCcAlias );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::CcAddressArray
-// Returns array of CC addresses and aliases.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const CMessageAddressArray& CMessageData::CcAddressArray() const
- {
- return iMessageDataImpl->CcAddressArray();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::AppendBccAddressL
-// Encapsulates Bcc address and alias to CMessageAddress and adds to array.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::AppendBccAddressL(
- const TDesC& aBccAddress,
- const TDesC& aBccAlias)
- {
- iMessageDataImpl->AppendBccAddressL( aBccAddress, aBccAlias );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::BccAddressArray
-// Returns array of Bcc addresses and aliases.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const CMessageAddressArray& CMessageData::BccAddressArray() const
- {
- return iMessageDataImpl->BccAddressArray();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::SetBodyTextL
-// Set message body text.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::SetBodyTextL( const CRichText* aBodyText )
- {
- iMessageDataImpl->SetBodyTextL( aBodyText );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::BodyText
-// Returns message body text.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const CRichText* CMessageData::BodyText() const
- {
- return iMessageDataImpl->BodyText();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::AppendAttachmentHandleL
-// Appends attachment handle to the array of attachment handles.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::AppendAttachmentHandleL( const RFile& aFileHandle )
- {
- iMessageDataImpl->AppendAttachmentHandleL( aFileHandle );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::AttachmentHandleArray
-// Returns array of attachment handles.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const RArray<RFile>& CMessageData::AttachmentHandleArray() const
- {
- return iMessageDataImpl->AttachmentHandleArray();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::DataType
-// Returns data type id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CMessageData::DataType() const
- {
- return iDataType;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageData::ClearAddresses
-// Clears all addressee arrays.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMessageData::ClearAddresses()
- {
- iMessageDataImpl->ClearAddresses();
- }
-
-// ---------------------------------------------------------
-// CMessageData::ExternalizeL
-//
-// ---------------------------------------------------------
-//
-EXPORT_C void CMessageData::ExternalizeL( RWriteStream& aStream ) const
- {
- iMessageDataImpl->ExternalizeL( aStream );
- }
-
-// ---------------------------------------------------------
-// CMessageData::InternalizeL
-//
-// ---------------------------------------------------------
-//
-EXPORT_C void CMessageData::InternalizeL( RReadStream& aStream )
- {
- iMessageDataImpl->InternalizeL( aStream );
- }
-
-// ---------------------------------------------------------
-// CMessageData::SetOpaqueDataL
-//
-// ---------------------------------------------------------
-//
-EXPORT_C void CMessageData::SetOpaqueDataL( const TDesC8* aData, TUid aDataType )
- {
- iMessageDataImpl->SetOpaqueDataL( aData );
- iDataType = aDataType;
- }
-
-// ---------------------------------------------------------
-// CMessageData::OpaqueData
-//
-// ---------------------------------------------------------
-//
-EXPORT_C const TPtrC8 CMessageData::OpaqueData() const
- {
- return iMessageDataImpl->OpaqueData();
- }
-
-
-// End of File
--- a/messagingfw/senduiservices/src/CMessageDataImpl.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,643 +0,0 @@
-/*
-* Copyright (c) 2002-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: Encapsulates the message data for sending services.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <s32file.h>
-#include <txtrich.h>
-#include <eikenv.h>
-#include <s32mem.h>
-#include <s32std.h>
-#include <msvstore.h>
-#include <SendUiConsts.h>
-
-#ifdef RD_MULTIPLE_DRIVE
-#include <driveinfo.h>
-#endif
-
-#include "CMessageDataImpl.h"
-#include "CSendUiAttachment.h"
-
-// CONSTANTS
-const TInt KMDArrayGranularity = 1;
-const TInt KMDRichTextStoreGranularity = 512;
-
-_LIT( KSenduiTempFile, ":\\system\\temp\\sendui\\%x_%x");
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::CMessageDataImpl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMessageDataImpl::CMessageDataImpl()
- : iDataType(KSenduiMsgDataBase)
- {
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::ConstructL()
- {
- iAttachments = new ( ELeave ) CDesCArrayFlat( KMDArrayGranularity );
- iToAddresses = new ( ELeave ) CMessageAddressArray( KMDArrayGranularity );
- iCcAddresses = new ( ELeave ) CMessageAddressArray( KMDArrayGranularity );
- iBccAddresses = new ( ELeave ) CMessageAddressArray( KMDArrayGranularity );
-
- CEikonEnv* eikonEnv = CEikonEnv::Static();
- iBodyText = CRichText::NewL( eikonEnv->SystemParaFormatLayerL(),
- eikonEnv->SystemCharFormatLayerL() );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMessageDataImpl* CMessageDataImpl::NewL()
- {
- CMessageDataImpl* self = CMessageDataImpl::NewLC();
-
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CMessageDataImpl* CMessageDataImpl::NewLC()
- {
- CMessageDataImpl* self = new (ELeave) CMessageDataImpl;
-
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-
-// Destructor
-CMessageDataImpl::~CMessageDataImpl()
- {
- TInt i = 0;
-
- delete iSubject;
- delete iAttachments;
- delete iBodyText;
- delete iOpaqueData;
-
- if ( iToAddresses )
- {
- iToAddresses->ResetAndDestroy();
- delete iToAddresses;
- }
-
- if ( iCcAddresses )
- {
- iCcAddresses->ResetAndDestroy();
- delete iCcAddresses;
- }
-
- if ( iBccAddresses )
- {
- iBccAddresses->ResetAndDestroy();
- delete iBccAddresses;
- }
-
- for (i = 0; i < iAttachmentHandles.Count(); i++)
- {
- iAttachmentHandles[i].Close();
- }
- iAttachmentHandles.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::SetSubjectL
-// Set message subject.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::SetSubjectL( const TDesC* aSubject )
- {
- delete iSubject;
- iSubject = NULL;
-
- if ( aSubject )
- {
- iSubject = aSubject->AllocL();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::Subject
-// Returns message subject.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TPtrC CMessageDataImpl::Subject() const
- {
- return iSubject ? TPtrC( *iSubject ) : TPtrC();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::AppendAttachmentL
-// Appends attachment file path to the array of attachment file paths.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::AppendAttachmentL( const TDesC& aFileName )
- {
- iAttachments->AppendL( aFileName );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::AttachmentArray
-// Returns array of attachment file paths.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const CDesCArray& CMessageDataImpl::AttachmentArray() const
- {
- return *iAttachments;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::ClearAttachmentArray
-// Clears the array of attachment file paths.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::ClearAttachmentArray()
- {
- TInt i( iAttachmentHandles.Count() );
- iAttachments->Reset();
-
- while( i-- )
- {
- iAttachmentHandles[i].Close();
- }
- iAttachmentHandles.Reset();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::AppendToAddressL
-// Encapsulates address and alias to CMessageAddress and adds to array.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::AppendToAddressL(
- const TDesC& aAddress,
- const TDesC& aAlias)
- {
- CMessageAddress* messageAddress = CMessageAddress::NewLC();
-
- messageAddress->SetAddressL( aAddress );
- messageAddress->SetAliasL( aAlias );
-
- iToAddresses->AppendL( messageAddress );
-
- CleanupStack::Pop( messageAddress );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::ToAddressArray
-// Returns array of addresses and aliases.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const CMessageAddressArray& CMessageDataImpl::ToAddressArray() const
- {
- return *iToAddresses;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::AppendCcAddressL
-// Encapsulates CC address and alias to CMessageAddress and adds to array.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::AppendCcAddressL(
- const TDesC& aCcAddress,
- const TDesC& aCcAlias)
- {
- CMessageAddress* messageAddress = CMessageAddress::NewLC();
-
- messageAddress->SetAddressL( aCcAddress );
- messageAddress->SetAliasL( aCcAlias );
-
- iCcAddresses->AppendL( messageAddress );
-
- CleanupStack::Pop( messageAddress );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::CcAddressArray
-// Returns array of CC addresses and aliases.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const CMessageAddressArray& CMessageDataImpl::CcAddressArray() const
- {
- return *iCcAddresses;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::AppendBccAddressL
-// Encapsulates Bcc address and alias to CMessageAddress and adds to array.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::AppendBccAddressL(
- const TDesC& aBccAddress,
- const TDesC& aBccAlias)
- {
- CMessageAddress* messageAddress = CMessageAddress::NewLC();
-
- messageAddress->SetAddressL( aBccAddress );
- messageAddress->SetAliasL( aBccAlias );
-
- iBccAddresses->AppendL( messageAddress );
-
- CleanupStack::Pop( messageAddress );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::BccAddressArray
-// Returns array of Bcc addresses and aliases.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const CMessageAddressArray& CMessageDataImpl::BccAddressArray() const
- {
- return *iBccAddresses;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::SetBodyTextL
-// Set message body text.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::SetBodyTextL( const CRichText* aBodyText )
- {
- iBodyText->Reset();
-
- if ( aBodyText )
- {
- // Save and restore the rich text object
- CStreamStore* store = CBufStore::NewLC( KMDRichTextStoreGranularity );
-
- TStreamId id = aBodyText->StoreL( *store );
- iBodyText->RestoreL( *store, id );
-
- CleanupStack::PopAndDestroy( store );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::BodyText
-// Returns message body text.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const CRichText* CMessageDataImpl::BodyText() const
- {
- return iBodyText;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::AppendAttachmentHandleL
-// Appends attachment handle to the array of attachment handles.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::AppendAttachmentHandleL( const RFile& aFileHandle )
- {
- if ( !aFileHandle.SubSessionHandle() )
- {
- User::Leave( KErrBadHandle );
- }
- RFile tempHandle;
- tempHandle.Duplicate( aFileHandle );
- CleanupClosePushL( tempHandle );
- iAttachmentHandles.AppendL( tempHandle );
- CleanupStack::Pop( );
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::AttachmentHandleArray
-// Returns array of attachment handles.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const RArray<RFile>& CMessageDataImpl::AttachmentHandleArray() const
- {
- return iAttachmentHandles;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::DataType
-// Returns data type id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TUid CMessageDataImpl::DataType() const
- {
- return iDataType;
- }
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::ClearAddresses
-// Clears all addressee arrays.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageDataImpl::ClearAddresses()
- {
- iToAddresses->ResetAndDestroy();
- iCcAddresses->ResetAndDestroy();
- iBccAddresses->ResetAndDestroy();
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::ExternalizeL
-//
-// ---------------------------------------------------------
-//
-void CMessageDataImpl::ExternalizeL( RWriteStream& aStream ) const
- {
- aStream.WriteUint32L( iDataType.iUid );
-
- TInt length(0);
- if ( iSubject )
- {
- length = iSubject->Length();
- }
- aStream.WriteUint32L( length);
-
- if ( length > 0)
- {
- aStream << iSubject->Des();
- }
-
- // Store text to a file store
-
- length = 0;
-
- if ( iBodyText->DocumentLength() > 0 )
- {
- TStreamId streamId(0);
-
- RFs& fs = CCoeEnv::Static()->FsSession();
- CFileStore* theStore;
- TParse fileStoreName;
-
- HBufC* filenameBuf = HBufC::NewLC(KMaxFileName);
- TPtr fileName = filenameBuf->Des();
-
- CreateTempPathL( fileName, fs );
-
- length = fileName.Length();
- aStream.WriteUint32L( length );
- if (length)
- {
- aStream << fileName; // write temporary filename
- }
-
- theStore = CDirectFileStore::ReplaceLC
- ( fs, fileName, EFileRead|EFileWrite );
- theStore->SetTypeL( KDirectFileStoreLayoutUid );
- // externalize the rich text
- streamId = iBodyText->StoreL( *theStore ); // Store and get ID
- CleanupStack::PopAndDestroy( 2, filenameBuf ); // pop and destroy store, filenameBuf
- aStream << streamId;
- }
- else
- {
- aStream.WriteUint32L( 0 ); // no file storage
- }
-
- TUint32 count = iAttachments->Count();
- aStream << count; // compressed value
- for ( TInt ii = 0; ii < count; ++ii )
- {
- TPtrC16 text = iAttachments->MdcaPoint(ii);
-
- aStream.WriteUint32L( text.Length() );
- aStream << text ;
- }
-
- ExternalizeArrayL( iToAddresses, aStream );
- ExternalizeArrayL( iBccAddresses, aStream );
- ExternalizeArrayL( iCcAddresses, aStream );
-
- // Opaque data
- length = 0;
- if ( iOpaqueData )
- {
- length = iOpaqueData->Length();
- }
- aStream.WriteUint32L( length );
- if ( length > 0 )
- {
- aStream << iOpaqueData->Des();
- }
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::InternalizeL
-//
-// ---------------------------------------------------------
-//
-void CMessageDataImpl::InternalizeL( RReadStream& aStream )
- {
- TUint32 tmpVal;
- tmpVal = aStream.ReadUint32L( );
- iDataType = TUid::Uid( tmpVal );
-
- tmpVal = aStream.ReadInt32L( );
- if ( tmpVal )
- {
- iSubject = HBufC::NewL( aStream, tmpVal );
- }
-
- // something in filestorage
- tmpVal = aStream.ReadInt32L( );
- if (tmpVal)
- {
- HBufC* fileName = HBufC::NewLC( aStream, tmpVal );
-
- TStreamId streamId;
- aStream >> streamId;
-
- // Restore text from file store
- RFs& fs = CCoeEnv::Static()->FsSession();
- CFileStore* theStore;
-
- theStore = CDirectFileStore::OpenLC(
- fs,
- fileName->Des(),
- EFileRead|EFileShareReadersOnly );
-
- if (theStore->Type()[0]!= KDirectFileStoreLayoutUid )
- {
- User::Leave( KErrUnknown );
- }
- // internalize from the store
- iBodyText->RestoreL( *theStore, streamId );
- CleanupStack::PopAndDestroy( theStore ); // store
- fs.Delete( *fileName );
- CleanupStack::PopAndDestroy( fileName );
- }
-
-
- // Filepath attachments
- TInt count = aStream.ReadUint32L( );
- HBufC16* buf;
- for ( TInt ii = 0; ii < count; ++ii )
- {
- tmpVal = aStream.ReadUint32L( ); // string length
- buf = HBufC16::NewLC( aStream, tmpVal );
- iAttachments->AppendL( *buf );
- CleanupStack::PopAndDestroy( buf );
- }
-
- InternalizeArrayL( iToAddresses, aStream );
- InternalizeArrayL( iBccAddresses, aStream );
- InternalizeArrayL( iCcAddresses, aStream );
-
- tmpVal = aStream.ReadInt32L( );
- if ( tmpVal )
- {
- iOpaqueData = HBufC8::NewL( aStream, tmpVal );
- }
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::ExternalizeArrayL
-//
-// ---------------------------------------------------------
-//
-void CMessageDataImpl::ExternalizeArrayL(
- CMessageAddressArray* anArray,
- RWriteStream& aStream ) const
- {
-
- TInt count = anArray->Count();
- aStream.WriteUint32L( count ); // compressed value
- for ( TInt ii = 0; ii < count; ++ii )
- {
- anArray->At(ii)->ExternalizeL( aStream );
- }
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::InternalizeArrayL
-//
-// ---------------------------------------------------------
-//
-void CMessageDataImpl::InternalizeArrayL(
- CMessageAddressArray* anArray,
- RReadStream& aStream )
- {
- TInt count;
- count = aStream.ReadUint32L();
- anArray->Reset();
- for ( TInt ii = 0; ii < count; ++ii )
- {
- CMessageAddress* messageAddress = CMessageAddress::NewLC();
- messageAddress->InternalizeL( aStream );
- anArray->AppendL( messageAddress );
- CleanupStack::Pop( messageAddress );
- }
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::CreateTempPathL
-//
-// ---------------------------------------------------------
-//
-void CMessageDataImpl::CreateTempPathL( TDes16& aPath, RFs& aFs ) const
- {
- aPath.Zero();
-
- TInt drive = EDriveD;
-#ifdef RD_MULTIPLE_DRIVE
- User::LeaveIfError(
- DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRam, drive ) );
-#endif
- TChar driveChar;
- aFs.DriveToChar( drive, driveChar );
-
- aPath.Append( driveChar );
- aPath.Append( KSenduiTempFile );
-
- TTime time;
- time.UniversalTime();
-
- TFileName* tempDir = new (ELeave) TFileName();
- tempDir->Format(
- aPath ,
- I64HIGH( time.Int64() ),
- I64LOW( time.Int64() ) );
- aPath = *tempDir;
- delete tempDir;
-
- TInt err = aFs.MkDirAll( aPath );
- if ( err && err != KErrAlreadyExists )
- {
- User::Leave( err );
- }
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::SetOpaqueDataL
-//
-// ---------------------------------------------------------
-//
-void CMessageDataImpl::SetOpaqueDataL( const TDesC8* aData )
- {
- delete iOpaqueData;
- iOpaqueData = NULL;
- if ( aData )
- {
- iOpaqueData = aData->AllocL();
- }
- }
-
-// ---------------------------------------------------------
-// CMessageDataImpl::OpaqueData
-//
-// ---------------------------------------------------------
-//
-const TPtrC8 CMessageDataImpl::OpaqueData() const
- {
- return iOpaqueData ? TPtrC8( *iOpaqueData ) : TPtrC8();
- }
-
-
-
-// End of File
--- a/messagingfw/senduiservices/src/CSendingService.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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: CSendingService implementation.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <ecom.h>
-#include <CSendingService.h>
-#include <CMessageData.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendingService::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendingService* CSendingService::NewL(
- const TUid& aImplementationUid,
- CCoeEnv& aCoeEnv,
- CSendUiSingleton& aSingleton )
- {
- // Get the instantiation
- TSendingServiceParams params( aCoeEnv, aSingleton );
- CSendingService* sendingService =
- REINTERPRET_CAST(
- CSendingService*, REComSession::CreateImplementationL(
- aImplementationUid,
- _FOFF(CSendingService, iDtor_ID_Key),
- ¶ms )
- );
-
- return sendingService;
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendingService::~CSendingService()
- {
- REComSession::DestroyedImplementation(iDtor_ID_Key);
- }
-
-// -----------------------------------------------------------------------------
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendingService::CSendingService( CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton )
- : iCoeEnv( aCoeEnv ),
- iSingleton( aSingleton )
- {
- }
-
-// End of File
--- a/messagingfw/senduiservices/src/CSendingServiceInfo.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
-* Copyright (c) 2002-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: Encapsulates the ECom plugged sending service data.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <CSendingServiceInfo.h>
-#include "SendingServiceInfoImpl.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::CSendingServiceInfo
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendingServiceInfo::CSendingServiceInfo()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSendingServiceInfo::ConstructL()
- {
- iServiceInfoImpl = CSendingServiceInfoImpl::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendingServiceInfo* CSendingServiceInfo::NewL()
- {
- CSendingServiceInfo* self = CSendingServiceInfo::NewLC();
-
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CSendingServiceInfo::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CSendingServiceInfo* CSendingServiceInfo::NewLC()
- {
- CSendingServiceInfo* self = new (ELeave) CSendingServiceInfo;
-
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-
-// Destructor
-EXPORT_C CSendingServiceInfo::~CSendingServiceInfo()
- {
- delete iServiceInfoImpl;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::CopyLC
-// Creates a copy of CSendingServiceInfo object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendingServiceInfo* CSendingServiceInfo::CopyLC() const
- {
- CSendingServiceInfo* serviceInfo = new(ELeave)CSendingServiceInfo;
- CleanupStack::PushL( serviceInfo );
-
- serviceInfo->iServiceInfoImpl = iServiceInfoImpl->CopyL();
-
- return serviceInfo;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::SetServiceNameL
-// Sets service human readable name.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetServiceNameL( const TDesC& aServiceName )
- {
- iServiceInfoImpl->SetServiceNameL( aServiceName );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceName
-// Returns service human readable name.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TPtrC CSendingServiceInfo::ServiceName() const
- {
- return iServiceInfoImpl->ServiceName();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::SetServiceMenuNameL
-// Sets service human readable name for the "Send"-menu.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetServiceMenuNameL(
- const TDesC& aServiceMenuName )
- {
- iServiceInfoImpl->SetServiceMenuNameL( aServiceMenuName );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceMenuName
-// Returns service human readable name for the "Send"-menu.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TPtrC CSendingServiceInfo::ServiceMenuName() const
- {
- return iServiceInfoImpl->ServiceMenuName();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::SetServiceAddressL
-// Sets service address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetServiceAddressL(
- const TDesC& aServiceAddress )
- {
- iServiceInfoImpl->SetServiceAddressL( aServiceAddress );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceAddress
-// Returns service address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TPtrC CSendingServiceInfo::ServiceAddress() const
- {
- return iServiceInfoImpl->ServiceAddress();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::SetServiceId
-// Sets service id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetServiceId( TUid aServiceId )
- {
- iServiceInfoImpl->SetServiceId( aServiceId );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceId
-// Returns service id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CSendingServiceInfo::ServiceId() const
- {
- return iServiceInfoImpl->ServiceId();
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceId
-// Returns service id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetTechnologyTypeId( TUid aTechnologyType )
- {
- return iServiceInfoImpl->SetTechnologyTypeId( aTechnologyType );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceId
-// Returns service id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CSendingServiceInfo::TechnologyTypeId() const
- {
- return iServiceInfoImpl->TechnologyTypeId();
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::SetServiceProviderId
-// Sets service provider id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetServiceProviderId( TUid aServiceProviderId )
- {
- iServiceInfoImpl->SetServiceProviderId( aServiceProviderId );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceProviderId
-// Returns service provider id.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CSendingServiceInfo::ServiceProviderId() const
- {
- return iServiceInfoImpl->ServiceProviderId();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::SetServiceCapabilities
-// Set service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetServiceCapabilities(
- TSendingCapabilities aServiceCapabilities )
- {
- iServiceInfoImpl->SetServiceCapabilities( aServiceCapabilities );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceCapabilities
-// Returns service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TSendingCapabilities CSendingServiceInfo::ServiceCapabilities() const
- {
- return iServiceInfoImpl->ServiceCapabilities();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::SetServiceCapabilities
-// Set service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendingServiceInfo::SetServiceFeatures(
- TInt aServiceFeatures )
- {
- iServiceInfoImpl->SetServiceFeatures( aServiceFeatures );
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfo::ServiceCapabilities
-// Returns service sending capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CSendingServiceInfo::ServiceFeatures() const
- {
- return iServiceInfoImpl->ServiceFeatures();
- }
-// End of File
--- a/messagingfw/senduiservices/src/MessageAddressImpl.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
-* Encapsulates message real address and alias.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include "MessageAddressImpl.h"
-#include <msvstore.h>
-#include <sendui.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMessageDataImpl::CMessageAddressImpl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMessageAddressImpl::CMessageAddressImpl()
- {
- }
-
-// Destructor
-CMessageAddressImpl::~CMessageAddressImpl()
- {
- delete iRealAddress;
- delete iAlias;
- }
-
-
-// -----------------------------------------------------------------------------
-// CMessageAddressImpl::SetAddressL
-// Sets real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageAddressImpl::SetAddressL( const TDesC& aAddress )
- {
- delete iRealAddress;
- iRealAddress = NULL;
- iRealAddress = aAddress.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddressImpl::SetAliasL
-// Sets alias for real address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CMessageAddressImpl::SetAliasL( const TDesC& aAlias )
- {
- delete iAlias;
- iAlias = NULL;
- iAlias = aAlias.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddressImpl::ExternalizeL
-// -----------------------------------------------------------------------------
-//
-void CMessageAddressImpl::ExternalizeL( RWriteStream& aStream ) const
- {
- TInt length(0);
-
- if (iAlias)
- {
- length = iAlias->Length();
- }
-
- aStream.WriteUint32L( length );
-
- if ( length )
- {
- aStream << iAlias->Des();
- }
-
- if (iRealAddress)
- {
- length = iRealAddress->Length();
- }
- else
- {
- length = 0;
- }
-
- aStream.WriteUint32L( length );
-
- if ( length )
- {
- aStream << iRealAddress->Des();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CMessageAddressImpl::InternalizeL
-// -----------------------------------------------------------------------------
-//
-void CMessageAddressImpl::InternalizeL( RReadStream& aStream )
- {
- if ( aStream.ReadUint32L( ) )
- {
- iAlias = NULL;
- iAlias = HBufC::NewL(aStream, KMaxLength);
- }
-
- if ( aStream.ReadUint32L( ) )
- {
- iRealAddress = NULL;
- iRealAddress = HBufC::NewL( aStream, KMaxLength );
- }
- }
-
-// End of File
--- a/messagingfw/senduiservices/src/SendUi.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-* Copyright (c) 2002-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: Can be used to show "Send" list query and to create and send
-* messages via available sending services. Created messages are
-* sent directly or message editor is opened for editing,
-* depending on the type of the selected service.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <sendui.h>
-#include "SendUiImpl.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUi::CSendUi
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUi::CSendUi()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSendUi::ConstructL()
- {
- iSendUiImpl = CSendUiImpl::NewL();
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUi* CSendUi::NewL()
- {
- CSendUi* self = CSendUi::NewLC();
-
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CSendUi::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CSendUi* CSendUi::NewLC()
- {
- CSendUi* self = new (ELeave) CSendUi;
-
- CleanupStack::PushL( self );
- self->ConstructL();
-
- return self;
- }
-
-// Destructor
-EXPORT_C CSendUi::~CSendUi()
- {
- delete iSendUiImpl;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::AddSendMenuItemL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::AddSendMenuItemL(
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities )
- {
- iSendUiImpl->AddTypedMenuItemL(
- ESendMenu,
- aMenuPane,
- aIndex,
- aCommandId,
- aRequiredCapabilities);
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::ShowQueryAndSendL
-// First shows "Send" pop-up list query and then creates the message.
-// Editor is launched for editing the message or the message is sent
-// directly without opening the editor. Functionality depends on the
-// type of selected sending service.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::ShowQueryAndSendL(
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities,
- CArrayFix<TUid>* aServicesToDim,
- TUid /*aBioTypeUid*/,
- TBool aLaunchEditorEmbedded,
- const TDesC& aTitleText )
- {
- iSendUiImpl->ShowTypedQueryAndSendL(
- ESendMenu,
- aMessageData,
- aRequiredCapabilities,
- aServicesToDim,
- aLaunchEditorEmbedded,
- aTitleText );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::ShowSendQueryL
-// Shows "Send" pop-up list query and returns the user selection.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CSendUi::ShowSendQueryL(
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities,
- CArrayFix<TUid>* aServicesToDim,
- const TDesC& aTitleText )
- {
- return iSendUiImpl->ShowTypedQueryL(
- ESendMenu,
- aMessageData,
- aRequiredCapabilities,
- aServicesToDim,
- aTitleText );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::CreateAndSendMessageL
-// Creates the message and launches the editor for editing the message
-// or sends the message directly without opening the editor.
-// Functionality depends on the type of selected sending service.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::CreateAndSendMessageL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TUid /*aBioTypeUid*/,
- TBool aLaunchEditorEmbedded )
- {
- iSendUiImpl->CreateAndSendMessageL(
- aServiceUid,
- aMessageData,
- aLaunchEditorEmbedded );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::ValidateServiceL
-// Validates that service is available and has required capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CSendUi::ValidateServiceL(
- TUid aServiceUid,
- TSendingCapabilities aRequiredCapabilities )
- {
- return iSendUiImpl->QueryCapabilities(
- iSendUiImpl->ResolveServiceIndex( aServiceUid ),
- aRequiredCapabilities );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::ServiceCapabilitiesL
-// Returns sending capabilities of the sending service.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CSendUi::ServiceCapabilitiesL(
- TUid aServiceUid,
- TSendingCapabilities& aServiceCapabilities )
- {
- return iSendUiImpl->ServiceCapabilities(
- aServiceUid, aServiceCapabilities );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::CanSendBioMessage
-// Can be used to check if sending of bio message is supported.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CSendUi::CanSendBioMessage( TUid /*aBioMessageUid*/ ) const
- {
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::AvailableServicesL
-// Populates given list with the information about services
-// provided by specified ECom service provider.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::AvailableServicesL(
- RPointerArray<CSendingServiceInfo>& aServiceList,
- TUid aServiceProvider)
- {
- iSendUiImpl->AvailableServicesL( aServiceList, aServiceProvider );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::AddTypedMenuItemL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::AddTypedMenuItemL(
- TSendUiMenuType aMenuType,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities )
- {
- iSendUiImpl->AddTypedMenuItemL(
- aMenuType,
- aMenuPane,
- aIndex,
- aCommandId,
- aRequiredCapabilities);
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::ShowTypedQueryAndSendL
-// First shows list query and then creates the message.
-// Editor is launched for editing the message or the message is sent
-// directly without opening the editor. Functionality depends on the
-// type of selected sending service.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::ShowTypedQueryAndSendL(
- TSendUiMenuType aMenuType,
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities,
- CArrayFix<TUid>* aServicesToDim,
- TUid /*aBioTypeUid*/,
- TBool aLaunchEditorEmbedded,
- const TDesC& aTitleText )
- {
- iSendUiImpl->ShowTypedQueryAndSendL(
- aMenuType,
- aMessageData,
- aRequiredCapabilities,
- aServicesToDim,
- aLaunchEditorEmbedded,
- aTitleText );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::ShowTypedQueryL
-// Shows list query and returns the user selection.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CSendUi::ShowTypedQueryL(
- TSendUiMenuType aMenuType,
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities,
- CArrayFix<TUid>* aServicesToDim,
- const TDesC& aTitleText )
- {
- return iSendUiImpl->ShowTypedQueryL(
- aMenuType,
- aMessageData,
- aRequiredCapabilities,
- aServicesToDim,
- aTitleText );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::TechnologyType
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUid CSendUi::TechnologyType( TUid aServiceUid ) const
- {
- return iSendUiImpl->TechnologyType( aServiceUid );
- }
-
-// -----------------------------------------------------------------------------
-// CSendUi::AddSendMenuItemToMenuPaneL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::AddSendMenuItemToMenuPaneL(
- TBool& aResult,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities)
- {
- iSendUiImpl->AddTypedMenuItemToMenuPaneL(
- aResult,
- ESendMenu,
- aMenuPane,
- aIndex,
- aCommandId,
- aRequiredCapabilities
- );
- }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
-
--- a/messagingfw/senduiservices/src/SendUiCapabilityCheck.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2002-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: Utility class for SendUI.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <s32mem.h>
-#include <e32base.h>
-#include <mtclbase.h>
-#include <tmsvpackednotifierrequest.h>
-
-#include "SendUiCapabilityCheck.h"
-
-// CONSTANTS
-const TUid KSendUiNotifierPluginUid = {0x10282895};
-const TInt32 KSendUiServiceMaxNameLength = 40; // original defined in SendUIPrivateCRKeys.h
-const TInt32 KSendUiNotifierBufferSize = KSendUiServiceMaxNameLength + sizeof(TUint32);
-
-typedef TBuf8<KSendUiNotifierBufferSize> TTransferBuf;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUiCapabilityCheck:CSendUiCapabilityCheck
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiCapabilityCheck::CSendUiCapabilityCheck()
- : CActive( EPriorityStandard )
- {
- CActiveScheduler::Add( this );
- iNotifierUid = KSendUiNotifierPluginUid;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiCapabilityCheck::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSendUiCapabilityCheck* CSendUiCapabilityCheck::NewLC()
- {
- CSendUiCapabilityCheck* self = new (ELeave) CSendUiCapabilityCheck();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiCapabilityCheck::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CSendUiCapabilityCheck::ConstructL()
- {
- User::LeaveIfError( iNotifier.Connect() );
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendUiCapabilityCheck::CheckCapabilitiesL
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiCapabilityCheck::CheckCapabilitiesL(
- const TSecurityInfo& aSecurityInfo,
- CMsvSession& aSession,
- const TUid aMtmType,
- const TDesC& aServiceName )
- {
- TBool capabilitiesOK = EFalse;
- // get required capabilities
- TCapabilitySet caps;
- aSession.GetMtmRequiredCapabilitiesL( aMtmType, caps );
-
- // check client capabilities with required capabilities
- if( aSecurityInfo.iCaps.HasCapabilities( caps ) )
- {
- capabilitiesOK = ETrue;
- }
- else
- {
- // compile a message buffer containing service name and service ID
- TInt nameLength = aServiceName.Length();
- CBufFlat* buffer = CBufFlat::NewL( nameLength + sizeof(TUint32) );
- CleanupStack::PushL( buffer );
-
- RBufWriteStream bufStream;
- bufStream.Open( *buffer );
- bufStream.WriteUint32L( nameLength );
-
- if ( nameLength )
- {
- bufStream << aServiceName;
- }
- bufStream.WriteUint32L( aSecurityInfo.iSecureId );
- bufStream.CommitL();
- bufStream.Close();
-
- TTransferBuf transferBuffer;
- buffer->Read( 0, transferBuffer, buffer->Size() );
- CleanupStack::PopAndDestroy( buffer );
-
- iNotifier.StartNotifierAndGetResponse( iStatus, iNotifierUid, transferBuffer, iNotifierResult );
- SetActive();
- iWait.Start();
-
- if ( iStatus == KErrNone )
- {
- capabilitiesOK = ETrue;
- }
- }
-
- return capabilitiesOK;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiCapabilityCheck::~CSendUiCapabilityCheck
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CSendUiCapabilityCheck::~CSendUiCapabilityCheck()
- {
- iNotifier.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiCapabilityCheck::RunL
-// -----------------------------------------------------------------------------
-//
-void CSendUiCapabilityCheck::RunL()
- {
- iWait.AsyncStop();
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiCapabilityCheck::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CSendUiCapabilityCheck::DoCancel()
- {
- iNotifier.NotifyCancel();
- }
-
-
-// End of File
--- a/messagingfw/senduiservices/src/SendUiDummyMtm.cpp Thu Aug 19 10:24:00 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: SendUiDummyMtm implementation
-*
-*/
-
-
-
-#include "SendUiDummyMtm.h"
-#include <mtclbase.h>
-
-CSendUiDummyMtm::CSendUiDummyMtm(
- CRegisteredMtmDll& aRegisteredMtmDll,
- CMsvSession& aSession ) :
- CBaseMtm( aRegisteredMtmDll, aSession )
- {
- }
--- a/messagingfw/senduiservices/src/SendUiImpl.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1428 +0,0 @@
-/*
-* Copyright (c) 2002-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: Can be used to show "Send" list query and to create and send
-* messages via available sending services. Created messages are
-* sent directly or message editor is opened for editing,
-* depending on the type of the selected service.
-*
-*/
-
-
-#include <coemain.h>
-#include <Sendnorm.rsg>
-#include <aknlistquerydialog.h>
-#include <eikmenup.h>
-#include <data_caging_path_literals.hrh>
-#include <DRMHelper.h>
-#include <centralrepository.h>
-#include <e32cmn.h> // Uid
-#include <e32property.h>
-#include <barsread.h>
-#include <akninputblock.h>
-#include <centralrepository.h>
-#include <miutset.h>
-#include <MessagingDomainCRKeys.h>
-#include <mtclreg.h>
-#include <mtudreg.h>
-
-// Features
-#include <featmgr.h>
-#include <bldvariant.hrh>
-#include <MsgMimeTypes.h>
-#include <CSendingServiceInfo.h>
-#include <CSendingService.h>
-#include <CMessageData.h>
-#include <SendUiConsts.h>
-#include <senduisingleton.h>
-
-#include "SendUiImpl.h"
-#include "senduiserviceclient.h"
-#include "SendUiCapabilityCheck.h"
-#include "SendUiUtils.h"
-#include "senduiserviceslog.h" // Logging
-#include "SendUiPrivateCRKeys.h"
-#include "senduiproperty.h"
-#include "propertyobserver.h"
-#include "senduilauncher.h"
-#include "SendUiInternalConsts.h"
-
-
-const TInt KArrayGranularity = 2;
-const TInt KSendUiServiceOrderArrayGranularity = 6;
-const TInt KTitleBufLength = 64;
-//Mail Tech Uid
-const TUid KMailTechnologyTypeUid = { 0x10001671 };
-//CMail Tech Uid
-#define KUidMsgTypeFsMtmVal 0x2001F406
-
-
-_LIT( KSendUiResourceFileName,"sendnorm.rsc" );
-
-// ======== MEMBER FUNCTIONS ========
-// -----------------------------------------------------------------------------
-// CSendUiImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSendUiImpl* CSendUiImpl::NewL()
- {
- CSendUiImpl* self = new( ELeave ) CSendUiImpl;
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CSendUiImpl::~CSendUiImpl()
- {
- iResourceLoader.Close();
- TInt count = iSendingServices.Count();
- while ( count )
- {
- delete iSendingServices[--count];
- }
- iSendingServices.Close();
- delete iSendUiServicesOrderArray;
- delete iServicesToDim;
- delete iPropertyObserver;
- delete iSingleton;
- }
-
-// -----------------------------------------------------------------------------
-// AddTypedMenuItemL
-//
-// No menu item is added, if services are not found. This can happen if asyncronous
-// sending service update is not yet finished.
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::AddTypedMenuItemL(
- CSendUi::TSendUiMenuType aMenuType,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities )
- {
- TInt i(0);
- TBool menuItemAdded = EFalse;
- TBuf<KTitleBufLength> menuItemName;
-
- // Read the resources
- aMenuType == CSendUi::ESendMenu ?
- i = R_SENDUI_MENUITEM_SEND :
- i = R_SENDUI_MENUITEM_WRITE; // CSendUi::EWriteMenu
-
- iCoeEnv->ReadResourceL( menuItemName, i );
-
- for ( i = 0; i < iSendingServices.Count(); i++ )
- {
- TUid serviceUid = iSendingServices[i]->ServiceId();
- if ( QueryCapabilities( i, aRequiredCapabilities ) )
- {
- CEikMenuPaneItem::SData data;
- data.iCascadeId = NULL;
- data.iText = menuItemName;
- data.iCommandId = aCommandId;
- data.iFlags = 0;
-
- if ( aIndex == aMenuPane.NumberOfItemsInPane() )
- {
- aMenuPane.AddMenuItemL( data );
- }
- else
- {
- aMenuPane.InsertMenuItemL( data, aIndex );
- }
-
- menuItemAdded = ETrue;
- break;
- }
- }
-
- // Hide menu item if sending is already in progress.
- if ( menuItemAdded )
- {
- aMenuPane.SetItemDimmed( aCommandId, iIsSending);
- }
- }
-
-// -----------------------------------------------------------------------------
-// ShowTypedQueryAndSendL
-// First shows list query and then creates the message.
-// Editor is launched for editing the message or the message is sent
-// directly without opening the editor. Functionality depends on the
-// type of selected sending service.
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::ShowTypedQueryAndSendL(
- CSendUi::TSendUiMenuType aMenuType,
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities,
- CArrayFix<TUid>* aServicesToDim,
- TBool aLaunchEditorEmbedded,
- const TDesC& aTitleText )
- {
- TUid serviceId = ShowTypedQueryL(
- aMenuType,
- aMessageData,
- aRequiredCapabilities,
- aServicesToDim,
- aTitleText );
-
- if ( serviceId != KNullUid )
- {
- // Process user selection.
- CreateAndSendMessageL(
- serviceId,
- aMessageData,
- aLaunchEditorEmbedded);
- }
- }
-
-// -----------------------------------------------------------------------------
-// ShowTypedQueryL
-// Shows list query and returns the user selection.
-// -----------------------------------------------------------------------------
-//
-TUid CSendUiImpl::ShowTypedQueryL(
- CSendUi::TSendUiMenuType aMenuType,
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities,
- CArrayFix<TUid>* aServicesToDim,
- const TDesC& aTitleText )
- {
- //validation of attachments is costly operation and hence better be done after showing services popup.
- // Implemented for CR # 401-1806 >>
- // This section to enable/disable features (supported by feature manager) at run time, is to be revised,
- // once an observer class is available from feature manager side to intimate about feature state
-
- CRepository* repository = CRepository::NewLC( KCRUidSendUi );
- TInt oldFeatures(0);
- TInt newFeatures(0);
- TBool updateNeeded( EFalse );
-
- if ( repository->Get( KKeySendUiFeatureManagerServices, oldFeatures ) != KErrNone )
- {
- updateNeeded = ETrue;
- }
- FeatureManager::InitializeLibL();
- FeatureStatus( KFeatureIdMmsPostcard, newFeatures, KSendUiPostcard );
- FeatureStatus( KFeatureIdAudioMessaging, newFeatures, KSendUiAudioMessage );
- FeatureStatus( KFeatureIdSenduiMmsUpload, newFeatures, KSendUiMmsUpload );
- FeatureManager::UnInitializeLib();
- if ( newFeatures != oldFeatures )
- {
- repository->Set( KKeySendUiFeatureManagerServices, newFeatures );
- updateNeeded = ETrue;
- }
-
- CleanupStack::PopAndDestroy( repository );
-
- RProperty propertyUpdateOperation;
- TRequestStatus status;
- if ( updateNeeded )
- {
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateRequest,
- KSendUiUpdateRequested );
- User::LeaveIfError( propertyUpdateOperation.Attach( KPSUidSendUiProperty, KSendUiUpdateRequest ));
- propertyUpdateOperation.Subscribe( status );
- User::WaitForRequest(status);
- TInt value = KErrNone;
- if(propertyUpdateOperation.Get( value ) !=KErrNotFound && value == KSendUiUpdated )
- {
- TRAPD( err, GetServicesL() );
- if ( err )
- {
-#ifdef _DEBUG
- TBuf<256> buf;
- buf.Format(_L("SendUi err"));
- User::InfoPrint(buf);
-#endif
- TUid serviceId( KNullUid );
- return serviceId;
- }
- }
- propertyUpdateOperation.Close();
- }
- // Implemented for CR # 401-1806 <<
- // List items for list query.
- CDesCArrayFlat* listItems = new (ELeave) CDesCArrayFlat( KArrayGranularity );
- CleanupStack::PushL( listItems);
-
- // This array is used to map user selection to correct service.
- CArrayFix<TUid>* listItemUids =
- new ( ELeave ) CArrayFixFlat<TUid>( KArrayGranularity );
- CleanupStack::PushL( listItemUids );
-
- iServicesToDim->Reset();
-
- TInt i = 0;
- if ( aServicesToDim )
- {
- for ( i = 0; i < aServicesToDim->Count(); i++ )
- {
- iServicesToDim->AppendL( (*aServicesToDim)[i] );
- }
- }
-
- // Get and filter ECom based services.
- FilterServicesL(
- *listItems,
- *listItemUids,
- aRequiredCapabilities,
- aMessageData,
- aMenuType );
-
- TUid serviceId( KNullUid );
- if ( listItems->Count() > 0 )
- {
- // Show list query.
- SortListL( *listItems, *listItemUids );
-
- serviceId = ShowListQueryL(
- listItems,
- *listItemUids,
- aTitleText,
- aMenuType );
- }
-
- CleanupStack::PopAndDestroy( 2, listItems ); // listItemUids, listItems
-
- return serviceId;
- }
-
-// -----------------------------------------------------------------------------
-// SendMessageL
-// -----------------------------------------------------------------------------
-TInt CSendUiImpl::SendMessageL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TBool aLaunchEditorEmbedded)
- {
- if ( iIsSending || aServiceUid == KNullUid )
- {
- return KErrNone;
- }
-
- CAknInputBlock* absorber = CAknInputBlock::NewLC( );
- // Ensures proper sending state if leave happens.
- iIsSending = ETrue;
- TInt success( KErrNone );
- CleanupStack::PushL( TCleanupItem( ResetIsSending, (TAny*)&iIsSending ) );
-
- // Create the requested ECom service.
- TInt i( ResolveServiceIndex( aServiceUid ));
- if ( i != KErrNotFound )
- {
- TRAP( success,
- CSendingService* sendingService = CSendingService::NewL(
- iSendingServices[i]->ServiceProviderId(), *iCoeEnv, *iSingleton );
- CleanupStack::PushL( sendingService );
-
- sendingService->CreateAndSendMessageL( aServiceUid, aMessageData, aLaunchEditorEmbedded );
- CleanupStack::PopAndDestroy( sendingService );
- );
-
- }
- else
- {
- iIsSending = EFalse;
- }
- CleanupStack::PopAndDestroy( 2, absorber); // TCleanupItem, absorber
- return success;
- }
-
-// -----------------------------------------------------------------------------
-// SendMessageViaServer
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::SendMessageViaServerL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TBool aLaunchEditorEmbedded )
- {
- TInt index( ResolveServiceIndex( aServiceUid ));
- TBool capabilitiesOk = ETrue;
- if ( index == KErrNotFound )
- {
- return;
- }
- if ( iSendingServices[index]->ServiceFeatures() & CSendingServiceInfo::EServiceCanSendDirectly )
- {
- // Check sending rights
- RProcess process;
- TSecurityInfo securityInfo( process );
- CSendUiCapabilityCheck* capabilityCheck = CSendUiCapabilityCheck::NewLC();
-
- capabilitiesOk = capabilityCheck->CheckCapabilitiesL(
- securityInfo,
- iSingleton->MsvSessionL(),
- KSenduiMtmMmsUid,
- iSendingServices[index]->ServiceName() );
-
- CleanupStack::PopAndDestroy( capabilityCheck );
- }
-
- if ( capabilitiesOk )
- {
- TUid providerUid = iSendingServices[index]->ServiceProviderId();
- RSendUiServiceClient sendUiClient;
- CleanupClosePushL( sendUiClient );
- sendUiClient.ConnectChainedAppL( KSendUiLauncherAppUid );
- // LaunchSendUiL is syncronous operation
- sendUiClient.LaunchSendUiL(
- aServiceUid,
- providerUid,
- aLaunchEditorEmbedded,
- aMessageData );
- CleanupStack::PopAndDestroy( &sendUiClient);
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CreateAndSendMessageL
-// Creates the message and launches the editor for editing the message
-// or sends the message directly without opening the editor.
-// Functionality depends on the type of selected sending service.
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::CreateAndSendMessageL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TBool aLaunchEditorEmbedded )
- {
- LOGTEXT(_L("CSendUiImpl::CreateAndSendMessageL >>"));
- TInt err(0); // initializing this to 0 helps debugging SendMessageViaServerL
- err = SendMessageL( aServiceUid, aMessageData, aLaunchEditorEmbedded );
- if ( !iServerAppLaunch && ( err == KErrPermissionDenied || err == KErrAccessDenied ) )
- {
- SendMessageViaServerL( aServiceUid, aMessageData, aLaunchEditorEmbedded );
- }
- else
- {
- User::LeaveIfError( err );
- }
- LOGTEXT(_L("CSendUiImpl::CreateAndSendMessageL <<"));
- }
-
-// -----------------------------------------------------------------------------
-// ServiceCapabilitiesL
-// Returns sending capabilities of the sending service.
-// -----------------------------------------------------------------------------
-//
-TInt CSendUiImpl::ServiceCapabilities(
- TUid aServiceUid,
- TSendingCapabilities& aServiceCapabilities )
- {
- TInt i( ResolveServiceIndex( aServiceUid ));
-
- if ( i != KErrNotFound )
- {
- aServiceCapabilities =
- iSendingServices[i]->ServiceCapabilities();
- i = KErrNone;
- }
- return i;
- }
-
-// -----------------------------------------------------------------------------
-// AvailableServicesL
-// Populates given list with the information about services
-// provided by specified ECom service provider.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-void CSendUiImpl::AvailableServicesL(
- RPointerArray<CSendingServiceInfo>& aServiceList,
- TUid aServiceProvider)
- {
- for ( TInt i(0); i < iSendingServices.Count(); i++ )
- {
- if ( iSendingServices[i]->ServiceProviderId() == aServiceProvider
- || aServiceProvider == KNullUid )
- {
- CSendingServiceInfo* serviceInfo = iSendingServices[i]->CopyLC();
- aServiceList.AppendL( serviceInfo );
- CleanupStack::Pop( serviceInfo ); // serviceInfo
- }
- }
- }
-// -----------------------------------------------------------------------------
-// TechnologyType
-// -----------------------------------------------------------------------------
-//
-TUid CSendUiImpl::TechnologyType( TUid aServiceUid )
- {
- TInt i = ResolveServiceIndex( aServiceUid );
- if ( i != KErrNotFound )
- {
- return iSendingServices[i]->TechnologyTypeId();
- }
- else
- {
- return TUid::Null();
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CSendUiImpl::ResolveServiceIndex( TUid aServiceUid )
- {
- TInt index( iSendingServices.Count() );
-
- while( --index >= 0)
- {
- if ( iSendingServices[index]->ServiceId() == aServiceUid )
- {
- return index;
- }
- }
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// QueryCapabilities
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiImpl::QueryCapabilities(
- TInt index,
- TSendingCapabilities aRequiredCapabilities )
- {
- if ( index == KErrNotFound )
- {
- return EFalse;
- }
-
- if ( aRequiredCapabilities.iFlags == TSendingCapabilities::EAllServices )
- {
- // No capabilities required from service
- return ETrue;
- }
- TSendingCapabilities serviceCap = iSendingServices[ index ]->ServiceCapabilities();
-
- if ( !(serviceCap.iMessageSize == 0 // no size limit set for the service
- || aRequiredCapabilities.iMessageSize == 0 ) // no size limit asked from the client
- && aRequiredCapabilities.iMessageSize > serviceCap.iMessageSize )
- {
- return EFalse;
- }
-
- // Check if support for attachments are required.
- if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsAttachments
- && serviceCap.iFlags & TSendingCapabilities::ESupportsAttachments )
- {
- return ETrue;
- }
-
- // Check if support for body text is required.
- if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsBodyText )
- {
- if ( serviceCap.iFlags & TSendingCapabilities::ESupportsBodyText )
- {
- if ( serviceCap.iBodySize > 0 && aRequiredCapabilities.iBodySize > serviceCap.iBodySize )
- {
- return EFalse; // size limit defined and it is enough
- }
- // no size limit in service for bodytext or required size below max size.
- return ETrue;
- }
- }
-
-
- // Check if support for BIO sending is required.
- if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsBioSending
- && serviceCap.iFlags & TSendingCapabilities::ESupportsBioSending )
- {
- return ETrue;
- }
-
- // Check if support for editor is required.
- if ( aRequiredCapabilities.iFlags & TSendingCapabilities::ESupportsEditor
- && serviceCap.iFlags & TSendingCapabilities::ESupportsEditor )
- {
- return ETrue;
- }
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiImpl::GetServicesL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-void CSendUiImpl::GetServicesL( )
-{
- TInt value(0);
- TInt serviceCount;
- TInt cleanupItems(0);
-
- CRepository* rep = CRepository::NewLC( KCRUidSendUi );
- cleanupItems++;
- TInt err = rep->Get( KKeySendUiServiceCount, serviceCount );
-
- if ( err )
- {
- LOGTEXT(_L("SendUiImpl->GetServicesL: Cenrep init file missing"));
- CleanupStack::PopAndDestroy( rep );
- return;
- }
- else
- {
- if ( serviceCount == KSendUiNotInitialized )
- {
- // Services has not been initialized, launch service resolver in the bacground.
- CleanupStack::PopAndDestroy( rep);
- // iSendingServices are updated, when update is done.
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateRequest,
- KSendUiUpdateRequested);
-
- return;
- }
- }
-
- while ( iSendingServices.Count() )
- {
- delete iSendingServices[0];
- iSendingServices.Remove(0);
- }
-
- HBufC* text = HBufC::NewLC( KSendUiServiceMaxNameLength );
- cleanupItems++;
- TPtr ptr = text->Des();
- TInt key;
- for( TInt i(0); i < serviceCount; i++ )
- {
- key = KSendUiServiceIndex * i;
- CSendingServiceInfo* info = CSendingServiceInfo::NewLC();
-
- err = rep->Get( key | KSendUiServiceId, value );
- if (!err )
- {
- info->SetServiceId( TUid::Uid( value ));
- }
-
- err = rep->Get( key | KSendUiServiceProviderId, value );
- if (!err )
- {
- info->SetServiceProviderId( TUid::Uid( value ));
- }
-
- err = rep->Get( key | KSendUiServiceName, ptr );
- if (!err)
- {
- __ASSERT_DEBUG( ptr.Length() <= KSendUiServiceMaxNameLength, User::Invariant() );
- info->SetServiceNameL( ptr );
- }
-
- err = rep->Get( key | KSendUiServiceMenuName, ptr );
- if (!err)
- {
- __ASSERT_DEBUG( ptr.Length() <= KSendUiServiceMaxNameLength, User::Invariant() );
- info->SetServiceMenuNameL( ptr );
- }
-
- err = rep->Get( key | KSendUiServiceAddress, ptr );
- if (!err)
- {
- __ASSERT_DEBUG( ptr.Length() <= KSendUiServiceMaxNameLength, User::Invariant() );
- info->SetServiceAddressL( ptr );
- }
-
- TSendingCapabilities cap;
-
- err = rep->Get( key | KSendUiServiceFlags, value );
- if (!err)
- {
- cap.iFlags = value;
- }
-
- err = rep->Get( key | KSendUiServiceBodySize, value );
- if (!err)
- {
- cap.iBodySize = value;
- }
-
- err = rep->Get( key | KSendUiServiceMessageSize, value );
- if (!err)
- {
- cap.iMessageSize = value;
- }
-
-
- err = rep->Get( key | KSendUiServiceTechnologyType, value );
- if (!err )
- {
- info->SetTechnologyTypeId( TUid::Uid( value ));
- }
-
- err = rep->Get( key | KSendUiServiceFeatures, value );
- if (!err)
- {
- info->SetServiceFeatures( value );
- }
-
- if (!err)
- {
- info->SetServiceCapabilities( cap );
- iSendingServices.Append( info );
- CleanupStack::Pop( info);
- }
-
- }
-
- CleanupStack::PopAndDestroy( cleanupItems, rep); // text, rep
-
-}
-
-// ---------------------------------------------------------
-// ShowListQueryL(
-// Displays list query.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TUid CSendUiImpl::ShowListQueryL(
- MDesCArray* aListItems,
- const CArrayFix<TUid>& aListItemUids,
- const TDesC& aTitleText,
- CSendUi::TSendUiMenuType aMenuType )
- {
- // Show list query.
- TInt choice = KErrNotFound;
- CAknListQueryDialog* dlg = new (ELeave) CAknListQueryDialog( &choice );
- TInt ret = 0;
- TRAPD( err,
- dlg->PrepareLC( R_SENDUI_LIST_QUERY );
- dlg->SetItemTextArray( aListItems );
- dlg->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- // Set title
- CAknPopupHeadingPane* heading = dlg->Heading();
-
- if ( aTitleText != KNullDesC )
- {
- heading->SetTextL( aTitleText );
- }
- else
- {
- HBufC* title;
- TInt titleId(0);
- if (aMenuType == CSendUi::ESendMenu )
- {
- titleId = R_SENDUI_LIST_QUERY_TITLE ;
- }
- else if ( aMenuType == CSendUi::EWriteMenu )
- {
- titleId = R_SENDUI_LIST_QUERY_TITLE_WRITE;
- }
-
- if ( titleId )
- {
- title = iCoeEnv->AllocReadResourceLC( titleId );
- heading->SetTextL( *title );
- CleanupStack::PopAndDestroy( title );
- }
- }
-
- ret = dlg->RunLD();
- ); //end of TRAPD
-
- if( err == KLeaveExit )
- {
- delete dlg;
- dlg = NULL;
- }
-
- if ( !ret )
- {
- return KNullUid;
- }
- return aListItemUids.At( choice );
- }
-
-
-// -----------------------------------------------------------------------------
-// CanSendContentL
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiImpl::CanSendContentL(
- TUid aServiceUid,
- TUid aServiceProviderId,
- const CMessageData* aMessageData,
- TDataType* aMimeType )
- {
- // Other ecoms are filtered by their base provider, but versitile MTMs under
- // GenericMtmPlugin have filtering by their serviceUid
- if ( aServiceProviderId != KGenericMtmPlugin )
- {
- aServiceUid = aServiceProviderId;
- }
- // Content based filtering is done only for some selected services.
- // Cannot filter with no data, certain services and audio message (if no audiomessage support)
- if ( !aMessageData ||
- !( aServiceUid == KDrmLinkSender ||
- aServiceUid == KSenduiMtmPostcardUid ||
- aServiceUid == KMmsDirectUpload ||
- aServiceUid == KMmsIndirectUpload ||
- aServiceUid == KSenduiMtmAudioMessageUid ||
- aServiceUid == KSenduiMtmSmsUid ) )
- {
- return ETrue;
- }
-
-
- const CDesCArray& attachmentPaths = aMessageData->AttachmentArray();
- const RArray<RFile>& attachments = aMessageData->AttachmentHandleArray();
-
- TInt attachmentCount = attachmentPaths.Count() + attachments.Count();
-
- if ( attachmentCount == 0 )
- { // No content to send
-
- if ( aServiceUid == KDrmLinkSender )
- {
- return EFalse;
- }
- TInt bodyTextLength = aMessageData->BodyText()->DocumentLength();
- // Dim MMS Upload services, if there is no bodytext
- if ( ( aServiceUid == KMmsDirectUpload
- || aServiceUid == KMmsIndirectUpload )
- && bodyTextLength == 0 )
- {
- return EFalse; // bodytext will be converted into attachment
- }
- // Dim Audio message, if there is bodytext
- if ( aServiceUid == KSenduiMtmAudioMessageUid
- && bodyTextLength > 0 )
- {
- return EFalse;
- }
- return ETrue;
- }
- else if ( attachmentCount == 1 )
- {
- TBool result = ETrue;
-
- switch ( aServiceUid.iUid )
- {
- case KSenduiMtmSmsUidValue:
- {
- if ( aMimeType->Des8().CompareF( KMsgMimeVCard ) != 0 &&
- aMimeType->Des8().CompareF( KMsgMimeVCal ) != 0 )
- {
- result = EFalse;
- }
- break;
- }
- case KSenduiMtmPostcardUidValue:
- {
- if( aMimeType->Des8().CompareF( KMsgMimeImageJpeg ) != 0 &&
- aMimeType->Des8().CompareF( KMsgMimeImageGif ) != 0 &&
- aMimeType->Des8().CompareF( KMsgMimeImagePng ) != 0 &&
- aMimeType->Des8().CompareF( KMsgMimeTextPlain ) != 0 )
- {
- // Supported types: jpeg, png, gif, plain text
- result = EFalse;
- }
- }
- break;
- case KSenduiMtmAudioMessageUidValue:
- {
- if( aMimeType->Des8().CompareF( KMsgMimeAudioAmr ) != 0 ||
- aMessageData->BodyText()->DocumentLength() > 0 )
- {
- // Does not allow other than amr attachment and empty bodytext
- result = EFalse;
- }
- }
- break;
- case KDrmLinkSenderValue:
- {
- // Check OMA DRM level
-
- TInt drmMethod = 0;
- CDRMHelper::TDRMHelperOMALevel omaDRMLevel;
- CDRMHelper* drmHelper = NULL;
- TRAPD( error, drmHelper = CDRMHelper::NewL( iFs ) );
- if ( error != KErrNone )
- {
- return error;
- }
- error = drmHelper->SupportedDRMMethods2( drmMethod, omaDRMLevel );
- if ( !(omaDRMLevel & CDRMHelper::EOMA_2_0 ))
- {
- result = EFalse;
- break;
- }
- delete drmHelper;
-
-
- if ( attachmentPaths.Count() )
- {
- RFile handle = SendUiUtils::OpenFileHandleL( attachmentPaths.MdcaPoint(0), iFs );
- CleanupClosePushL( handle );
- result = SendUiUtils::HasContentUrlL( handle );
- CleanupStack::PopAndDestroy( &handle );
- }
- else
- {
- result = SendUiUtils::HasContentUrlL( const_cast<RFile&>( attachments[0] ) );
- }
- }
- break;
- default:
- // Should never end up here
- break;
- }
-
- return result;
- }
- else if ( attachmentCount > 1 )
- {
- if ( aServiceUid == KDrmLinkSender ||
- aServiceUid == KSenduiMtmPostcardUid ||
- aServiceUid == KSenduiMtmAudioMessageUid ||
- aServiceUid == KSenduiMtmSmsUid )
- {
- // Currently supports sending of one file only
- // or no files (SMS)
- return EFalse;
- }
- return ETrue;
- }
-
- // Should never end up here
- return ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiImpl::FilterServicesL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::FilterServicesL(
- CDesCArrayFlat& aListItems,
- CArrayFix<TUid>& aListItemUids,
- TSendingCapabilities aRequiredCapabilities,
- const CMessageData* aMessageData,
- CSendUi::TSendUiMenuType aMenuType )
- {
- TInt i = 0;
- TInt cc = 0;
- TBool dimService = EFalse;
- TDataType* mimeType = NULL;
- TInt cleanupItems(0);
-
- if(iEmailFramework)
- {
- if(!IsMailboxAvailableL())
- iServicesToDim->AppendL(KSenduiMtmSmtpUid);
- }
-
- // Filter some services away if there is no content to be send.
- if ( !aMessageData )
- {
- iServicesToDim->AppendL( KDrmLinkSender );
- iServicesToDim->AppendL( KMmsDirectUpload );
- iServicesToDim->AppendL( KMmsIndirectUpload );
- iServicesToDim->AppendL( KShareOnline );
- }
- else if ( aMessageData->AttachmentArray().Count() == 1
- || aMessageData->AttachmentHandleArray().Count() == 1 )
- {
- // CanSendContent can recycle these in mime type resolving
- // for all services that have attachments
- mimeType = new (ELeave) TDataType();
- CleanupStack::PushL( mimeType );
- cleanupItems++;
-
- if ( aMessageData->AttachmentArray().Count() )
- {
- RFile handle = SendUiUtils::OpenFileHandleL(
- aMessageData->AttachmentArray().MdcaPoint( 0 ), iFs );
- CleanupClosePushL( handle );
- SendUiUtils::ResolveMimeTypeL( handle, *mimeType );
- CleanupStack::PopAndDestroy( &handle );
- }
- else
- {
- SendUiUtils::ResolveMimeTypeL( aMessageData->AttachmentHandleArray()[0], *mimeType );
- }
- }
- TBool addMailService = EFalse;
- TUid integratedEmailClientMtmUid;
-
- if ( iEmailClientIntegration )
- {
- CRepository* repository = NULL;
- TInt mtmPluginID = 0;
- TRAPD( ret, repository = CRepository::NewL( KCRUidSelectableDefaultEmailSettings ) );
-
- if(ret == KErrNone)
- {
- //Get Email application mtm plugin ID
- repository->Get( KIntegratedEmailAppMtmPluginId, mtmPluginID );
- }
-
- delete repository;
- integratedEmailClientMtmUid = TUid::Uid(mtmPluginID);
- for( i = 0 ; i < iSendingServices.Count(); i++ )
- {
- TUid serviceUid = iSendingServices[i]->ServiceId();
- // Check if it is found in sendingServices and it's valid, then hide
- if ( integratedEmailClientMtmUid == iSendingServices[i]->ServiceId() &&
- CheckServiceCapabilities( serviceUid, aRequiredCapabilities ) &&
- CanSendContentL( serviceUid,
- iSendingServices[i]->ServiceProviderId(),
- aMessageData, mimeType ) )
- {
- addMailService = ETrue;
- }
- }
-
- }
-
- // Filter available ECom services and add to list item array.
- // Capability based filtering: CheckServiceCapabilities
- // Content based filtering: CanSendContentL
- // "dimmable array" filtering: done here
- TInt serviceFeatures;
- for( i = 0 ; i < iSendingServices.Count(); i++ )
- {
- dimService = EFalse;
- TUid serviceUid = iSendingServices[i]->ServiceId();
- TUid serviceProviderUid = iSendingServices[i]->ServiceProviderId();
-
- if ( iSendingServices[i]->ServiceMenuName() == KNullDesC )
- {
- dimService = ETrue;
- }
-
- TUid serviceTechnologyType = iSendingServices[i]->TechnologyTypeId();
- TUid dimServiceUid;
- for ( cc = 0; cc < iServicesToDim->Count(); cc++ )
- {
- dimServiceUid = (*iServicesToDim)[cc];
- if ( dimServiceUid == serviceUid
- || dimServiceUid == serviceProviderUid
- || dimServiceUid == serviceTechnologyType
- )
- {
- dimService = ETrue;
- break;
- }
- }
- if ( iEmailClientIntegration )
- {
- //Hide Email application (not the platform email) from "send" menu
- if( integratedEmailClientMtmUid == iSendingServices[i]->ServiceId() )
- {
- dimService = ETrue;
- }
- }
- serviceFeatures = iSendingServices[i]->ServiceFeatures();
- if ( iEmailClientIntegration )
- {
- //If there is a mailbox created by integrated mail client then
- //put SMTP MTM ("Email") in the "send" menu, by changing the
- //serviceFeature
- if ( addMailService &&
- ( iSendingServices[i]->ServiceId() == KUidMsgTypeSMTP ) )
- {
- serviceFeatures = 0;
- addMailService = EFalse; //MailService must be added only once
- }
- }
-
- //Check if the sending service is some third party email provider than hide from the Send menu.
- if( iEmailFramework && (iSendingServices[i]->TechnologyTypeId() == KMailTechnologyTypeUid))
- {
- if(IsThirdPartyMailService(iSendingServices[i]->ServiceId()))
- dimService = ETrue;
- }
-
- if ( !dimService &&
- !( serviceFeatures & CSendingServiceInfo::EServiceInValid ) &&
- !( serviceFeatures & CSendingServiceInfo::EServiceHidden )
- && CheckServiceCapabilities( serviceUid, aRequiredCapabilities ) &&
- CanSendContentL( serviceUid, serviceProviderUid, aMessageData, mimeType ) )
- {
- if ( aMenuType == CSendUi::ESendMenu )
- {
- aListItems.AppendL(iSendingServices[i]->ServiceMenuName() );
- }
- else if ( aMenuType == CSendUi::EWriteMenu )
- {
- aListItems.AppendL(iSendingServices[i]->ServiceName() );
- }
-
- aListItemUids.AppendL( serviceUid );
- }
- }
- CleanupStack::PopAndDestroy( cleanupItems );
- }
-
-// -----------------------------------------------------------------------------
-// SortListL
-// Sets ECom services to correct positions in "Send"-list query.
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::SortListL(
- CDesCArrayFlat& aListItems,
- CArrayFix<TUid>& aListItemUids )
- {
- TInt insertIndex(0);
- TUid positionUid;
- TInt j;
- // set the services into correct order. The order is predefined in the resources.
- for ( TInt i = 0; i < iSendUiServicesOrderArray->Count() ; i++ )
- {
- positionUid = TUid::Uid( (*iSendUiServicesOrderArray)[i] );
- for (j = insertIndex; j < aListItems.Count(); j++ )
- {
- TUid tmp = aListItemUids[j];
- if ( positionUid == aListItemUids[j] )
- {
- if ( j >= insertIndex )
- {
- HBufC* serviceName = aListItems[j].AllocL();
- CleanupStack::PushL( serviceName );
-
- aListItemUids.Delete( j );
- aListItems.Delete( j );
-
- aListItemUids.InsertL( insertIndex, positionUid );
- aListItems.InsertL( insertIndex, *serviceName );
- CleanupStack::PopAndDestroy( serviceName );
- insertIndex++;
- }
- else
- {
- // service already on the right place. Next.
- insertIndex++;
- }
-
- }
- }
- }
- }
-
-
-// ---------------------------------------------------------
-// ResetIsSending
-// Resets sending state flag.
-// ---------------------------------------------------------
-//
-void CSendUiImpl::ResetIsSending( TAny* aAny )
- {
- *( (TBool*)aAny ) = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CheckServiceCapabilities
-// Compares ECom service sending capabilities to required capabilities.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiImpl::CheckServiceCapabilities(
- TUid aServiceUid,
- TSendingCapabilities aRequiredCapabilities )
- {
- TInt i = 0;
- TSendingCapabilities serviceCapabilities;
-
- // No capabilities defined, uses content-based filtering
- // or no capabilities required from service
- if ( aServiceUid == KDrmLinkSender
- || aRequiredCapabilities.iFlags == TSendingCapabilities::EAllServices )
- {
- return ETrue;
- }
-
- i = ResolveServiceIndex( aServiceUid );
-
- if ( i != KErrNotFound )
- {
- return QueryCapabilities( i, aRequiredCapabilities );
- }
- else
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiImpl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiImpl::CSendUiImpl()
- : iCoeEnv( CCoeEnv::Static() ),
- iFs( iCoeEnv->FsSession() ),
- iResourceLoader( *iCoeEnv ),
- iEmailFramework(EFalse)
-
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiImpl::FeatureStatus
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::FeatureStatus( TInt aFeature, TInt &aNewFeatures, TInt aFeatureFlag )
- {
- if ( FeatureManager::FeatureSupported( aFeature ) )
- {
- // If Postcard only is supported, aFeatureFlag is 0x00000001 ==> aNewFeatures == 0x00000001
- // If Audio message is also supported aFeatureFlag is 0x00000002 ==> aNewFeatures == 0x00000003
- // If MMSUpload is also supported, aFeatureFlag is 0x00000004 ==> aNewFeatures == 0x00000007
- aNewFeatures |= aFeatureFlag;
- }
- }
-// ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::ConstructL()
- {
- iSingleton = CSendUiSingleton::NewL();
- //User::LeaveIfError( iFs.Connect() );
- iFs.ShareProtected();
-
- TParse* fp = new(ELeave) TParse();
- fp->Set( KSendUiResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
- iResourceFileName = fp->FullName();
- delete fp;
- fp = NULL;
-
- iResourceLoader.OpenL( iResourceFileName );
-
- // Check for server launch
- RProcess process;
- TUid hostId = process.SecureId();
- if ( hostId == KSendUiLauncherAppUid )
- {
- iServerAppLaunch = ETrue;
- }
- else
- {
- iServerAppLaunch = EFalse;
- iSendUiServicesOrderArray =
- new ( ELeave ) CArrayFixFlat<TInt32>( KSendUiServiceOrderArrayGranularity );
-
- TResourceReader reader;
- iCoeEnv->CreateResourceReaderLC( reader, R_SENDUISERVICEORDER_ARRAY );
- const TInt count = reader.ReadInt16();
- for ( TInt loop = 0; loop < count; loop++ )
- {
- iSendUiServicesOrderArray->AppendL( reader.ReadInt32() );
- }
- CleanupStack::PopAndDestroy( ); // reader
- }
-
- iPropertyObserver = CPropertyObserver::NewL( this );
- TRAPD( err, GetServicesL() );
-
- if ( err )
- {
-#ifdef _DEBUG
- TBuf<256> buf;
- buf.Format(_L("SendUi err"));
- User::InfoPrint(buf);
- LOGTEXT2(_L("Error %d while loading CenRep"), err );
-#endif
- return;
- }
- iServicesToDim = new (ELeave) CArrayFixFlat<TUid>( KArrayGranularity );
- FeatureManager::InitializeLibL();
-
- if ( FeatureManager::FeatureSupported( KFeatureIdEmailMceIntegration ) )
- {
-
- iEmailClientIntegration = ETrue;
- }
- else
- {
-
- iEmailClientIntegration = EFalse;
- }
- if ( FeatureManager::FeatureSupported( KFeatureIdFfEmailFramework ) )
- {
- iEmailFramework = ETrue;
- }
- FeatureManager::UnInitializeLib();
- }
-// -----------------------------------------------------------------------------
-// CSendUiImpl::IsMailboxAvailableL
-// -----------------------------------------------------------------------------
-//
-TBool CSendUiImpl::IsMailboxAvailableL(void)
-{
- TBool mailbox = EFalse;
-
- CMsvSession& msv = iSingleton->MsvSessionL();
- CMsvEntry* entry = msv.GetEntryL( KMsvRootIndexEntryId );
- CleanupStack::PushL( entry );
-
- entry->SetSortTypeL( TMsvSelectionOrdering(
- KMsvGroupByType | KMsvGroupByStandardFolders,
- EMsvSortByDetailsReverse, ETrue ) );
-
- // Add others
- for ( TInt cc = entry->Count(); --cc >= 0; )
- {
- TMsvEntry tentry2 = (*entry)[cc];
-
- if ( tentry2.iType.iUid == KUidMsvServiceEntryValue &&
- tentry2.Id() != KMsvLocalServiceIndexEntryIdValue )
- {
- if ( IsEmailAppendableL(tentry2) )
- {
- mailbox = ETrue;
- break;
- }
- }
- }
-
- CleanupStack::PopAndDestroy( entry );
-
- return mailbox;
-}
-
-// -----------------------------------------------------------------------------
-// IsThirdPartyMailService
-// Check if any Third Party Email Serivce is present or not
-// -----------------------------------------------------------------------------
-//
-
-TBool CSendUiImpl::IsThirdPartyMailService( TUid aUid )
- {
- //If the Uid is other than SMTP and Cmail
- //than is a Third Party service
- if((aUid != KUidMsgTypeSMTP)&&
- ( aUid.iUid != KUidMsgTypeFsMtmVal ) )
- {
- return ETrue;
- }
- else
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// IsEmailAppendableL
-// Check if Email entry is valid to be counted
-// -----------------------------------------------------------------------------
-//
-
-TBool CSendUiImpl::IsEmailAppendableL(TMsvEntry atentry)
- {
- TBool appendEmail = EFalse;
-
- if ( atentry.Visible() )
- {
- appendEmail = ETrue;
- }
- else
- {
- if ( iSingleton->MtmUiDataRegistryL().IsPresent( atentry.iMtm ) &&
- iSingleton->MtmUiDataRegistryL().IsPresent( KUidMsgTypePOP3 ) )
- {
- TUid mailMTMTechType =
- iSingleton->MtmUiDataRegistryL().TechnologyTypeUid( KUidMsgTypePOP3 );
- if( iSingleton->MtmUiDataRegistryL().TechnologyTypeUid( atentry.iMtm ) ==
- mailMTMTechType )
- {
- appendEmail = ETrue;
- }
- }
- }
- return appendEmail;
- }
-// -----------------------------------------------------------------------------
-// AddTypedMenuItemToMenuPaneL
-//
-// No menu item is added, if services are not found. This can happen if
-// asyncronous sending service update is not yet finished.
-// To inform caller about the API result, aResult param is added.
-// so that caller application will know that its request is not succesfully
-// completed due to above reason.
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::AddTypedMenuItemToMenuPaneL(
- TBool& aResult,
- CSendUi::TSendUiMenuType aMenuType,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities)
- {
- TInt i(0);
- TBuf<KTitleBufLength> menuItemName;
- aResult=EFalse;
-
- // Read the resources
- aMenuType == CSendUi::ESendMenu ?
- i = R_SENDUI_MENUITEM_SEND :
- i = R_SENDUI_MENUITEM_WRITE; // CSendUi::EWriteMenu
-
- iCoeEnv->ReadResourceL( menuItemName, i );
-
- for ( i = 0; i < iSendingServices.Count(); i++ )
- {
- TUid serviceUid = iSendingServices[i]->ServiceId();
- if ( QueryCapabilities( i, aRequiredCapabilities ) )
- {
- CEikMenuPaneItem::SData data;
- data.iCascadeId = NULL;
- data.iText = menuItemName;
- data.iCommandId = aCommandId;
- data.iFlags = 0;
-
- if ( aIndex == aMenuPane.NumberOfItemsInPane() )
- {
- aMenuPane.AddMenuItemL( data );
- }
- else
- {
- aMenuPane.InsertMenuItemL( data, aIndex );
- }
-
- aResult = ETrue;
- break;
- }
- }
- // Hide menu item if sending is already in progress.
- if ( aResult )
- {
- aMenuPane.SetItemDimmed( aCommandId, iIsSending);
- }
- }
-// end of file
-
--- a/messagingfw/senduiservices/src/SendUiUtils.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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: Provides private utilities for SendUi.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <apmstd.h>
-#include <apgcli.h>
-#include <caf/caf.h>
-#include <MsgMimeTypes.h>
-
-#include "SendUiUtils.h"
-
-// CONSTANTS
-_LIT8( KMmsSymbianInternalPattern, "x-epoc/x-app0");
-
-const TInt KSenduiUrlMaxLen = 1024;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// SendUiUtils::OpenFileHandleL
-// -----------------------------------------------------------------------------
-//
-RFile SendUiUtils::OpenFileHandleL( const TDesC& aFilePath, RFs& aFs )
- {
- RFile fileHandle;
- TInt err = fileHandle.Open( aFs, aFilePath, EFileShareReadersOnly );
- if ( err )
- {
- User::LeaveIfError( fileHandle.Open( aFs, aFilePath, EFileShareAny ) );
- }
-
- return fileHandle;
- }
-
-// -----------------------------------------------------------------------------
-// SendUiUtils::DrmContentUrlL
-// -----------------------------------------------------------------------------
-//
-TBool SendUiUtils::HasContentUrlL( RFile& aFile )
- {
- TBuf<KSenduiUrlMaxLen> contentUrl;
- ContentAccess::CData* content = ContentAccess::CData::NewLC(
- aFile,
- ContentAccess::KDefaultContentObject,
- ContentAccess::EPeek );
-
- TInt error = content->GetStringAttribute( ContentAccess::EContentURI, contentUrl );
- CleanupStack::PopAndDestroy( content );
-
- return !error;
- }
-
-// -----------------------------------------------------------------------------
-// SendUiUtils::ResolveMimeTypeL
-// -----------------------------------------------------------------------------
-//
-void SendUiUtils::ResolveMimeTypeL( const RFile& aFile, TDataType& aMimeType )
- {
- RApaLsSession lsSession;
- CleanupClosePushL( lsSession );
- User::LeaveIfError( lsSession.Connect() );
-
- TDataRecognitionResult dataType;
-
- TInt err = lsSession.RecognizeData( aFile, dataType );
- if ( err
- || dataType.iDataType.Des8().Length() == 0
- || !dataType.iDataType.Des8().CompareF( KMmsSymbianInternalPattern ) )
- {
- // Not recognized
- aMimeType = KMsgMimeUnknown();
- }
- else
- {
- aMimeType = dataType.iDataType;
- }
- // The attachment file pointer needs to be reset to the start of the file.
- TInt pos( 0 );
- aFile.Seek( ESeekStart, pos );
- CleanupStack::PopAndDestroy( &lsSession );
- }
-
-// End of File
--- a/messagingfw/senduiservices/src/SendingServiceInfoImpl.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2002-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: Implementation of CMessageAddress interface.
-* Encapsulates the ECom plugged sending service data.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include "SendingServiceInfoImpl.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::CSendingServiceInfoImpl
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendingServiceInfoImpl::CSendingServiceInfoImpl()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSendingServiceInfoImpl* CSendingServiceInfoImpl::NewL()
- {
- CSendingServiceInfoImpl* self = CSendingServiceInfoImpl::NewLC();
-
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CSendingServiceInfoImpl::NewLC
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CSendingServiceInfoImpl* CSendingServiceInfoImpl::NewLC()
- {
- CSendingServiceInfoImpl* self = new (ELeave) CSendingServiceInfoImpl;
- CleanupStack::PushL( self );
- return self;
- }
-
-
-// Destructor
-CSendingServiceInfoImpl::~CSendingServiceInfoImpl()
- {
- delete iServiceName;
- delete iServiceMenuName;
- delete iServiceAddress;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::CopyL
-// Creates a copy of CSendingServiceInfoImpl object.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CSendingServiceInfoImpl* CSendingServiceInfoImpl::CopyL() const
- {
- CSendingServiceInfoImpl* serviceInfoImpl = CSendingServiceInfoImpl::NewL();
- CleanupStack::PushL( serviceInfoImpl );
-
- if ( iServiceName )
- {
- serviceInfoImpl->SetServiceNameL( *iServiceName );
- }
-
- if ( iServiceMenuName )
- {
- serviceInfoImpl->SetServiceMenuNameL( *iServiceMenuName );
- }
-
- if ( iServiceAddress )
- {
- serviceInfoImpl->SetServiceAddressL( *iServiceAddress );
- }
-
- serviceInfoImpl->iServiceId = iServiceId;
- serviceInfoImpl->iServiceProviderId = iServiceProviderId;
- serviceInfoImpl->iServiceCapabilities = iServiceCapabilities;
- serviceInfoImpl->iTechnologyTypeId = iTechnologyTypeId;
- serviceInfoImpl->iServiceFeatures = iServiceFeatures;
-
- CleanupStack::Pop( serviceInfoImpl );
-
- return serviceInfoImpl;
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceNameL
-// Sets service human readable name.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSendingServiceInfoImpl::SetServiceNameL(
- const TDesC& aServiceName )
- {
- delete iServiceName;
- iServiceName = NULL;
- iServiceName = aServiceName.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceMenuNameL
-// Sets service human readable name for the "Send"-menu.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSendingServiceInfoImpl::SetServiceMenuNameL(
- const TDesC& aServiceMenuName )
- {
- delete iServiceMenuName;
- iServiceMenuName = NULL;
- iServiceMenuName = aServiceMenuName.AllocL();
- }
-
-// -----------------------------------------------------------------------------
-// CSendingServiceInfoImpl::SetServiceAddressL
-// Sets service address.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CSendingServiceInfoImpl::SetServiceAddressL(
- const TDesC& aServiceAddress )
- {
- delete iServiceAddress;
- iServiceAddress = NULL;
- iServiceAddress = aServiceAddress.AllocL();
- }
-
-
-// End of File
--- a/messagingfw/senduiservices/src/TSendingCapabilities.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2002-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: Sending capabilities for sending services. Used by SendUi to
-* filter sending services from "Send" pop-up list query.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <TSendingCapabilities.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// TSendingCapabilities::TSendingCapabilities
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TSendingCapabilities::TSendingCapabilities()
- :
- iBodySize(0),
- iMessageSize(0),
- iFlags(0)
- {
- }
-
-// ---------------------------------------------------------
-// TSendingCapabilities::TSendingCapabilities
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------
-//
-EXPORT_C TSendingCapabilities::TSendingCapabilities(
- TInt aBodySize,
- TInt aMessageSize,
- TInt aFlags)
- :
- iBodySize(aBodySize),
- iMessageSize(aMessageSize),
- iFlags(aFlags)
- {
- }
-
-// ---------------------------------------------------------
-// TSendingCapabilities::TSendingCapabilities
-// Overloaded equal operator
-// might leave.
-// ---------------------------------------------------------
-//
-EXPORT_C TBool TSendingCapabilities::operator==(
- const TSendingCapabilities& aSendingCapabilities ) const
- {
- TBool ret = EFalse;
-
- if ( iBodySize == aSendingCapabilities.iBodySize &&
- iMessageSize == aSendingCapabilities.iMessageSize &&
- iFlags == aSendingCapabilities.iFlags )
- {
- ret = ETrue;
- }
-
- return ret;
- }
-
-// ---------------------------------------------------------
-// TSendingCapabilities::TSendingCapabilities
-// Overloaded not equal operator
-// might leave.
-// ---------------------------------------------------------
-//
-EXPORT_C TBool TSendingCapabilities::operator!=(
- const TSendingCapabilities& aSendingCapabilities ) const
- {
- return !( operator==( aSendingCapabilities ) );
- }
-
-// End of File
--- a/messagingfw/senduiservices/src/propertyobserver.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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: Notifies SendUI to refresh its local sending service list
-* if list in Central Repository is updated.
-*
-*/
-
-
-
-#include <e32base.h>
-#include <e32property.h>
-
-#include "propertyobserver.h"
-#include "senduiproperty.h"
-#include "SendUiImpl.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CPropertyObserver* CPropertyObserver::NewL( CSendUiImpl* aParent)
- {
- CPropertyObserver* self = new ( ELeave ) CPropertyObserver( aParent );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPropertyObserver::~CPropertyObserver()
- {
- iPropertyUpdateOperation.Close();
- Cancel();
- }
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPropertyObserver::ConstructL()
- {
-
- User::LeaveIfError( iPropertyUpdateOperation.Attach( KPSUidSendUiProperty, KSendUiUpdateOperation ));
- iPropertyUpdateOperation.Subscribe( iStatus );
- SetActive();
-
- }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPropertyObserver::CPropertyObserver( CSendUiImpl* aParent )
- : CActive( CActive::EPriorityStandard ),
- iParent( aParent)
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// ---------------------------------------------------------------------------
-//
-void CPropertyObserver::DoCancel()
- {
- iPropertyUpdateOperation.Close();
- }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// ---------------------------------------------------------------------------
-//
-void CPropertyObserver::RunL()
- {
- TInt value;
- if ( iPropertyUpdateOperation.Get( value ) != KErrNotFound
- && value == KSendUiUpdateOperationDone )
- {
- iParent->GetServicesL();
- }
- iPropertyUpdateOperation.Subscribe( iStatus );
- SetActive();
- }
-
--- a/messagingfw/senduiservices/src/senduiserviceclient.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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: Communicates message data to SendUILauncher server application
-*
-*/
-
-
-
-#include <aknappui.h>
-#include <AknServerApp.h>
-#include <s32mem.h>
-
-#include <CMessageData.h>
-#include <SendUiConsts.h>
-
-#include "senduiserviceclient.h"
-#include "senduiserviceslog.h"
-#include "senduilauncher.h"
-#include "senduiservicecommands.h"
-
-typedef TBuf8<KTransferBufferSize> TTransferBuf;
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Launch SendUi
-// ---------------------------------------------------------------------------
-//
-void RSendUiServiceClient::LaunchSendUiL(
- TUid& aServiceUid,
- TUid& aServiceProviderUid,
- TBool& aLaunchEmbedded,
- const CMessageData* aMessageData )
- {
- CBufBase* buffer = CBufFlat::NewL( KMessageBufferSize );
- CleanupStack::PushL( buffer );
-
- RBufWriteStream bufStream;
- bufStream.Open( *buffer );
-
- bufStream.WriteUint32L( aServiceProviderUid.iUid );
- TUid dataType(KSenduiMsgDataBase);
- if ( aMessageData )
- {
- dataType = aMessageData->DataType();
- }
- bufStream.WriteUint32L( dataType.iUid );
- bufStream.WriteUint32L( aServiceUid.iUid );
- bufStream.WriteUint32L( aLaunchEmbedded ? 1 : 0);
- bufStream.WriteUint32L( aMessageData ? 1 : 0);
-
- if ( aMessageData )
- {
- aMessageData->ExternalizeL( bufStream );
- }
-
- bufStream.CommitL();
- bufStream.Close();
-
-
- LOGTEXT2(_L("RSendUiServiceClient->LaunchSendUiL: buffer size %d"), buffer->Size() );
- TInt totalSize = buffer->Size();
- TInt transferredBytes(0);
- TInt blockSize(0);
-
- TTransferBuf transferBuffer;
-
- while( transferredBytes < totalSize)
- {
- // determine block size
- if ( transferredBytes + KTransferBufferSize < totalSize )
- {
- blockSize = KTransferBufferSize;
- }
- else
- {
- // the last block size
- blockSize = totalSize - transferredBytes;
- }
- buffer->Read( transferredBytes, transferBuffer, blockSize );
-
- TPckgBuf<TTransferBuf> transferBufferPckg( transferBuffer );
- TPckgBuf<TInt> totalSizePckg( totalSize );
- TPckgBuf<TInt> blockSizePckg( blockSize );
-
- SendReceive( ESendUiDataBlock,
- TIpcArgs( &transferBufferPckg, &blockSizePckg, &totalSizePckg ) );
-
- transferredBytes += blockSize;
- } // while..
-
- SendReceive( EDataSent );
-
- if ( aMessageData )
- {
- TInt index(0);
- TInt fileHandleCount = aMessageData->AttachmentHandleArray().Count();
-
- // Transfer filehandles separately
- while( index < fileHandleCount )
- {
- TIpcArgs ipcArgs;
- aMessageData->AttachmentHandleArray()[index++].TransferToServer(ipcArgs, 0, 1);
- SendReceive(ECopyFileHandle, ipcArgs);
- }
- }
- SendReceive( ELaunchSendUi );
-
- CleanupStack::PopAndDestroy(buffer);
-}
-
-// ---------------------------------------------------------------------------
-// Return service identifier
-// ---------------------------------------------------------------------------
-//
-TUid RSendUiServiceClient::ServiceUid() const
- {
- return KSendUiLauncherAppServiceUid;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-RSendUiServiceClient::~RSendUiServiceClient()
- {
- Close();
- }
--- a/messagingfw/senduiservices/src/senduisingleton.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +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: Singleton
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include <msvapi.h> // CMsvSession
-#include <mtclreg.h> // CClientMtmRegistry
-#include <mtuireg.h> // CMtmUiRegistry
-#include <mtudreg.h> // CMtmUiDataRegistry
-
-#include <senduisingleton.h>
-
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::CSendUiSingleton
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiSingleton::CSendUiSingleton()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSendUiSingleton::ConstructL()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CSendUiSingleton* CSendUiSingleton::NewL()
- {
- CSendUiSingleton* self = new (ELeave) CSendUiSingleton;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::~CSendUiSingleton
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CSendUiSingleton::~CSendUiSingleton()
- {
- // Deletion order is significant.
- delete iMtmUiDataRegistry;
- delete iMtmUiRegistry;
- delete iClientMtmRegistry;
- delete iMsvSession;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::MsvSessionL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMsvSession& CSendUiSingleton::MsvSessionL()
- {
- if ( !iMsvSession )
- {
- iMsvSession = CMsvSession::OpenSyncL( *this );
- }
- return *iMsvSession;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::ClientMtmRegistryL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CClientMtmRegistry& CSendUiSingleton::ClientMtmRegistryL()
- {
- if ( !iClientMtmRegistry )
- {
- iClientMtmRegistry = CClientMtmRegistry::NewL( MsvSessionL() );
- }
- return *iClientMtmRegistry;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::MtmUiRegistryL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMtmUiRegistry& CSendUiSingleton::MtmUiRegistryL()
- {
- if ( !iMtmUiRegistry )
- {
- iMtmUiRegistry = CMtmUiRegistry::NewL( MsvSessionL() );
- }
- return *iMtmUiRegistry;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::MtmUiDataRegistryL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMtmUiDataRegistry& CSendUiSingleton::MtmUiDataRegistryL()
- {
- if ( !iMtmUiDataRegistry )
- {
- iMtmUiDataRegistry = CMtmUiDataRegistry::NewL( MsvSessionL() );
- }
- return *iMtmUiDataRegistry;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiSingleton::MsvSessionL
-// -----------------------------------------------------------------------------
-//
-void CSendUiSingleton::HandleSessionEventL(TMsvSessionEvent /*aEvent*/, TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/)
- {
- }
-
-
-// End of File
--- a/messagingfw/senduiservices/stub_sis/stub_senduilauncher.pkg Thu Aug 19 10:24:00 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:
-;
-; Languages
-&EN
-
-; Header
-#{"senduilauncher"}, (0x102823C5), 1, 0, 0, TYPE = SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
\ No newline at end of file
Binary file messagingfw/senduiservices/stub_sis/stub_senduilauncher.sis has changed
--- a/messagingfw/senduiservices/stub_sis/stub_senduiserviceresolver.pkg Thu Aug 19 10:24:00 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:
-;
-; Languages
-&EN
-
-; Header
-#{"senduiserviceresolver"}, (0x102823b5), 1, 0, 0, TYPE = SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
\ No newline at end of file
Binary file messagingfw/senduiservices/stub_sis/stub_senduiserviceresolver.sis has changed
--- a/messagingfw/senduiservices/watcher/group/102823B6.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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: Resource definitions for project SendUiWatcher
-*
-*/
-
-
-#include <registryinfo.rh>
-
-// ---------------------------------------------------------------------------
-// ?resource_name
-// ?description
-// ---------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
- {
- // The DLL UID -
- dll_uid = 0x102823B6;
- interfaces =
- {
- INTERFACE_INFO
- {
- // KUidEComWatcher
- interface_uid = 0x10006554;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- // Use the DLL UID.
- implementation_uid = 0x102823B6;
- version_no = 1;
- display_name = "SendUiWatcher";
- default_data = "";
- opaque_data = "";
- }
- };
- }
- };
- }
--- a/messagingfw/senduiservices/watcher/group/SendUiWatcher.mmp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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 definition file for project ?myapp
-*
-*/
-
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// --- LOGGING ---
-//MACRO USE_LOGGER // HW debugging support
-//LIBRARY Flogger.lib // RFileLogger, debug logging
-// --- LOGGING ---
-
-
-TARGET senduiwatcher.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x102823B6
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-VERSION 10.0
-PAGED
-
-SOURCEPATH ../src
-SOURCE senduiwatcher.cpp
-SOURCE senduipropertyobserver.cpp
-SOURCE senduiecomobserver.cpp
-
-SOURCEPATH .
-START RESOURCE 102823B6.rss
-HEADER
-TARGET senduiwatcher.rsc
-END // RESOURCE
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-USERINCLUDE ../../serviceresolver/inc
-
-SYSTEMINCLUDE /epoc32/include/ecom
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY ecom.lib
-LIBRARY msgs.lib // OpenSyncL
-LIBRARY euser.lib
-LIBRARY apgrfx.lib
-LIBRARY apparc.lib
-LIBRARY centralrepository.lib
-LIBRARY mtur.lib
-LIBRARY featmgr.lib
--- a/messagingfw/senduiservices/watcher/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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 project ?myapp
-*
-*/
-
-
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-../group/SendUiWatcher.mmp
--- a/messagingfw/senduiservices/watcher/inc/senduiecomobserver.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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: Listens Ecom events. Requests service update,
-* - if SendUI Ecom service count changes
-* - has changed since previous boot.
-*
-*/
-
-
-
-#ifndef C_SENDUIECOMOBSERVER_H
-#define C_SENDUIECOMOBSERVER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-/**
- * ?one_line_short_description
- *
- * ?more_complete_description
- *
- * @lib ?library
- * @since S60 ?S60_version *** for example, S60 v3.0
- */
-class CSendUiEcomObserver : public CActive
- {
-
-public:
-
- static CSendUiEcomObserver* NewL();
-
- virtual ~CSendUiEcomObserver();
-
-// from base class CActive
-
- /**
- * From CActive.
- *
- * @since S60 v3.2
- */
- void RunL();
-
- /**
- * From CActive.
- *
- * @since S60 v3.2
- */
- void DoCancel();
-
- void CheckForUpdateL();
-
-private:
-
- CSendUiEcomObserver();
-
- void ConstructL();
-
-private: // data
-
- /**
- * Property for making update requests
- */
- RProperty iPropertyUpdateRequest;
-
- /**
- * Property for tracking update operation flow
- */
- RProperty iPropertyUpdateOperation;
-
- REComSession& iEcomSession;
- };
-
-#endif // C_SENDUIECOMOBSERVER_H
--- a/messagingfw/senduiservices/watcher/inc/senduipropertyobserver.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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: Launches SendUi Service Resolver in the event of:
-* - refresh request.
-* - MTM amount has changed since previous boot
-* - Phone language has change since previous boot*
-*/
-
-
-
-#ifndef C_CSENDUIPROPERTYOBSERVER_H
-#define C_CSENDUIPROPERTYOBSERVER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-class CSendUiWatcher;
-
-/**
- * ?one_line_short_description
- *
- * ?more_complete_description
- *
- * @lib ?library
- * @since S60 ?S60_version *** for example, S60 v3.0
- */
-class CSendUiPropertyObserver : public CActive
- {
-
-public:
-
- static CSendUiPropertyObserver* NewL( CSendUiWatcher* aParent );
-
- virtual ~CSendUiPropertyObserver();
-
-// from base class CActive
-
- /**
- * From CActive.
- *
- * @since S60 v3.2
- */
- void RunL();
-
- /**
- * From CActive.
- *
- * @since S60 v3.2
- */
- void DoCancel();
-
-private:
-
- CSendUiPropertyObserver( CSendUiWatcher* aWatcher );
-
- void ConstructL( );
-
-private: // data
-
- /**
- * Property for making update requests
- */
- RProperty iPropertyUpdateRequest;
-
- /**
- * Parent.
- * Not own.
- */
- CSendUiWatcher* iParent;
-
- };
-
-#endif // C_CSENDUIPROPERTYOBSERVER_H
--- a/messagingfw/senduiservices/watcher/inc/senduiwatcher.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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: SendUi Watcher signals service resolver, if service list
-* is in need of an update. Update events are implicit update
- (via Publish and Subcribe interface),
- and mtm installation/removal.
-*
-*/
-
-
-
-
-#ifndef C_CSENDUIWATCHER_H
-#define C_CSENDUIWATCHER_H
-
-
-#include <msvapi.h>
-#include <msvstd.h>
-#include <e32base.h>
-
-
-class CSendUiPropertyObserver;
-class CSendUiEcomObserver;
-class CSendUiWatcher;
-
-const TInt KSendUiServiceListUpdateDelay = 5000000;
-const TInt KSendUiWatcherUid = 0x102823B6;
-
-/**
- * ?one_line_short_description
- *
- * ?more_complete_description
- *
- * @lib ?library
- * @since S60 ?S60_version *** for example, S60 v3.0
- */
-class CSendUiWatcher : public CBase,
- public MMsvSessionObserver
- {
-
-public:
-
- static CSendUiWatcher* NewL( TAny* aWatcherParams );
-
- virtual ~CSendUiWatcher();
-
- /**
- * Invokes SendUi Service Resolver
- *
- * @since S60 v3.2
- */
-
- static TInt DoTaskL( TAny* aTask );
-
-
- void HandleUpdateServicesL( );
-
-
-// from base class MMsvSessionObserver
-
- /**
- * From MMsvSessionObserver.
- * HandleSessionEventL
- *
- * @since S60 v.3.2
- * @param aEvent Indicates the event type.
- * @param aArg1 Not used
- * @param aArg2 Not used
- * @param aArg3 Not used
- */
- void HandleSessionEventL(
- TMsvSessionEvent aEvent,
- TAny* /*aArg1*/,
- TAny* /*aArg2*/,
- TAny* /*aArg3*/ );
-
-private:
-
- CSendUiWatcher();
-
- void ConstructL();
-
- /**
- * Requests a timer event after short delay.
- *
- * @since S60 v3.2
- */
- void SetTimerL();
-
- /**
- * Gets feature status from FeatureManager and updates an internal feature flag.
- *
- * This is used for observing feature status changes and keeping sending service list up-to-date.
- *
- * @since S60 v5.0
- */
- void FeatureStatus( TInt aFeature, TInt &aNewFeatures, TInt aFeatureFlag );
-
- /**
- * Checks if Mtm count or language has changed and immediate update is needed.
- *
- * @since S60 v3.2
- */
- void CheckIfUpdateNeededL();
-
-private: // data
-
- /**
- * A channel of communication between a client thread and the Message
- * Server thread.
- * Own.
- */
- CMsvSession* iSession;
-
- /**
- * Publish and Subcribe API observer
- * Own.
- */
- CSendUiPropertyObserver* iPropertyObserver;
-
- /**
- * Observes Ecom events. Requests update, if SendUI Ecom service amount
- * changes.
- * Own.
- */
- CSendUiEcomObserver* iEcomObserver;
-
- /**
- * Own.
- */
- CPeriodic* iTimer;
-
- };
-
-
-#endif // C_CSENDUIWATCHER_H
--- a/messagingfw/senduiservices/watcher/src/senduiecomobserver.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +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: Listens Ecom events. Requests service update,
-* - if SendUI Ecom service count changes
-* - has changed since previous boot.
-*
-*/
-
-
-
-
-#include <e32base.h>
-#include <e32property.h>
-#include <ecom.h>
-
-#include "senduiecomobserver.h"
-#include "SendUiPrivateCRKeys.h"
-#include "senduiproperty.h"
-#include "senduiwatcher.h"
-#include "centralrepository.h"
-#include <SendingServiceInterfaceUids.hrh>
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CSendUiEcomObserver* CSendUiEcomObserver::NewL()
- {
- CSendUiEcomObserver* self = new ( ELeave ) CSendUiEcomObserver();
- CleanupStack::PushL( self );
- self->ConstructL( );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CSendUiEcomObserver::~CSendUiEcomObserver()
- {
- Cancel();
- }
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CSendUiEcomObserver::ConstructL()
- {
- CActiveScheduler::Add( this );
- RunL();
- }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CSendUiEcomObserver::CSendUiEcomObserver()
- : CActive( CActive::EPriorityStandard ), iEcomSession( REComSession::OpenL())
- {
- }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// ---------------------------------------------------------------------------
-//
-void CSendUiEcomObserver::DoCancel()
- {
- iEcomSession.CancelNotifyOnChange( iStatus );
- }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// ---------------------------------------------------------------------------
-//
-void CSendUiEcomObserver::RunL()
- {
- iEcomSession.NotifyOnChange( iStatus);
- CheckForUpdateL();
- SetActive();
- }
-
-// ---------------------------------------------------------------------------
-// CheckForUpdateL
-// Requests service list update if SendUI Ecom service count has changed.
-// ---------------------------------------------------------------------------
-//
-void CSendUiEcomObserver::CheckForUpdateL()
- {
- RImplInfoPtrArray implInfoArray ;
- REComSession::ListImplementationsL(
- TUid::Uid( KSendUiSendingServiceInterface ),implInfoArray );
- TInt newEcomCount = implInfoArray.Count();
- implInfoArray.ResetAndDestroy();
-
- CRepository* repository = CRepository::NewLC( KCRUidSendUi );
- TInt oldEcomCount = -1;
- // request service list update if sendui ecom service count has change.
- if ( repository->Get( KKeySendUiServiceEcomCount, oldEcomCount ) != KErrNone
- || oldEcomCount != newEcomCount )
- {
- repository->Set( KKeySendUiServiceEcomCount, newEcomCount );
- User::LeaveIfError(
- RProperty::Set(KPSUidSendUiProperty, KSendUiUpdateRequest, KSendUiUpdateRequested ) );
- }
- CleanupStack::PopAndDestroy( repository );
- }
-
-// end of file
--- a/messagingfw/senduiservices/watcher/src/senduipropertyobserver.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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: Launches SendUi Service Resolver in the event of:
-* - refresh request.
-* - MTM amount has changed since previous boot
-* - Phone language has change since previous boot
-*
-*/
-
-
-
-
-#include <e32base.h>
-#include <e32property.h>
-
-#include "senduipropertyobserver.h"
-#include "senduiproperty.h"
-#include "senduiwatcher.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CSendUiPropertyObserver* CSendUiPropertyObserver::NewL( CSendUiWatcher* aWatcher )
- {
- CSendUiPropertyObserver* self = new ( ELeave ) CSendUiPropertyObserver( aWatcher );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CSendUiPropertyObserver::~CSendUiPropertyObserver()
- {
- iPropertyUpdateRequest.Close();
- Cancel();
- }
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CSendUiPropertyObserver::ConstructL()
- {
- CActiveScheduler::Add( this );
-
- User::LeaveIfError(
- iPropertyUpdateRequest.Attach( KPSUidSendUiProperty, KSendUiUpdateRequest ) );
-
- iPropertyUpdateRequest.Subscribe( iStatus );
-
- SetActive();
- }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CSendUiPropertyObserver::CSendUiPropertyObserver( CSendUiWatcher* aParent )
- : CActive( CActive::EPriorityStandard ),
- iParent( aParent )
- {
- }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// ---------------------------------------------------------------------------
-//
-void CSendUiPropertyObserver::DoCancel()
- {
- iPropertyUpdateRequest.Close();
- }
-
-// ---------------------------------------------------------------------------
-// From class CActive
-// ---------------------------------------------------------------------------
-//
-void CSendUiPropertyObserver::RunL()
- {
- TInt value;
- if ( ( iPropertyUpdateRequest.Get(value) ) != KErrNotFound
- && value == KSendUiUpdateRequested )
- {
- iParent->HandleUpdateServicesL( );
- }
- iPropertyUpdateRequest.Subscribe( iStatus );
- SetActive();
- }
-
-// end of file
--- a/messagingfw/senduiservices/watcher/src/senduiwatcher.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +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: Launches SendUiServiceResolver in the events of:
-* At all times:
-* - mtm installation/removal
-* - Message Server events:
-* * EMsvEntryCreated
-* * EMsvEntryDeleted
-* * EMsvCorruptedIndexRebuilt
-* * EMsvMediaChanged
-* - Ecom service event arrives and SendUI Ecom service count has
-* changed since last boot.
-*
-*/
-
-
-
-
-#include <implementationproxy.h>
-#include <msvapi.h>
-#include <data_caging_path_literals.hrh>
-#include <msvids.h> // for KMsvRootIndexEntryId
-#include <coemain.h>
-#include <apgcli.h>
-#include <apacmdln.h>
-#include <eikdll.h>
-#include <apaflrec.h>
-#include <bldvariant.hrh>
-#include <e32property.h>
-#include <e32base.h>
-#include <centralrepository.h>
-#include <mtudreg.h>
-#include <featmgr.h>
-
-#include "senduiwatcher.h"
-#include "senduiecomobserver.h"
-#include "senduipropertyobserver.h"
-#include "senduiproperty.h"
-#include "SendUiPrivateCRKeys.h"
-#include "senduiserviceslog.h"
-
-_LIT( KSendUiLauncherApp, "SendUiServiceResolver.exe");
-
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( 0x102823B6, CSendUiWatcher::NewL )
- };
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
- {
- aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
- return ImplementationTable;
- }
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CSendUiWatcher* CSendUiWatcher::NewL( TAny* /*aWatcherParams */)
- {
- CSendUiWatcher* self=new (ELeave) CSendUiWatcher();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CSendUiWatcher::~CSendUiWatcher()
- {
- delete iPropertyObserver;
- delete iTimer;
- }
-
-// ---------------------------------------------------------------------------
-// DoTask
-// ---------------------------------------------------------------------------
-//
-TInt CSendUiWatcher::DoTaskL( TAny* aThis )
- {
- LOGTEXT(_L("CSendUiWatcher::DoTask >>"));
- CSendUiWatcher* watcher = static_cast<CSendUiWatcher*>( aThis );
- // We've waited long enough. Try to set to done. Ignore error.
- RProperty::Set(
- KPSUidSendUiProperty,
- KSendUiUpdateOperation,
- KSendUiUpdateOperationDone );
- watcher->HandleUpdateServicesL();
- LOGTEXT(_L("CSendUiWatcher::DoTask <<"));
- return KErrNone;
- }
-
-// ---------------------------------------------------------------------------
-// HandleUpdateServicesL
-// ---------------------------------------------------------------------------
-//
-void CSendUiWatcher::HandleUpdateServicesL()
- {
- LOGTEXT(_L("CSendUiWatcher::HandleUpdateServicesL >>"));
- TInt value;
- delete iTimer;
- iTimer = NULL;
-
- RProperty::Get( KPSUidSendUiProperty, KSendUiUpdateOperation, value );
- if ( value != KSendUiUpdateOperationDone )
- {
- // try again later
- SetTimerL();
- }
- else
- {
- // Run SendUiSr
- RApaLsSession ls;
-
- CApaCommandLine *cmd = CApaCommandLine::NewL();
- CleanupStack::PushL( cmd );
-
- cmd->SetExecutableNameL( KSendUiLauncherApp );
- cmd->SetCommandL( EApaCommandBackground );
- User::LeaveIfError( ls.StartApp( *cmd ) );
- CleanupStack::PopAndDestroy( cmd );
- }
- LOGTEXT(_L("CSendUiWatcher::HandleUpdateServicesL <<"));
- }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CSendUiWatcher::CSendUiWatcher() // first-phase C++ constructor
- {
- }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CSendUiWatcher::ConstructL() // second-phase constructor
- {
- if ( !iSession )
- {
- iSession = CMsvSession::OpenSyncL( *this );
- }
- TInt result( KErrNone );
-
- result = RProperty::Define(
- KPSUidSendUiProperty,
- KSendUiUpdateRequest,
- RProperty::EInt,
- TSecurityPolicy( ECapabilityReadUserData ),
- TSecurityPolicy( ECapabilityWriteUserData ));
-
- if ( result && result != KErrAlreadyExists )
- {
- User::LeaveIfError( result );
- }
-
- result = RProperty::Define(
- KPSUidSendUiProperty,
- KSendUiUpdateOperation,
- RProperty::EInt,
- TSecurityPolicy( ECapabilityReadUserData ),
- TSecurityPolicy( ECapabilityWriteUserData ));
-
- if ( result && result != KErrAlreadyExists )
- {
- User::LeaveIfError( result );
- }
-
- User::LeaveIfError(
- RProperty::Set(KPSUidSendUiProperty, KSendUiUpdateOperation, KSendUiUpdateOperationDone) );
-
- iPropertyObserver = CSendUiPropertyObserver::NewL( this );
-
- iEcomObserver = CSendUiEcomObserver::NewL();
-
- CheckIfUpdateNeededL();
- }
-
-// ---------------------------------------------------------------------------
-// UpdateFeature
-// ---------------------------------------------------------------------------
-//
-void CSendUiWatcher::FeatureStatus( TInt aFeature, TInt &aNewFeatures, TInt aFeatureFlag )
- {
- if ( FeatureManager::FeatureSupported( aFeature ) )
- {
- aNewFeatures |= aFeatureFlag;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CheckIfUpdateNeededL
-// ---------------------------------------------------------------------------
-//
-void CSendUiWatcher::CheckIfUpdateNeededL()
- {
- LOGTEXT(_L("CSendUiWatcher::CheckIfUpdateNeededL >>"));
- CRepository* repository = CRepository::NewLC( KCRUidSendUi );
-
- TInt storedValue(KErrNotFound);
- TBool updateNeeded( EFalse );
-
- // Request service list update if phone language has changed.
- // KErrNotFound language value also indicates unsuccesfull run of SendUiServiceResolver
- TInt result = repository->Get( KKeySendUiServiceLanguage, storedValue );
- if ( result != KErrNone || storedValue != User::Language() )
- {
- updateNeeded = ETrue;
- }
-
- // Issue service list update if mtm count has changed
- CMtmUiDataRegistry* mtmUiDataRegistry = CMtmUiDataRegistry::NewL( *iSession );
- TInt newMtmCount( KErrNotFound );
- if ( mtmUiDataRegistry )
- {
- newMtmCount = mtmUiDataRegistry->NumRegisteredMtmDlls();
- delete mtmUiDataRegistry;
- }
-
- result = repository->Get( KKeySendUiServiceMtmCount, storedValue ) ;
- if ( result != KErrNone || storedValue != newMtmCount )
- {
- result = repository->Set( KKeySendUiServiceMtmCount, newMtmCount );
- updateNeeded = ETrue;
- }
-
- TInt oldFeatures(0);
- TInt newFeatures(0);
- if ( repository->Get( KKeySendUiFeatureManagerServices, oldFeatures ) != KErrNone )
- {
- updateNeeded = ETrue;
- }
- FeatureManager::InitializeLibL();
- FeatureStatus( KFeatureIdMmsPostcard, newFeatures, KSendUiPostcard );
- FeatureStatus( KFeatureIdAudioMessaging, newFeatures, KSendUiAudioMessage );
- FeatureStatus( KFeatureIdSenduiMmsUpload, newFeatures, KSendUiMmsUpload );
- FeatureManager::UnInitializeLib();
- if ( newFeatures != oldFeatures )
- {
- repository->Set( KKeySendUiFeatureManagerServices, newFeatures );
- updateNeeded = ETrue;
- }
-
- CleanupStack::PopAndDestroy( repository );
-
- if ( updateNeeded )
- {
- HandleUpdateServicesL();
- }
- LOGTEXT(_L("CSendUiWatcher::CheckIfUpdateNeededL <<"));
- }
-
-// ---------------------------------------------------------------------------
-// SetTimerL
-// ---------------------------------------------------------------------------
-//
-void CSendUiWatcher::SetTimerL()
- {
- LOGTEXT(_L("CSendUiWatcher::SetTimerL >>"));
- if ( !iTimer )
- {
- iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
- iTimer->Start( KSendUiServiceListUpdateDelay,
- KSendUiServiceListUpdateDelay,
- TCallBack( DoTaskL, this));
- }
- LOGTEXT(_L("CSendUiWatcher::SetTimerL <<"));
- }
-
-void CSendUiWatcher::HandleSessionEventL(
- TMsvSessionEvent aEvent,
- TAny* /*aArg1*/,
- TAny* aArg2,
- TAny* /*aArg3*/ )
- {
- // TODO: Reconnect to message server
- switch ( aEvent )
- {
- case EMsvServerReady:
- {
- LOGTEXT(_L("Message Server is ready."));
- break;
- }
- case EMsvMtmGroupDeInstalled:
- case EMsvMtmGroupInstalled:
- {
- SetTimerL();
- break;
- }
-
- case EMsvEntriesCreated:// fall through
- case EMsvEntriesDeleted:
- {
- TMsvId folderId = KMsvNullIndexEntryId;
- folderId = (*(TMsvId*) (aArg2));
- if (folderId != KMsvRootIndexEntryId)
- {
- break;
- }
- SetTimerL();
- break;
-
- }
- case EMsvCorruptedIndexRebuilt:
- LOGTEXT2(_L("Watcher event %d"), aEvent);
- HandleUpdateServicesL();
- break;
- case EMsvCloseSession:
- case EMsvServerTerminated:
- delete iSession;
- iSession = NULL;
- LOGTEXT(_L("SendUiWatcher session was terminated"));
- break;
- case EMsvMediaChanged:// Added to handle change of Msg center
- SetTimerL();
- break;
- default:;
- }
- }
-
-// end of file
-
--- a/messagingfw/wappushfw/pushutils/test/t_pushmessage.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/pushutils/test/t_pushmessage.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -18,8 +18,8 @@
#include <s32file.h>
#include <push/pushmessage.h>
-#include <push/cmultipartbiniterator.h>
-#include <push/cmultiparttextiterator.h>
+#include "cmultipartbiniterator.h"
+#include "cmultiparttextiterator.h"
#include <push/pushlog.h>
#include "testlog.h"
--- a/messagingfw/wappushfw/pushutils/test/t_pushmessage.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/pushutils/test/t_pushmessage.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -19,10 +19,8 @@
USERINCLUDE ./. ../inc ../../pushwatcher/inc
USERINCLUDE ../../pushwatcher/test
-
MW_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-
+SYSTEMINCLUDE /epoc32/include/push
SOURCEPATH ./. ../src
SOURCE t_pushmessage.cpp
--- a/messagingfw/wappushfw/pushwatcher/src/ConnMan.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/pushwatcher/src/ConnMan.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -14,6 +14,7 @@
//
#include <commdb.h>
+#include <iapprefs.h>
#include <wapmessage.h>
#include "ConnMan.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/intentparser.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/intentparser.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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,7 +23,7 @@
#ifndef __INTENTPARSER_H__
#define __INTENTPARSER_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "parsehandlerbase.h"
#include "stringparser.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriacount.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriacount.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -14,7 +14,7 @@
//
#include <s32strm.h>
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "rightscriteriacount.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriacount.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriacount.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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,7 +23,7 @@
#define __RIGHTSCRITERIACOUNT_H__
#include <f32file.h>
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "intent.h"
class RReadStream;
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriaexpiry.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriaexpiry.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -14,7 +14,7 @@
//
#include <s32strm.h>
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "rightscriteriaexpiry.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriaexpiry.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RTAParser/rightscriteriaexpiry.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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,7 +23,7 @@
#define __RIGHTSCRITERIAEXPIRY_H__
#include <f32file.h>
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "intent.h"
class RReadStream;
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentcontent.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentcontent.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -13,7 +13,7 @@
// Description:
//
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "Reftestagentcontent.h"
#include "rtacontent.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentcontent.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentcontent.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -17,7 +17,7 @@
#define __REFTESTAGENTCONTENT_H__
#include <f32file.h>
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentinterface.h>
#include "rtacontent.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentdata.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentdata.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -13,7 +13,7 @@
// Description:
//
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "Reftestagentdata.h"
#include "drmfiles.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentdata.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentdata.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -16,7 +16,7 @@
#ifndef __REFTESTAGENTDATA_H__
#define __REFTESTAGENTDATA_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentinterface.h>
#include "rtaArchive.h"
#include "drmfilecontent.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentfactory.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentfactory.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2003-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"
@@ -13,7 +13,7 @@
// Description:
//
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include "Reftestagentfactory.h"
#include "Reftestagentcontent.h"
#include "Reftestagentdata.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentfactory.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentfactory.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -17,7 +17,7 @@
#ifndef __REFTESTAGENTFACTORY_H__
#define __REFTESTAGENTFACTORY_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentfactory.h>
using namespace ContentAccess;
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentimportfile.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentimportfile.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -16,7 +16,7 @@
#ifndef __REFTESTAGENTIMPORTFILE_H__
#define __REFTESTAGENTIMPORTFILE_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentinterface.h>
#include "rtaImport.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentmanager.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentmanager.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -13,7 +13,7 @@
// Description:
//
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <http.h>
#include <http/rhttpheaders.h>
#include <stringpool.h>
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentmanager.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentmanager.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -16,7 +16,7 @@
#ifndef __REFTESTAGENTMANAGER_H__
#define __REFTESTAGENTMANAGER_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentinterface.h>
#include "rtamanager.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentrightsmanager.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/RefTestAgent/Reftestagentrightsmanager.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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"
@@ -16,7 +16,7 @@
#ifndef __REFTESTAGENTRIGHTSMANAGER_H__
#define __REFTESTAGENTRIGHTSMANAGER_H__
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
#include <caf/agentinterface.h>
#include "rtarights.h"
--- a/messagingfw/wappushfw/tpush/RefTestAgent/inc/rightsobject.h Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/RefTestAgent/inc/rightsobject.h Tue Aug 31 15:41:11 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-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,7 +23,7 @@
#define __RIGHTSOBJECT_H__
#include <f32file.h>
-#include <caf/caf.h>
+#include <caf/cafplatform.h>
class RReadStream;
class RWriteStream;
--- a/messagingfw/wappushfw/tpush/plugins/tpushapphandler/tpushapphandler.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/plugins/tpushapphandler/tpushapphandler.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -19,7 +19,7 @@
#include <e32base.h>
#include <e32std.h>
#include <ecom/implementationproxy.h>
-#include <push/pushdispatcher.h>
+#include "pushdispatcher.h"
#include <push/pushlog.h>
#include <push/cpushhandlerbase.h>
#include <push/pluginkiller.h>
--- a/messagingfw/wappushfw/tpush/plugins/tpushapphandler/tpushapphandler.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/plugins/tpushapphandler/tpushapphandler.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -31,6 +31,7 @@
UID 0x10009D8D 0x102822AB
VENDORID 0x70000001
MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE /epoc32/include/push
USERINCLUDE ./.
--- a/messagingfw/wappushfw/tpush/t_wappush.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpush/t_wappush.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -40,10 +40,7 @@
SOURCE t_slcmessage.cpp t_sicmessage.cpp
SOURCE t_invalDTDMessage.cpp
SOURCE t_DRMmessage.cpp
-
-START RESOURCE wappushmtm.rss
- TARGETPATH /system/data
-END
+SYSTEMRESOURCE wappushmtm.rss
SOURCEPATH ../pushwatcher/src
SOURCE CLWatcher.cpp ConnMan.cpp
--- a/messagingfw/wappushfw/tpushscriptbased/t_wappushscriptbased.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/wappushfw/tpushscriptbased/t_wappushscriptbased.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -37,11 +37,7 @@
SOURCE t_baseMessage.cpp wappushmsggen.cpp
SOURCE t_wappush.cpp
SOURCE t_sislmessage.cpp t_simessage.cpp t_slmessage.cpp
-
-START RESOURCE wappushmtm.rss
- TARGETPATH /system/data
-END
-
+SYSTEMRESOURCE wappushmtm.rss
SOURCEPATH ../pushwatcher/src
SOURCE CLWatcher.cpp ConnMan.cpp
--- a/messagingfw/watcherfw/group/watcher.mmp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/watcherfw/group/watcher.mmp Tue Aug 31 15:41:11 2010 +0300
@@ -50,7 +50,7 @@
LIBRARY flogger.lib
#endif
-DEFFILE V2_WATCHER.DEF
+DEFFILE V2_watcher.DEF
VENDORID 0x70000001
--- a/messagingfw/watcherfw/src/watcher.cpp Thu Aug 19 10:24:00 2010 +0300
+++ b/messagingfw/watcherfw/src/watcher.cpp Tue Aug 31 15:41:11 2010 +0300
@@ -43,6 +43,7 @@
// Launch the start-up manager that will launch the watchers in the
// correct start-up state
CWatcherSSAStartupMgr* startupMgr = CWatcherSSAStartupMgr::NewL();
+ CleanupStack::PushL(startupMgr);
// The System Starter is waiting for us (start_method = EWaitForStart)
// so we rendez-vous so it can start the next process in the SSC
@@ -53,7 +54,7 @@
CActiveScheduler::Start();
// Tidy up
- CleanupStack::PopAndDestroy(scheduler);
+ CleanupStack::PopAndDestroy(2, scheduler);
}
static TInt DoLaunchThread(TAny*)
--- a/msgbranched/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:
-* BLD.INF file for msgbranched.
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-//IBY exports
-../rom/messageserver_rsc.iby LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(messageserver_rsc.iby)
-../rom/gtemailmtmResources.iby LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(gtemailmtmResources.iby)
-../rom/gtemailmtm.hby CORE_OS_LAYER_IBY_EXPORT_PATH(gtemailmtm.hby)
-../rom/messageserver.hby CORE_OS_LAYER_IBY_EXPORT_PATH(messageserver.hby)
-
-
-// export localised loc file
-../messaging/email/clientmtms/loc/imcm.loc OS_LAYER_LOC_EXPORT_PATH(imcm.loc)
-../messaging/email/clientmtms/loc/imcm_default_charset.loc OS_LAYER_LOC_EXPORT_PATH(imcm_default_charset.loc)
-../messaging/framework/server/loc/msgs.loc OS_LAYER_LOC_EXPORT_PATH(msgs.loc)
-
-PRJ_MMPFILES
-./msgbranched.mmp
-
-/* End of File */
-
--- a/msgbranched/group/dummy.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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: dummy implementation
-*
-*/
-
-
-
--- a/msgbranched/group/msgbranched.mmp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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:
-* This is project specification file for msgbranched.
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-TARGET msgbranched.lib
-TARGETTYPE lib
-UID 0x0 0x0
-
-START RESOURCE ../messaging/email/clientmtms/group/imcm.rss
-LANGUAGE_IDS
-HEADER
-TARGETPATH resource/messaging
-END
-
-START RESOURCE ../messaging/framework/server/group/msgs.rss
-LANGUAGE_IDS
-HEADER
-TARGETPATH resource/messaging
-END
-
-START RESOURCE ../nbprotocols/smsstack/smsu/group/smsu.rss
-LANGUAGE_IDS
-HEADER
-TARGETPATH private/101F7989/sms
-END
-
-SOURCE dummy.cpp
-
-USERINCLUDE ../messaging/email/clientmtms/group
-USERINCLUDE ../messaging/framework/server/group
-USERINCLUDE ../nbprotocols/smsstack/smsu/group
-
-MW_LAYER_SYSTEMINCLUDE
-
-// End of file
--- a/msgbranched/messaging/email/clientmtms/group/imcm.rls Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2004-2005 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: imcm.rls*
-*/
-
-
-
-rls_string STRING_forward_formatting_string1 "Fwd: %S"
-rls_string STRING_reply_formatting_string1 "Re: %S"
-rls_string STRING_receipt_formatting_string1 "Receipt of message: %S"
-rls_string STRING_email_address_formatting_string1 "\"%S\" <%S>"
-rls_string STRING_forward_body_header1 <0x2029><0x2029>"_______________ Forward Header _______________"<0x2029> // Header used in Body for Forwarded message
-rls_string STRING_forward_body_header2 "Subject:"<0x0009>"%S"<0x2029>
-rls_string STRING_forward_body_header3 "Author:"<0x0009>"%S"<0x2029>
-rls_string STRING_forward_body_header4 "Date:"<0x0009><0x0009>"%S"<0x2029>
-rls_string STRING_forward_body_header5 "To:"<0x0009><0x0009>"%S"<0x2029>
-rls_string STRING_forward_body_header6 "CC:"<0x0009><0x0009>"%S"<0x2029>
-rls_string STRING_reply_body_header1 <0x2029><0x2029>"________________ Reply Header ________________"<0x2029> // Header used in Body for Replied message
-rls_string STRING_reply_body_header2 "Subject:"<0x0009>"%S"<0x2029>
-rls_string STRING_reply_body_header3 "Author:"<0x0009>"%S"<0x2029>
-rls_string STRING_reply_body_header4 "Date:"<0x0009><0x0009>"%S"<0x2029>
-rls_string STRING_reply_body_header5 "To:"<0x0009><0x0009>"%S"<0x2029>
-rls_string STRING_reply_body_header6 "CC:"<0x0009><0x0009>"%S"<0x2029>
-rls_string STRING_body_header1 <0x2029><0x2029>"_______________ Message Header _______________"<0x2029> // Header used in Body for message
-rls_string STRING_body_header2 "Subject:"<0x0009>"%S"<0x2029>
-rls_string STRING_body_header3 "Author:"<0x0009>"%S"<0x2029>
-rls_string STRING_body_header4 "Recipient:"<0x0009>"%S"<0x2029>
-rls_string STRING_body_header5 "Date:"<0x0009><0x0009>"%S"<0x2029>
-rls_string STRING_removed_attachment_tag1 "Attachment not available : "
-rls_string STRING_retained_attachment_tag1 "Attached file : "
-rls_string STRING_default_attachment_name1 "Attachment"
-rls_string STRING_product_name1 "EPOC Email Version 2.10"
-rls_string STRING_timeout_dialog_title1 "Remote mailbox closed automatically"
-rls_string STRING_timeout_dialog_text1 "Remote mailbox has been idle for specified time"
-rls_string STRING_default_vcard_name1 "vcard"
-rls_string STRING_body_header_datetime_format "%D%X%N%Y%1 %2 %3 %-B%:0%J%:1%T%:3%+B" // DateTime format used in forward/reply body header. This string is substituted in the %s paramter in STRING_forward_body_header4 and STRING_reply_body_header4.
-rls_string STRING_partial_download_footer_message "This message has not been fully downloaded. There is still %d KB of text to be retrieved."
-rls_string STRING_default_system_charset "ISO-8859-1"
--- a/msgbranched/messaging/email/clientmtms/group/imcm.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* Copyright (c) 1998-2005 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: imcm.rss*
-*/
-
-
-
-#include "imcm.rls"
-#include <imcm.loc>
-#include <imcm_default_charset.loc>
-
-
-#define PARABREAK 8233
-#define TABCHAR 9
-
-STRUCT LBUF
- {
- LTEXT buffer; // non-zero terminated text string
- }
-
-STRUCT L8BUF
- {
- LTEXT8 buffer;
- }
-
-STRUCT INT8
- {
- BYTE value;
- }
-
-RESOURCE LBUF forward_formatting_string
- {
- buffer=qtn_mail_fwd"%S";
- }
-
-RESOURCE LBUF reply_formatting_string
- {
- buffer=qtn_mail_re"%S";
- }
-
-RESOURCE LBUF receipt_formatting_string
- {
- buffer=STRING_receipt_formatting_string1;
- }
-
-RESOURCE LBUF email_address_formatting_string
- {
- buffer="%S <%S>";//STRING_email_address_formatting_string1;
- }
-
-
-// Headers used in Body for Forwarded/Replyed message
-
-RESOURCE LBUF forward_body_header
- {
- buffer=<PARABREAK><PARABREAK>qtn_mail_forward_separator<PARABREAK>
- qtn_mail_copy_subject" %S"<PARABREAK>
- qtn_mail_copy_sender" %S"<PARABREAK>
- qtn_mail_copy_date" %S"<PARABREAK>;
- }
-
-RESOURCE LBUF forward_body_header_toonly
- {
- buffer=STRING_forward_body_header1
- STRING_forward_body_header2
- STRING_forward_body_header3
- STRING_forward_body_header5
- STRING_forward_body_header4;
- }
-
-RESOURCE LBUF forward_body_header_cconly
- {
- buffer=STRING_forward_body_header1
- STRING_forward_body_header2
- STRING_forward_body_header3
- STRING_forward_body_header6
- STRING_forward_body_header4;
- }
-
-RESOURCE LBUF forward_body_header_tocc
- {
- buffer=STRING_forward_body_header1
- STRING_forward_body_header2
- STRING_forward_body_header3
- STRING_forward_body_header5
- STRING_forward_body_header6
- STRING_forward_body_header4;
- }
-
-RESOURCE LBUF reply_body_header
- {
- buffer=<PARABREAK><PARABREAK>qtn_mail_reply_separator<PARABREAK>
- qtn_mail_copy_subject" %S"<PARABREAK>
- qtn_mail_copy_sender" %S"<PARABREAK>
- qtn_mail_copy_date" %S"<PARABREAK>;
- }
-
-RESOURCE LBUF reply_body_header_toonly
- {
- buffer=STRING_reply_body_header1
- STRING_reply_body_header2
- STRING_reply_body_header3
- STRING_reply_body_header5
- STRING_reply_body_header4;
- }
-
-RESOURCE LBUF reply_body_header_cconly
- {
- buffer=STRING_reply_body_header1
- STRING_reply_body_header2
- STRING_reply_body_header3
- STRING_reply_body_header6
- STRING_reply_body_header4;
- }
-
-RESOURCE LBUF reply_body_header_tocc
- {
- buffer=STRING_reply_body_header1
- STRING_reply_body_header2
- STRING_reply_body_header3
- STRING_reply_body_header5
- STRING_reply_body_header6
- STRING_reply_body_header4;
- }
-
-RESOURCE LBUF body_header
- {
- buffer=STRING_body_header1
- STRING_body_header2
- STRING_body_header3
- STRING_body_header4
- STRING_body_header5;
- }
-
-RESOURCE LBUF removed_attachment_tag
- {
- buffer=STRING_removed_attachment_tag1;
- }
-
-RESOURCE LBUF retained_attachment_tag
- {
- buffer=STRING_retained_attachment_tag1;
- }
-
-RESOURCE LBUF default_attachment_name
- {
- buffer=STRING_default_attachment_name1;
- }
-
-RESOURCE LBUF product_name
- {
- buffer=STRING_product_name1;
- }
-
-RESOURCE LBUF timeout_dialog_title
- {
- buffer=STRING_timeout_dialog_title1;
- }
-
-RESOURCE LBUF timeout_dialog_text
- {
- buffer=STRING_timeout_dialog_text1;
- }
-
-RESOURCE LBUF default_vcard_name
- {
- buffer=STRING_default_vcard_name1;
- }
-
-// List of available character sets in Charconv.h
-// at some point flags should be removed and only qtn_default_charset be used for all builds.
-RESOURCE L8BUF default_system_charset
- {
- buffer = qtn_default_email_charset;
- }
-
-// If this value is set to 1, 8 bit body text data and character set information will be stored
-// when downloaded via IMPS and POPS. The body text will be decoded to the correct character set
-// when opened. If this value is set to 0, the body text is decoded and stored when downloading.
-RESOURCE INT8 store_8bit_body_text
- {
- value = 1;
- }
-
-// Used for localised date time formatting for email forward and reply body headers
-RESOURCE LBUF body_header_datetime_format
- {
- buffer="%D%M%Y%/0%1%/1%2%/2%3%/3 %-B%:0%J%:1%T%:3%+B"; //STRING_body_header_datetime_format;
- }
-
-RESOURCE LBUF partial_download_footer_message
- {
- buffer=qtn_mail_rest_of_mail_not_fetched;
- }
-
-// If this value is set to 1,body text data will be stored when downloaded via IMPS and POPS using chunk storage option.
-// If this value is set to 0, the body text is stored by creating entire message in RAM.
-
-RESOURCE INT8 store_plain_body_text
- {
- value = 0;
- }
--- a/msgbranched/messaging/email/clientmtms/loc/imcm.loc Thu Aug 19 10:24:00 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:
-* This is a localisation file for imcm.dll
-* A .loc file is the one and only place where the logical strings
-* to be localised are defined.
-* >>>
-* The text between >>> and <<< is just to document the syntax and
-* you can remove it if you like.
-*
-*/
-
-
-
-
-// LOCALISATION STRINGS
-
-// d: Added in the beginning of the subject line when replying
-// l: mce_header_field_pane_t1
-#define qtn_mail_re "RE: "
-
-// d: Added in the beginning of the subject line when forwarding
-// l: mce_header_field_pane_t1
-#define qtn_mail_fwd "FWD: "
-
-// d: Text to be inserted into a message when replying
-// d: Inerted in the beginning of the original message
-// l: msg_header_pane_t2
-#define qtn_mail_reply_separator "--- original message ---"
-
-// d: Text to be inserted into a message when forwarding
-// d: Inserted in the beginning of the original message
-// l: msg_header_pane_t2
-#define qtn_mail_forward_separator "--- original message ---"
-
-// d: Text to be inserted into a message when forwarding or replying
-// d: Inserted in the beginning of the original message
-// l: msg_header_pane_t2
-#define qtn_mail_copy_subject "Subject:"
-
-// d: Text to be inserted into a message when forwarding or replying
-// d: Inserted in the beginning of the original message
-// l: msg_header_pane_t2
-#define qtn_mail_copy_sender "Sender:"
-
-// d: Text to be inserted into a message when forwarding or replying
-// d: Inserted in the beginning of the original message
-// l: msg_header_pane_t2
-#define qtn_mail_copy_date "Date:"
-
-// d: Text to be inserted into a message body if part of message body is filtered out
-// l:none
-#define qtn_mail_rest_of_mail_not_fetched "- - - Retrieve total mail selecting Retrieve from Options list. - - -"
-
-// End of File
--- a/msgbranched/messaging/email/clientmtms/loc/imcm_default_charset.loc Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* !!!!!!!LOCALISATION INSTRUCTIONS, IMPORTANT!!!!!!!
-* These default charsets are used to define correct default charsets for different builds.
-*
-*/
-
-
-
-// d: This is not visible to the user!
-// l: None
-#define qtn_default_email_charset "ISO-8859-1"
-
-// End of File
--- a/msgbranched/messaging/framework/server/group/msgs.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 1998-2003 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: msgs.rss*
-*/
-
-
-
-#include <msgs.loc>
-#include <msvstd.hrh>
-
-// Flags - defined in TMsvEntry
-
-#define KMsvEntryLowPriority 0x0000
-#define KMsvEntryMediumPriority 0x0001
-#define KMsvEntryHighPriority 0x0002
-
-//#define KMsvEntryStoreFlag 0x0004 // Not used
-#define KMsvEntryNotCompleteFlag 0x0008 // the netry is marked as incomplete
-#define KMsvEntryNewFlag 0x0010
-#define KMsvEntryUnreadFlag 0x0020
-#define KMsvEntryInvisibleFlag 0x0200 // will be invisible to the user
-#define KMsvEntryMultipleRecipientFlag 0x0400
-//#define KMsvEntryFileFlag 0x0800 // Not used
-#define KMsvEntryReadOnlyFlag 0x1000 // the entry or store cannot be altered
-#define KMsvEntryStandardFolder 0x4000 // the entry will be place at beginning of a selection
-
-
-
-STRUCT SERVERENTRY
- {
- LONG id;
- LONG parent;
- LONG service=KMsvLocalServiceIndexEntryIdValue;
- LONG type;
- LONG mtm=KUidMsvLocalServiceMtmValue;
- LONG flags=KMsvEntryMediumPriority;
- LTEXT description="";
- LTEXT details="";
- }
-
-STRUCT SERVERSTARTUPINDEX
- {
- STRUCT entries[]; // must be SERVERENTRY's
- }
-
-RESOURCE SERVERSTARTUPINDEX r_server_index_startup
- {
- entries=
- {
- SERVERENTRY { id=KMsvLocalServiceIndexEntryIdValue;
- parent=KMsvRootIndexEntryIdValue;
- type=KUidMsvServiceEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details="Local"; },
- SERVERENTRY { id=KMsvGlobalInBoxIndexEntryIdValue;
- parent=KMsvLocalServiceIndexEntryIdValue;
- type=KUidMsvFolderEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=qtn_mce_inbox; },
- SERVERENTRY { id=KMsvGlobalOutBoxIndexEntryIdValue;
- parent=KMsvLocalServiceIndexEntryIdValue;
- type=KUidMsvFolderEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=qtn_mce_outbox; },
- SERVERENTRY { id=KMsvDraftEntryIdValue;
- parent=KMsvLocalServiceIndexEntryIdValue;
- type=KUidMsvFolderEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=qtn_mce_drafts; },
- SERVERENTRY { id=KMsvSentEntryIdValue;
- parent=KMsvLocalServiceIndexEntryIdValue;
- type=KUidMsvFolderEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=qtn_mce_sent_items; },
- SERVERENTRY { id=0x1008;
- parent=KMsvLocalServiceIndexEntryIdValue;
- type=KUidMsvFolderEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=qtn_mce_documents; },
- SERVERENTRY { id=0x1009;
- parent=0x1008;
- type=KUidMsvFolderEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder;
- details=qtn_mce_doc_temp_folder; },
- SERVERENTRY { id=KMsvDeletedEntryFolderEntryIdValue;
- parent=KMsvLocalServiceIndexEntryIdValue;
- type=KUidMsvFolderEntryValue;
- flags=KMsvEntryReadOnlyFlag|KMsvEntryStandardFolder|KMsvEntryInvisibleFlag;
- details="Deleted"; }
- };
- }
-
-// end of file
--- a/msgbranched/messaging/framework/server/loc/msgs.loc Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2000 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 contains the localised strings for msgs
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-// d: Main view list item.
-// d: Inbox
-// l: list_single_large_graphic_pane_t1
-//
-#define qtn_mce_inbox "Inbox"
-
-// d: Main view list item.
-// d: Documents
-// l: list_single_large_graphic_pane_t1
-//
-#define qtn_mce_documents "Documents"
-
-// d: Main view list item.
-// d: Drafts
-// l: list_single_large_graphic_pane_t1
-//
-#define qtn_mce_drafts "Drafts"
-
-// d: Main view list item.
-// d: Sent items
-// l: list_single_large_graphic_pane_t1
-//
-#define qtn_mce_sent_items "Sent items"
-
-// d: Main view list item.
-// d: Outbox
-// l: list_single_large_graphic_pane_t1
-//
-#define qtn_mce_outbox "Outbox"
-
-// d: Documents view list item. First item of the list when Documents folder is opened.
-// l: list_double_graphic_pane_t1
-//
-#define qtn_mce_doc_temp_folder "Templates"
-
-
-// End of File
-
-
--- a/msgbranched/nbprotocols/smsstack/smsu/group/smsu.rss Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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:
-* Smsu resource file.
-*
-*/
-
-
-
-//////////////////////////////////////////////////////////////////////////
-//
-// smsu.RSS
-//
-// Copyright (c) 2003 Symbian Ltd. All rights reserved.
-//
-//////////////////////////////////////////////////////////////////////////
-
-#include <systemwarninglevels.hrh>
-
-STRUCT MinDiskSpaceHolder { LONG value; }
-
-// Nokia : normal sms level linked to critical level in SystemWarningLevels.hrh,
-// class 0 sms level agreed to be 20K.
-RESOURCE MinDiskSpaceHolder r_lowlimit_diskspace_holder { value = 20480; }
-RESOURCE MinDiskSpaceHolder r_highlimit_diskspace_holder { value = KDRIVECCRITICALTHRESHOLD; }
--- a/msgbranched/rom/gtemailmtm.hby Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-#ifndef __GTEMAILMTM_HBY__
-#define __GTEMAILMTM_HBY__
-
-//
-// Moved to gtemailmtmResources.iby
-//
-//data=MULTI_LINGUIFY(RSC DATAZ_\resource\messaging\imcm resource\messaging\imcm)
-
-#endif
--- a/msgbranched/rom/gtemailmtmResources.iby Thu Aug 19 10:24:00 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: gtemailmtmResources.iby*
-*/
-
-#ifndef __GTEMAILMTM_RESOURCES_IBY__
-#define __GTEMAILMTM_RESOURCES_IBY__
-
-// Refer to gtemailmtm.hby
-data=DATAZ_\resource\messaging\imcm.rsc resource\messaging\imcm.rsc
-
-#endif
\ No newline at end of file
--- a/msgbranched/rom/messageserver.hby Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-#ifndef __MESSAGESERVER_HBY__
-#define __MESSAGESERVER_HBY__
-
-//
-// Moved to \s60\mce\rom\messageserver_rsc.iby
-//
-//data=MULTI_LINGUIFY(RSC DATAZ_\resource\messaging\MSGS resource\messaging\MSGS)
-
-#endif
--- a/msgbranched/rom/messageserver_rsc.iby Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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: Defines Series60 localized files
-*
-*/
-
-
-
-#ifndef __MESSAGESERVER_RSC_IBY__
-#define __MESSAGESERVER_RSC_IBY__
-
-//Resource file(s) for Message server
-data=DATAZ_\MTM_RESOURCE_DIR\msgs.rsc MTM_RESOURCE_DIR\msgs.rsc
-#endif
--- a/msgfw_plat/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ b/msgfw_plat/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -18,5 +18,6 @@
#include "../always_online_plugin_api/group/bld.inf"
#include "../always_online_client_api/group/bld.inf"
#include "../msg_common_utils_api/group/bld.inf"
-#include "../send_ui_plugin_api/group/bld.inf"
-#include "../send_ui_datautils_api/group/bld.inf"
+//#include "../send_ui_plugin_api/group/bld.inf"
+//#include "../send_ui_datautils_api/group/bld.inf"
+#include "../muiu_utils_api/group/bld.inf"
--- a/msgfw_plat/msg_common_utils_api/inc/MsgVoIPExtension.h Thu Aug 19 10:24:00 2010 +0300
+++ b/msgfw_plat/msg_common_utils_api/inc/MsgVoIPExtension.h Tue Aug 31 15:41:11 2010 +0300
@@ -22,7 +22,7 @@
#include <e32base.h>
// FORWARD DECLARATIONS
-class CSPSettings;
+//class CSPSettings;
// CLASS DECLARATION
@@ -86,13 +86,8 @@
* A Service provider settings
* Own.
*/
- CSPSettings* iSPSettings;
- /**
- * A VOIP support
- * This member has been added to check if VOIP is enabled via FeatureManager, instead of using #define __VOIP
- * Own.
- */
- TBool iVoIPFeatureSupport;
+ // CSPSettings* iSPSettings;
+
};
#endif // MsgVoIPEXTENSION_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msgfw_plat/muiu_utils_api/group/bld.inf Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* 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: File that exports the files belonging to
+: Messaging Center Ui Utilities API
+*
+*/
+
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/MuiuServiceUtilities.h MW_LAYER_PLATFORM_EXPORT_PATH(MuiuServiceUtilities.h)
+../inc/MtmExtendedCapabilities.hrh MW_LAYER_PLATFORM_EXPORT_PATH(MtmExtendedCapabilities.hrh)
+../inc/MuiuMsvSingleOpWatcher.h MW_LAYER_PLATFORM_EXPORT_PATH(MuiuMsvSingleOpWatcher.h)
+../inc/MsvFactorySettings.h MW_LAYER_PLATFORM_EXPORT_PATH(MsvFactorySettings.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msgfw_plat/muiu_utils_api/inc/MsvFactorySettings.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* 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: MsvFactorySettings declaration
+*
+*/
+
+
+
+#ifndef MSVFACTORYSETTINGS_H__
+#define MSVFACTORYSETTINGS_H__
+
+// INCLUDES
+#include "MtmExtendedCapabilities.hrh"
+
+// CLASS DECLARATION
+
+/**
+* MsvFactorySettings
+* static class for RestoryFactorySettings module.
+* Mtm ui module should implement function
+* CMsvOperation* CBaseMtmUi::InvokeSyncFunctionL( TInt aFunctionId, const CMsvEntrySelection& aSelection, TDes8& aParameter )
+* with parameters:
+* aFunctionId: KMtmUiFunctionRestoreFactorySettings
+* aSelection can be ignored
+* aParameter: EMsvFactorySettingsLevelNormal needs to be implemented,
+* EMsvFactorySettingsLevelDeep is not used.
+*/
+class MsvFactorySettings
+ {
+ public:
+ /**
+ * Goes through every mtm ui and calls
+ * CMsvOperation* CBaseMtmUi::InvokeSyncFunctionL(TInt aFunctionId, const CMsvEntrySelection& aSelection, TDes8& aParameter)
+ * @param aLevel: EMsvFactorySettingsLevelNormal (or EMsvFactorySettingsLevelDeep)
+ */
+ IMPORT_C static void ResetL( TMsvFactorySettingsLevel aLevel );
+ };
+
+#endif // MSVFACTORYSETTINGS_H__
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msgfw_plat/muiu_utils_api/inc/MtmExtendedCapabilities.hrh Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* 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:
+* Defines extended capabilities
+*
+*/
+
+
+
+#ifndef __MTMEXTENDEDCAPABILITIES_HRH__
+#define __MTMEXTENDEDCAPABILITIES_HRH__
+
+#if !defined KMtmUiFunctionPrint
+#include <mtmuidef.hrh>
+#endif // KMtmUiFunctionPrint
+
+//#include <ExtendedMTMIDS.hrh>
+
+// Capabilties
+#define KUidMsvMtmQueryMessageInfo 0x10005996 // response true/false
+#define KUidMsvMtmQueryFactorySettings 0x10005997 // response true/false
+#define KUidMsvMtmQueryViewerUidValue 0x10006516 // response viewer UID
+#define KUidMsvMtmCanActOnNewMessagesUidValue 0x10006551 // obsolete
+#define KUidMtmQueryCanCreateNewMsgValue 0x10008b24 // return value only
+#define KUidMsvMtmUiQueryExtendedGetMailProgress 0x10009293 // obsolete
+#define KUidQueryNeedsAccountButCannotCreateValue 0x100096C6 // obsolete
+#define KMtmUiSupportMeetingRequest 0x102072B9
+#define KMtmUiSupportICal 0x10207359
+#define KUidMsvMtmQuerySupportValidateSelection 0x10281EF6 // response true/false
+
+
+// Function ids
+// KMtmFirstFreeMtmUiFunctionId declared in <mtmuidef.h>
+#define KMtmUiNewMessageAction 0x00201000 // KMtmFirstFreeMtmUiFunctionId
+#define KMtmUiFirstFreeDFRDMTMFunctionId 0x00202000 // KMtmFirstFreeMtmUiFunctionId + 0x1000
+#define KMtmUiFirstPlatformMTMFunctionId 0x00203000 // KMtmFirstFreeMtmUiFunctionId + 0x2000
+
+#define KMtmUiFunctionMessageInfo 0x00203000 // KMtmUiFirstPlatformMTMFunctionId
+#define KMtmUiFunctionRestoreFactorySettings 0x00203001
+#define KMtmUiMceWriteMessageSubmenu 0x00203002
+#define KMtmUiMceWriteMessagePopup 0x00203003
+#define KMtmUiMceSettingsTitlePane 0x00203005
+#define KMtmUiFunctionDeleteMessage 0x00203007
+#define KMtmUiFunctionFetchMMS 0x00203008
+#define KMtmUiFunctionOpenMessage 0x00203009
+#define KMtmUiFunctionMoveTo 0x0020300A
+#define KMtmUiFunctionDeferSending 0x0020300B
+#define KMtmUiFunctionSend 0x0020300C
+#define KMtmUiFunctionForward 0x0020300D
+#define KMtmUiFunctionFetchSyncML 0x0020300E
+#define KMtmUiFunctionMarkAsRead 0x0020300F
+#define KMtmUiFunctionMMBox 0x00203010
+#define KMtmUiFunctionUpload 0x00203011
+#define KMtmUiFunctionDeliveryStatus 0x00203012
+#define KMtmUiFunctionPreCreateMessage 0x00203014
+
+#define KMtmUiFirstFreePlatformMTMFunctionId 0x00203100 // KMtmFirstFreeMtmUiFunctionId + 0x2100
+
+/**
+* Factory settings parameter
+* Mtm's supporting this RFS feature should implement function id
+* KMtmUiFunctionRestoreFactorySettings and handle parameter EMsvFactorySettingsLevelNormal.
+* EMsvFactorySettingsLevelDeep is never used because RFS impelement this feature
+* by removing whole c:/system/mail directory and then mailinit will be called.
+* See Series_60_Messaging_UI_Utilities_B.doc section "User's Guide" for details.
+*/
+enum TMsvFactorySettingsLevel
+ {
+ EMsvFactorySettingsLevelDeep = 0x0,
+ EMsvFactorySettingsLevelNormal
+ };
+
+
+#endif // __MTMEXTENDEDCAPABILITIES_HRH__
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msgfw_plat/muiu_utils_api/inc/MuiuMsvSingleOpWatcher.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,125 @@
+/*
+* 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:
+* Messaging progress watching classes
+*
+*/
+
+
+
+
+#ifndef __MUIUMSVSINGLEOPWATCHER_H__
+#define __MUIUMSVSINGLEOPWATCHER_H__
+
+// INCLUDES
+#include <e32base.h>
+#include <msvstd.h>
+
+
+// CONSTANTS
+const TInt KMsvSingleOpWatcherArrayGranularity = 4;
+
+
+// FORWARD DECLARATIONS
+class CMsvOperation;
+class MMsvSingleOpWatcher;
+
+
+
+// CLASS DECLARATION
+
+/**
+* CMsvOperation watcher class.
+*/
+class CMsvSingleOpWatcher : public CActive
+ {
+ public:
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CMsvSingleOpWatcher* NewLC( MMsvSingleOpWatcher& aObserver );
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CMsvSingleOpWatcher* NewL( MMsvSingleOpWatcher& aObserver );
+
+ /**
+ * Destructor
+ */
+ IMPORT_C ~CMsvSingleOpWatcher();
+
+ /**
+ * Sets operation
+ * Must only be called once during the lifetime of a CMsvSingleOpWatcher
+ * object.
+ */
+ IMPORT_C void SetOperation( CMsvOperation* aOperation );
+
+ /**
+ * Returns reference to the operation
+ */
+ IMPORT_C CMsvOperation& Operation() const;
+
+ private:
+ /**
+ * C++ constructor
+ */
+ CMsvSingleOpWatcher( MMsvSingleOpWatcher& aObserver );
+
+ /**
+ * Symbian OS constructor
+ */
+ void ConstructL();
+
+ /**
+ * From CActive
+ */
+ virtual void DoCancel();
+
+ /**
+ * From CActive
+ */
+ virtual void RunL();
+
+ private:
+ MMsvSingleOpWatcher& iObserver;
+ CMsvOperation *iOperation;
+ };
+
+
+/**
+* Mixin class MMsvSingleOpWatcher
+*
+* Function OpCompleted is called when operation is completed.
+*/
+class MMsvSingleOpWatcher
+ {
+ public:
+ virtual void OpCompleted( CMsvSingleOpWatcher& aOpWatcher, TInt aCompletionCode ) = 0;
+ };
+
+
+/**
+* Class CMsvSingleOpWatcherArray
+*
+* Use this define when we want to use an array of CMsvSingleOpWatcher objects.
+*/
+
+typedef CArrayPtrFlat<CMsvSingleOpWatcher> CMsvSingleOpWatcherArray;
+
+
+#endif // __MSVSINGLEOPWATCHER_H__
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msgfw_plat/muiu_utils_api/inc/MuiuServiceUtilities.h Tue Aug 31 15:41:11 2010 +0300
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2002 - 2005 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: MuiuServiceUtilities declaration
+*
+*/
+
+
+
+
+#ifndef __MUIUSERVICEUTILITIES_H__
+#define __MUIUSERVICEUTILITIES_H__
+
+// INCLUDES
+#include <msvipc.h>
+
+// FORWARD DECLARATIONS
+class CMsvSession;
+class RFs;
+
+
+/**
+* Static class to help service handling.
+*/
+class MsvUiServiceUtilities
+ {
+ public:
+
+ /**
+ * Collects all the services.
+ * @param aSession: reference to CMsvSession object
+ * @param aAlwaysListHidden: boolean to show hidden services or not.
+ * @return array of all the services found.
+ * NOTE: Calling module is responsible to delete array.
+ */
+ IMPORT_C static CMsvEntrySelection* GetListOfAccountsL(
+ CMsvSession& aSession,
+ TBool aAlwaysListHidden=EFalse );
+
+ /**
+ * Collects all the services of certain mtm type.
+ * @param aSession: reference to CMsvSession object
+ * @param aMtm: uid of the mtm type to be searched.
+ * @param aAlwaysListHidden: boolean to show hidden services or not.
+ * @return array of all the services found.
+ * NOTE: Calling module is responsible to delete array.
+ */
+ IMPORT_C static CMsvEntrySelection* GetListOfAccountsWithMTML(
+ CMsvSession& aSession,
+ TUid aMtm,
+ TBool aAlwaysListHidden=EFalse );
+ /**
+ * Checks if the disk storage will fall below Critical Level (CL)
+ * if a number of bytes are stored to the disk. Takes account where
+ * message store resides (in c: or possible in memory card).
+ * The CL is defined by SysUtil.
+ * Usage os this function is same as SysUtil::FFSSpaceBelowCriticalLevelL.
+ * @param aSession: reference to CMsvSession object
+ * @param aBytesToWrite number of bytes the caller is about to add
+ * to the disk, if known by the caller beforehand.
+ * If not known, the default value 0 checks if the current
+ * space is already below the CR.
+ * @return ETrue if storage space would go below CL after adding
+ * aBytes more data, EFalse otherwise.
+ *
+ */
+ IMPORT_C static TBool DiskSpaceBelowCriticalLevelL( CMsvSession& aSession,
+ TInt aBytesToWrite );
+
+ /**
+ * Checks if the disk storage will fall below critical level when performing
+ * an operation which consumes phone memory in addition to message
+ * store memory.
+ *
+ * For example, sending consumes always memory from CDrive is current drive CDrive or not.
+ *
+ * If current drive is not CDrive then check that free memory of CDrive is greater than
+ * aPhoneMemoryOverheadBytes plus KDRIVECCRITICALTHRESHOLD(defined in SharedDataKeys.h) .
+ * After that check that free memory of current drive is
+ * greater than aBytesToWrite plus KDRIVECCRITICALTHRESHOLD.
+ *
+ * If current drive is CDrive then check that free memory of CDrive is greater than
+ * aPhoneMemoryOverheadBytes plus aBytesToWrite plus KDRIVECCRITICALTHRESHOLD.
+ *
+ * @param aSession: reference to CMsvSession object
+ * @param aBytesToWrite number of bytes the caller is about to add
+ * to the disk, if known by the caller beforehand.
+ * If not known, the default value 0 checks if the current
+ * space is already below the CR.
+ * @param aPhoneMemoryOverheadBytes Sending consumes always memory from C drive.
+ * So if current drive is memory card or other than CDrive we must
+ * check that free memory of CDrive is greater than aPhoneMemoryOverheadBytes plus
+ * KDRIVECCRITICALTHRESHOLD.
+ * @return ETrue if storage space would go below critical level, EFalse otherwise.
+ */
+ IMPORT_C static TBool DiskSpaceBelowCriticalLevelWithOverheadL( CMsvSession& aSession,
+ TInt aBytesToWrite,
+ TInt aPhoneMemoryOverheadBytes );
+
+ /**
+ * Test if aAddress is format <name>'@'<domain>
+ * If <name> is between "-marks, it can contain any chars between ' ' and Del
+ * (127).
+ * Otherwise it can contain chars between ' ' and Del (127),
+ * but not centain special chars.
+ * Valid name can not contain two dots sequense.
+ * <domain>-part is tested with function IsValidDomainL.
+ * @since 3.0
+ * @param aAddress: email address to be checked.
+ * @return Returns ETrue if aAddress is a lexically valid emailaddress.
+ */
+ IMPORT_C static TBool IsValidEmailAddressL( const TDesC& aAddress );
+
+ /**
+ * Test if aDomain is format <char>+{"."<char>+}+
+ * Valid char is char between ' ' and Del (127).
+ * Valid domain name can not include centain special chars.
+ * @since 3.0
+ * @param aDomain: domain to be checked.
+ * @return Returns ETrue if aDomain is a lexically valid domain name.
+ */
+ IMPORT_C static TBool IsValidDomainL( const TDesC& aAddress );
+
+ private:
+ /**
+ * internal
+ */
+ static CMsvEntrySelection* DoGetListOfAccountsL(
+ CMsvSession& aSession,
+ TUid aMtm,
+ TBool aAlwaysListHidden=EFalse);
+
+ };
+
+#endif //__MUIUSERVICEUTILITIES_H__
+
+// End of file
--- a/msgfw_plat/send_ui_datautils_api/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 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: File that exports the files belonging to
-: Send UI datautils API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/CSendUiAttachment.h MW_LAYER_PLATFORM_EXPORT_PATH(CSendUiAttachment.h)
-../inc/SendUiFileRightsEngine.h MW_LAYER_PLATFORM_EXPORT_PATH(SendUiFileRightsEngine.h)
-../inc/SendUiOperationWait.h MW_LAYER_PLATFORM_EXPORT_PATH(SendUiOperationWait.h)
-../inc/CSendUiAttachment.inl MW_LAYER_PLATFORM_EXPORT_PATH(CSendUiAttachment.inl)
-../inc/SendUiDataUtils.h MW_LAYER_PLATFORM_EXPORT_PATH(SendUiDataUtils.h)
--- a/msgfw_plat/send_ui_datautils_api/inc/CSendUiAttachment.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* Copyright (c) 2002-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: Encapsulates message real addressa and alias
-*
-*/
-
-
-
-#ifndef T_ATTACHMENTFILE_H
-#define T_ATTACHMENTFILE_H
-
-#include <e32base.h>
-#include <apmstd.h>
-
-// Forward declarations
-class RFs;
-class RFile;
-class TDesC16;
-class RApaLsSession;
-class CDesC16Array;
-class CRichText;
-class CMsvSession;
-class CFileMan;
-
-NONSHARABLE_CLASS (CSendUiAttachment) : public CBase
- {
-public:
-
- enum TSendUiAttachmentType
- {
- EAttachmentHandle,
- EAttachmentPath
- };
-
- enum TSendUiAttachmentFlags
- {
- EAttachmentTemporary = 0x01 // The file will be deleted at object destruction
- };
-
-public:
-
- /**
- * NewLC
- *
- * Member variables iPath, iHandle and iSize are guaranteed to have a correct values
- * after creation. Owns created iHandle.
- *
- * @return Pointer to a valid CSendUiAttachment object.
- */
- static CSendUiAttachment* NewLC( const TDesC16* aPath, RFs& aRFs );
-
- /**
- * NewLC
- *
- * @param aHandle Does not take ownership of aHandle. iHandle is not own.
- */
- static CSendUiAttachment* NewLC( const RFile* aHandle );
-
- /**
- * NewLC
- *
- * @param aBodyText Object of CRichText. Temporary attachment file is created, which
- * takes name of first characters of the CRichText object. The created iHandle
- * is own.
- */
- static CSendUiAttachment* NewLC( const CRichText& aBodyText, RFs& aRFs );
-
- void ConstructL( const TDesC16* aPath, RFs& aRFs );
-
- void ConstructL( const CRichText& aBodyText, RFs& aRFs );
-
- CSendUiAttachment( );
-
- virtual ~CSendUiAttachment();
-
- /**
- * InitAttachmentArrayLCC
- *
- * Static init function for importing file paths and handles into CSendUiAttachment
- * array.
- */
- IMPORT_C static CArrayPtrFlat<CSendUiAttachment>* InitAttachmentArrayLCC(
- const CDesC16Array& aPaths,
- const RArray<RFile>& aHandles,
- RFs& aFSs );
-
-
- /**
- * Returns type of the attachment
- * @return EAttachmentHandle or EAttachmentPath
- */
- IMPORT_C TInt Type();
-
- /**
- * Creates temporary path
- *
- * This is used to save the temporary body text attachment. See above.
- * @since Series 60 v3.2
- * @param aTempFileName Name of a temporary file
- */
- IMPORT_C static void CreateTempPathL(
- TDes16& aCompletePath,
- TFileName& aTempFileName,
- RFs& aRFs );
-
- /**
- * @return A path to the attachment
- */
- inline const TDesC16* Path();
-
- /**
- * @return A handle to the attachment
- */
- inline const RFile* Handle();
-
- /**
- * Set MimeType of the attachment
- * @return None
- */
- inline void SetMimeType( TDataType aMimeType );
-
- /**
- * Return Mime type descriptor
- * @return Mime type description
- */
- inline const TPtrC8 MimeType();
-
- /**
- * @return Size of file. Size is set during construction.
- */
- inline TInt Size();
-
- /**
- * Set flag(s)
- * @param aFlag
- */
- inline void SetFlags( TInt aFlag );
-
- /**
- * File flags
- * @return Flags.
- */
- inline TBool Flag( TInt aFlag );
-
-
-private:
-
- /**
- * Size of attachment. Initialized in construction.
- */
- TInt iSize;
-
- /**
- * Flags.
- */
- TInt iFlags;
-
- /**
- * MimeType
- */
- TDataType iMimeType;
-
- /**
- * Handle to the attachment.
- * Owns, if iPath is not NULL.
- * Does not own, if iPath is NULL.
- *
- * Note: See NewLC functions for clarification of ownership.
- */
- const RFile* iHandle;
-
- /**
- * Path to the attachment.
- * Owns.
- */
- TDesC16* iPath;
-
- /**
- * FileManager. Used for file operations with the temporary file.
- * Owns.
- */
- CFileMan* iFileManager;
- };
-
-
-#include "CSendUiAttachment.inl"
-
-#endif
\ No newline at end of file
--- a/msgfw_plat/send_ui_datautils_api/inc/CSendUiAttachment.inl Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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: CSendUiAttachment.inl*
-*/
-
-
-
-// -----------------------------------------------------------------------------
-// Path
-// -----------------------------------------------------------------------------
-//
-inline const TDesC16* CSendUiAttachment::Path()
- {
- return iPath;
- }
-
-// -----------------------------------------------------------------------------
-// Handle
-// -----------------------------------------------------------------------------
-//
-inline const RFile* CSendUiAttachment::Handle()
- {
- return iHandle;
- }
-
-// -----------------------------------------------------------------------------
-// SetMimeType
-// -----------------------------------------------------------------------------
-//
-inline void CSendUiAttachment::SetMimeType( TDataType aMimeType )
- {
- iMimeType = aMimeType;
- }
-
-// -----------------------------------------------------------------------------
-// MimeType
-// -----------------------------------------------------------------------------
-//
-inline const TPtrC8 CSendUiAttachment::MimeType()
- {
- return iMimeType.Des8();
- }
-
-// -----------------------------------------------------------------------------
-// Size
-// -----------------------------------------------------------------------------
-//
-inline TInt CSendUiAttachment::Size()
- {
- return iSize;
- }
-
-// -----------------------------------------------------------------------------
-// Flag
-// -----------------------------------------------------------------------------
-//
-inline TBool CSendUiAttachment::Flag( TInt aFlag )
- {
- return iFlags && aFlag;
- }
-
-// -----------------------------------------------------------------------------
-// SetFlags
-// -----------------------------------------------------------------------------
-//
-inline void CSendUiAttachment::SetFlags( TInt aFlag )
- {
- iFlags |= aFlag;
- }
-
--- a/msgfw_plat/send_ui_datautils_api/inc/SendUiDataUtils.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2002-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: Utility class for SendUI.
-*
-*/
-
-
-
-
-#ifndef CSENDUIDATAUTILS_H
-#define CSENDUIDATAUTILS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h>
-#include <apmstd.h>
-#include <MsgMimeTypes.h>
-
-class CSendingServiceInfo;
-// CONSTANTS
-_LIT8( KSenduiAudioPattern, "*audio/*" );
-_LIT8( KSenduiVideoPattern, "*video/*" );
-
-// FORWARD DECLARATION
-class RApaLsSession;
-
-// CLASS DECLARATION
-
-/**
-* Utility class for SendUI.
-*
-* @lib SenduiDataUtils.lib
-* @since Series 60 3.0
-*/
-NONSHARABLE_CLASS (CSendUiDataUtils) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- IMPORT_C static CSendUiDataUtils* NewL( RFs& aFs );
-
- /**
- * Destructor.
- */
- virtual ~CSendUiDataUtils();
-
- public: // New functions
-
- /**
- * Resolves mime types for
- * @since Series ?XX ?SeriesXX_version
- * @param aTotalSize Return value contains total size of confirmed files
- * @return None.
- */
- IMPORT_C void ResolveFileMimeTypeL(
- const TDesC& aFilePath,
- TDataType& aMimeType );
-
- /**
- * ?member_description.
- * @since Series ?XX ?SeriesXX_version
- * @param aTotalSize Return value contains total size of confirmed files
- * @return None.
- */
- IMPORT_C void ResolveFileMimeTypeL(
- const RFile& aFile,
- TDataType& aMimeType );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CSendUiDataUtils( RFs& aFs );
-
- private:
-
- // Reference to an open fileserver session
- RFs& iFs;
-
- RApaLsSession* iApaLsSession;
-
- };
-
-#endif // CSENDUIDATAUTILS_H
-
-// End of File
--- a/msgfw_plat/send_ui_datautils_api/inc/SendUiFileRightsEngine.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/*
-* Copyright (c) 2002-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: Provides functionality for DRM file protection analyzing
-* and content MMS compatibility resolving.
-*
-*/
-
-
-
-
-#ifndef SENDUIFILERIGHTSENGINE_H
-#define SENDUIFILERIGHTSENGINE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <f32file.h> // FileSession
-#include <badesca.h>
-
-
-// DATA TYPES
-enum TFREErrorNoteType
- {
- EErrorNote = 0,
- EInformationNote,
- EConfirmationQuery
- };
-
-// FORWARD DECLARATIONS
-class CMsgMediaResolver;
-class CMmsConformance;
-class CFileProtectionResolver;
-class CSendUiAttachment;
-// CLASS DECLARATION
-
-/**
-* Provides functionality for DRM file protection analyzing
-* and content MMS compatibility resolving.
-*
-* @lib SenduiDataUtils.lib
-* @since Series 60 3.0
-*/
-NONSHARABLE_CLASS (CSendUiFileRightsEngine) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- IMPORT_C static CSendUiFileRightsEngine* NewL( RFs& aFs );
-
- /**
- * Two-phased constructor.
- */
- IMPORT_C static CSendUiFileRightsEngine* NewLC( RFs& aFs );
-
- /**
- * Destructor.
- */
- virtual ~CSendUiFileRightsEngine();
-
- public: // New functions
-
- /**
- * ValidateFiles
- *
- * This functions stores file sizes for all validated files.
- *
- * @since S60 3.0
- * @param aAttachments Attachents to be validated.
- * Return value contains valid attachments,
- * invalid attachments are filtered away from array.
- * @return None.
- */
- IMPORT_C void ValidateFiles( CArrayPtrFlat<CSendUiAttachment>* aAttachments );
-
- /**
- * Confirms DRM rights of files
- *
- * Note: files must be validated before DRM analyze. This functions also
- * stores mimetypes of files for later use. Mimetypes are stored into
- * the given array.
- *
- * @since S60 3.0
- * @param aAttachments Attachments (Path and handle) to be validated.
- * Return value contains valid attachments,
- * invalid attachments are filtered away from array.
- * @return None.
- */
- IMPORT_C void ConfirmDrmFileRightsL( CArrayPtrFlat<CSendUiAttachment>* aAttachments );
-
- /**
- * Validates files for sending via MMS
- *
- * Note: files must be validated before MMS validation.
- *
- * @since S60 3.0
- * @param aAttachments Attachments to be validated.
- * Return value contains valid attachments,
- * invalid attachments are filtered away from array.
- * @param aServiceId Identifies the type of MMS service (MMS/MMS upload..)
- * @return None.
- */
-
- IMPORT_C void ConfirmMmsValidityL( CArrayPtrFlat<CSendUiAttachment>* aAttachments, TUid aServiceId = KNullUid );
-
- /**
- * Shows DRM confirmation query and/or error note, if needed.
- * Returns EFalse if user cancels sending.
- * @since S60 v.3.0
- * @param aServiceId Different services get different notes.
- * @return EFalse if user cancels sending, otherwise ETrue.
- */
- IMPORT_C TBool ShowDrmAndMmsInfoL( TUid aServiceId = KNullUid );
-
- /**
- * CalculateTotalSizeOfFiles
- *
- * File sizes saved by ValidateFiles are used. If cached file sizes
- * do not exist, then file sizes are solved.
- *
- * @aAttachments Attachments
- * @aLinksSupported If ETrue, then only attachments type of file handles are calculated
- * total size of files. Otherwise filesize of all attachments is returned.
- * @return Size of files in aAttachments
- */
- IMPORT_C TInt CalculateTotalSizeOfFiles(
- CArrayPtrFlat<CSendUiAttachment>* aAttachments,
- TBool aLinksSupported );
-
- /**
- * Clears all validation counter
- *
- * @since S60 v3.0
- * @return None.
- */
- IMPORT_C void ClearValidationCounters();
-
- /**
- * Shows an information note
- * @since S60 v.3.0
- * @param aTextResourceId Resource id of the note
- * @return None.
- */
- IMPORT_C void ShowInformationNoteL( TUint aTextResourceId ) const;
-
- /**
- * Cleanup ECOM Implementation info array
- * @param aAny The array
- * @return None.
- */
- static void CleanupImplArray( TAny* aAny );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CSendUiFileRightsEngine( RFs& aFS );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // New functions
-
- /**
- * Validates that the given file usable
- *
- * @since S60 v3.0
- * @param aFileName file path
- * @param aFileSize file size
- * @return ETrue, if the file can be opened for reading. Otherwise EFalse
- */
- TBool ValidateFile( const TDesC& aFileName, TInt& aFileSize );
-
- /**
- * AnalyzeMmsValidationResult
- * @since S60 v.3.0
- * @param aAttachment Attachment to be analyzed
- * @return ETrue, if attachment is valid. Otherwise EFalse.
- */
- TBool AnalyzeMmsValidationResultL( CSendUiAttachment& aAttachment, TInt& aAttachmentsSize );
-
- /**
- * Resolves a proper DRM query for the given service
- * @since S60 v.3.0
- * @param aServiceId Service Uid
- * @param aResourceId Id for a proper query in resources.
- * @return None.
- */
- void ResolveDrmQuery( TUid aServiceId, TUint& aResourceId );
-
- /**
- * Resolves a proper error note for the given service
- * @since S60 v.3.0
- * @param aServiceId Service Uid
- * @param aResourceId Id for a proper note in resources.
- * @param aNoteType Type of the note (query/info)
- * @param aValueForNote Value for the variable in the note
- * @return None.
- */
- void ResolveErrorNoteL(
- TUid aServiceId,
- TUint& aResourceId,
- TFREErrorNoteType& aNoteType,
- TUint& aValueForNote );
-
- /**
- * Resolves a proper error note for the MMS Upload services
- * @since S60 v.3.0
- * @param aResourceId Id for a proper note in resources.
- * @param aNoteType Type of the note (query/info)
- * @param aValueForNote Value for the variable in the note
- * @return None.
- */
- void ResolveMmsUploadErrorNoteL(
- TUint& aResourceId,
- TFREErrorNoteType& aNoteType,
- TUint& aValueForNote );
-
- /**
- * Resolves a proper note
- * @since S60 v.3.0
- * @param aResourceId Id for a proper note in resources.
- * @param aNoteType Type of the note
- * @param aValueForNote Value for the variable in the note
- * @return None.
- */
- void ShowErrorNotificationL(
- TUint aResourceId,
- TFREErrorNoteType aNoteType,
- TUint aValueForNote ) const;
-
- /**
- * Shows an error note
- * @since S60 v.3.0
- * @param aTextResourceId Resource id of the note
- * @return None.
- */
- void ShowErrorNoteL( TUint aTextResourceId ) const;
-
- /**
- * Shows a confirmation query
- * @since S60 v.3.0
- * @param aTextResourceId Text id for the note
- * @param aNoteResourceId Resource id for the note
- * @param aValueForNote Variable value for the note
- * @return None.
- */
- TBool ShowConfirmationQueryL(
- TUint aTextResourceId,
- TUint aNoteResourceId,
- TUint aValueForNote = NULL ) const;
-
-
- private: // Data
-
- // Validation results.
- enum TFREValidationResults
- {
- ESenduiIndexTotalCount = 0,
- ESenduiIndexDeleted,
- ESenduiIndexDrmSD, // SuperDistributable
- ESenduiIndexLastResult
- };
-
- // Reasons for invalidation.
- enum TFREInvalidTypes
- {
- ESenduiIndexDrmFLOrCCL = 0,
- ESenduiIndexAlreadyInUse,
- ESenduiIndexMmsTooBig,
- ESenduiIndexMmsNotSupported,
- ESenduiIndexBadHandle,
- ESenduiIndexLastInvalid
- };
-
- // File protection resolver. Owned.
- CFileProtectionResolver* iProtectionResolver;
-
- CMsgMediaResolver* iMediaResolver;
- CMmsConformance* iMmsConformance;
-
- // File session.
- RFs iFileSession;
-
- // Results of file validations, DRM analyses and MMS validations.
- TUint iValidationResults[ESenduiIndexLastResult];
-
- TUint iInvalidationReason[ESenduiIndexLastInvalid];
- };
-
-#endif // SENDUIFILERIGHTSENGINE_H
-
-// End of File
--- a/msgfw_plat/send_ui_datautils_api/inc/SendUiOperationWait.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2002-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: Provides asyncronous waiter.
-*
-*/
-
-
-
-#ifndef SENDUIOPERATIONWAIT_H
-#define SENDUIOPERATIONWAIT_H
-
-// INCLUDES
-class CBaseMtm;
-class CAknInputBlock;
-
-/**
- * CSendUiOperationWait
- *
- * We cannot use CMuiuOperationWait because it calls
- * CAknEnv::StopSchedulerWaitWithBusyMessage. When e.g. New message
- * pop-up is opened from Phone idle while we are waiting previous
- * editor launch completion, a Busy dialog is shown and it cannot
- * be closed at all.
- *
- * This class is otherwise same as CMuiuOperationWait but iWait.AsyncStop
- * is called instead of CAknEnv::StopSchedulerWaitWithBusyMessage.
- *
- * @lib senduidatautils
- * @since S60 S60 v3.0
- */
-
-NONSHARABLE_CLASS (CSendUiOperationWait) : public CActive
- {
-
-public:
-
- IMPORT_C static CSendUiOperationWait* NewLC(TInt aPriority = EPriorityStandard);
-
- virtual ~CSendUiOperationWait();
-
- /**
- * Starts active wait operation
- *
- * @since S60 v3.1
- * @param aOperation CActive derived operation, that is running
- * @return ETrue, if wait was not interrupted. Otherwise EFalse.
- */
- IMPORT_C TBool Start( CActive* aOperation );
-
- /**
- * Starts active wait operation
- *
- * @since S60 v3.1
- * @param aOperation CBaseMtmOperation derived operation, that is
- * running
- * @return ETrue, if wait was not interrupted. Otherwise EFalse.
- */
- IMPORT_C TBool Start( CBaseMtm* aBaseMtmOperation );
-
- /**
- * Starts active wait operation
- *
- * Use this, if the operation to be waited can not be canceled.
- * Prefer using the above Start methods.
- *
- * @since S60 v3.0
- * @return ETrue, For compatibility returns always.
- */
- IMPORT_C TBool Start();
-
-protected: // from base class CActive
-
- CSendUiOperationWait(TInt aPriority);
-
- void RunL();
-
- void DoCancel();
-
-private:
-
- void ConstructL();
-
-protected:
-
- /**
- * Waiter
- */
- CActiveSchedulerWait iWait;
-
- /**
- * Inputblocker harvests exit events.
- * Own.
- */
- CAknInputBlock* iInputBlock;
-
-private:
-
- /**
- * This is ETrue, if operation has not been interrupted.
- */
- TBool iSuccess;
-
- /**
- * Operation, which can be canceled
- * Not own.
- */
- CActive* iOperation;
-
- /**
- * Operation, which can be canceled
- * Not own.
- */
- CBaseMtm* iBaseMtmOperation;
- };
-
-#endif
-
-// End of file
--- a/msgfw_plat/send_ui_datautils_api/send_ui_datautils_api.metaxml Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?xml version="1.0" ?>
-<api id="6dc4e2482190d8249c9cfb8b55e4a195" dataversion="1.0">
-<name>send_ui_datautils_api</name>
-<description>send_ui_datautils_api exported as part of msgfw_plat.
-Interface for using senduidatautils functionality.</description>
-<type>c++</type>
-<subsystem>messagingmw</subsystem>
-<libs><lib name="senduidatautils.lib"/>
-</libs>
-<release category="domain" sinceversion=""/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/msgfw_plat/send_ui_plugin_api/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 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: File that exports the files belonging to
-: Send UI Plug-in API
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/CSendingService.h MW_LAYER_PLATFORM_EXPORT_PATH(CSendingService.h)
-../inc/SendingServiceInterfaceUids.hrh MW_LAYER_PLATFORM_EXPORT_PATH(SendingServiceInterfaceUids.hrh)
-../inc/senduisingleton.h MW_LAYER_PLATFORM_EXPORT_PATH(senduisingleton.h)
--- a/msgfw_plat/send_ui_plugin_api/inc/CSendingService.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 2002-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: Declares sending service interface for ECom plugins.
-*
-*/
-
-
-#ifndef C_SENDINGSERVICE_H
-#define C_SENDINGSERVICE_H
-
-#include <e32base.h>
-#include <badesca.h>
-#include <txtrich.h>
-
-class CSendingServiceInfo;
-class CMessageData;
-class CCoeEnv;
-class CSendUiSingleton;
-
-
-/**
- * Parameters for sending service construction.
- */
-struct TSendingServiceParams
- {
- // Constructor
- TSendingServiceParams( CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton )
- : iCoeEnv( aCoeEnv ), iSingleton( aSingleton ) {}
- // Data
- CCoeEnv& iCoeEnv;
- CSendUiSingleton& iSingleton;
- };
-
-
-/**
- * Declares sending service interface for ECom plugins.
- *
- * CSendingService has to be implemented by each ECom based sending service.
- * CSendingService contains only pure virtual methods, which must be
- * implemented by sending services.
- *
- * @lib Sendui
- * @since S60 v3.0
- */
-class CSendingService : public CBase
- {
-public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- *
- * @param aImplementationUid The implementation UID of the
- * sending service to be created.
- * @return Pointer to object of CSendingService
- */
- IMPORT_C static CSendingService* NewL( const TUid& aImplementationUid, CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton );
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CSendingService();
-
-public: // New functions
-
- /**
- * Populates given list with the provided services. Ownership of the
- * pointed services remains in the service provider plugin.
- *
- * @since Series 60 3.0
- * @param aList Service list to be populated.
- * @return none
- */
- virtual void PopulateServicesListL(
- RPointerArray<CSendingServiceInfo>& aList ) = 0;
-
- /**
- * Creates message to be sent and either sends it directly or calls
- * MTM to edit the message.
- *
- * @since Series 60 3.0
- * @param aServiceUid Uid of the sending service.
- * @param aMessageData Data for the message.
- * @return none
- */
- virtual void CreateAndSendMessageL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TBool aLaunchEditorEmbedded = ETrue) = 0;
-
- /**
- * Return the Id of the service provider.
- *
- * @since Series 60 3.0
- * @return Id of the service provider.
- */
- virtual TUid ServiceProviderId() const = 0;
-
-protected:
-
- /**
- * C++ constructor
- */
- IMPORT_C CSendingService( CCoeEnv& aCoeEnv, CSendUiSingleton& aSingleton );
-
-private: // Data
-
- /**
- * Implementation UID of the sending service
- * Not own.
- */
- TUid iDtor_ID_Key;
-
-protected:
-
- /**
- * Reference to CCoeEnv
- * Not own.
- */
- CCoeEnv& iCoeEnv;
-
- /**
- * Pointer to CSendUiSingleton;
- * Not own.
- */
- CSendUiSingleton& iSingleton;
-
-};
-
-#endif // C_SENDINGSERVICE_H
-
-// End of File
--- a/msgfw_plat/send_ui_plugin_api/inc/SendingServiceInterfaceUids.hrh Thu Aug 19 10:24:00 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: Constant declaration for resource file.
-*
-*/
-
-
-
-#ifndef SENDINGSERVICEINTERFACEUIDS_HRH
-#define SENDINGSERVICEINTERFACEUIDS_HRH
-
-// SendUi Sending Service plugin interface
-#define KSendUiSendingServiceInterface 0x101F87F3
-
-#endif // SENDINGSERVICEINTERFACEUIDS_HRH
-
-// End of File
--- a/msgfw_plat/send_ui_plugin_api/inc/senduisingleton.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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: Singleton
-*
-*/
-
-
-
-#ifndef C_SENDUISINGLETON_H
-#define C_SENDUISINGLETON_H
-
-#include <e32base.h>
-#include <msvapi.h>
-
-class CMsvSession;
-class CClientMtmRegistry;
-class CMtmUiRegistry;
-class CMtmUiDataRegistry;
-
-/**
-* Singelton
-*
-* @lib sendui
-* @since S60 v3.2
-*/
-NONSHARABLE_CLASS( CSendUiSingleton ) : public CBase,
- public MMsvSessionObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- *
- * @return Pointer to object of CSendUiSingleton.
- */
- IMPORT_C static CSendUiSingleton* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CSendUiSingleton();
-
- public: // New functions
-
- /**
- * Returns message server session.
- *
- * @return message server session.
- */
- IMPORT_C CMsvSession& MsvSessionL();
-
- /**
- * Returns client MTM registry.
- *
- * @return client MTM registry.
- */
- IMPORT_C CClientMtmRegistry& ClientMtmRegistryL();
-
- /**
- * Returns MTM UI registry.
- *
- * @return MTM UI registry.
- */
- IMPORT_C CMtmUiRegistry& MtmUiRegistryL();
-
- /**
- * Returns MTM UI data registry.
- *
- * @return MTM UI registry.
- */
- IMPORT_C CMtmUiDataRegistry& MtmUiDataRegistryL();
-
- private: // From base classes
-
- /**
- * From MMsvSessionObserver
- */
- virtual void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
-
- private:
-
- /**
- * C++ default constructor.
- */
- CSendUiSingleton();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
-
- /**
- * Own.
- */
- CMsvSession* iMsvSession;
-
- /**
- * Own.
- */
- CClientMtmRegistry* iClientMtmRegistry;
-
- /**
- * Own.
- */
- CMtmUiRegistry* iMtmUiRegistry;
-
- /**
- * Own.
- */
- CMtmUiDataRegistry* iMtmUiDataRegistry;
-
- };
-
-#endif // C_SENDUISINGLETON_H
-
-// End of File
-
--- a/msgfw_plat/send_ui_plugin_api/send_ui_plugin_api.metaxml Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="acd0d4200cfc87deda5fc7bba1da83cd" dataversion="2.0">
-<name>Send UI Plug-in API</name>
-<description>ECom plug-in interface for adding new sending services to Send UI</description>
-<type>c++</type>
-<collection>messagingappbase</collection>
-<libs><lib name="sendui.lib"/>
-</libs>
-<release category="platform" sinceversion="0"/>
-<attributes>
-<htmldocprovided>no</htmldocprovided>
-<adaptation>no</adaptation>
-</attributes>
-</api>
--- a/msgfw_plat/send_ui_plugin_api/tsrc/bmarm/SendUiPluginAPITestU.DEF Thu Aug 19 10:24:00 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/msgfw_plat/send_ui_plugin_api/tsrc/bwins/SendUiPluginAPITestU.DEF Thu Aug 19 10:24:00 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/msgfw_plat/send_ui_plugin_api/tsrc/conf/SendUiPluginAPITest.cfg Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-[Test]
-title SendUIPlug-SendUiSingleton
-create SendUiPluginAPITest Testobject
-Testobject CSendUiSingleton
-delete TestObject
-[Endtest]
-
-[Test]
-title SendUIPlug-MsvSessions
-create SendUiPluginAPITest Testobject
-Testobject CMsvSessions
-delete TestObject
-[Endtest]
-
-[Test]
-title SendUIPlug-ClientMtmRegistryL
-create SendUiPluginAPITest Testobject
-Testobject CClientMtmRegistryL
-delete TestObject
-[Endtest]
-
-[Test]
-title SendUIPlug-MtmUiRegistry
-create SendUiPluginAPITest Testobject
-Testobject CMtmUiRegistry
-delete TestObject
-[Endtest]
-
-[Test]
-title SendUIPlug-MtmUiDataRegistry
-create SendUiPluginAPITest Testobject
-Testobject CMtmUiDataRegistry
-delete TestObject
-[Endtest]
-
-[Test]
-title SendUIPlug-CSendingService
-create SendUiPluginAPITest Testobject
-Testobject CSendingService
-delete TestObject
-[Endtest]
\ No newline at end of file
--- a/msgfw_plat/send_ui_plugin_api/tsrc/eabi/SendUiPluginAPITestU.def Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- _Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-
--- a/msgfw_plat/send_ui_plugin_api/tsrc/group/SendUiPluginAPITest.mmp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* 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: SendUiPluginAPITest.mmp
-*
-*/
-
-
-
-#if defined(__S60_)
- // To get the OS_LAYER_SYSTEMINCLUDE-definition
- #include <platform_paths.hrh>
-#endif
-
-TARGET SendUiPluginAPITest.dll
-TARGETTYPE dll
-UID 0x1000008D 0x101FB3EF
-
-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 SendUiPluginAPITest.def
-
-USERINCLUDE ../inc
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../src
-
-SOURCE SendUiPluginAPITest.cpp
-SOURCE SendUiPluginAPITestBlocks.cpp
-
-//RESOURCE resource_file
-//RESOURCE resource_file2
-
-LIBRARY euser.lib
-LIBRARY stiftestinterface.lib
-LIBRARY stiftestengine.lib
-LIBRARY cone.lib
-LIBRARY sendui.lib
-LIBRARY ecom.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/msgfw_plat/send_ui_plugin_api/tsrc/group/SendUiPluginAPITest.pkg Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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: SendUiPluginAPITest.pkg;
-
-; Supported languages
-&EN
-
-; Package header
-#{"SendUiPluginAPITest"}, (0x101FB3EF), 1, 2, 3, TYPE=SA
-
-; Series 60 v5.0
-[0x1028315F], *, *, *, {"Series60ProductID"}
-
-; Localised vendor name
-%{"Nokia Test EN"}
-; Unique vendor name
-:"Nokia"
-
-;Files to install
-;
-"\epoc32\release\armv5\urel\SendUiPluginAPITest.dll"-"C:\sys\bin\SendUiPluginAPITest.dll"
-"..\conf\SendUiPluginAPITest.cfg"-"C:\TestFramework\SendUiPluginAPITest.cfg"
-"..\init\TestFramework.ini"-"C:\TestFramework\TestFramework.ini"
\ No newline at end of file
--- a/msgfw_plat/send_ui_plugin_api/tsrc/group/bld.inf Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* 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: Bld.inf
-*
-*/
-
-
-
-
-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
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-SendUiPluginAPITest.mmp
-
-PRJ_MMPFILES
-// 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
\ No newline at end of file
--- a/msgfw_plat/send_ui_plugin_api/tsrc/inc/SendUiPluginAPITest.h Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* 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: Tests senduisingleton.h and CSendingService.h
-*
-*/
-
-
-
-
-#ifndef SENDUIPLUGINAPITEST_H
-#define SENDUIPLUGINAPITEST_H
-
-// INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <TestclassAssert.h>
-
-// CONSTANTS
-
-// MACROS
-#define TEST_CLASS_VERSION_MAJOR 0
-#define TEST_CLASS_VERSION_MINOR 0
-#define TEST_CLASS_VERSION_BUILD 0
-
-// Logging path
-_LIT( KSendUiPluginAPITestLogPath, "\\logs\\testframework\\SendUiPluginAPITest\\" );
-// Log file
-_LIT( KSendUiPluginAPITestLogFile, "SendUiPluginAPITest.txt" );
-_LIT( KSendUiPluginAPITestLogFileWithTitle, "SendUiPluginAPITest_[%S].txt" );
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CSendUiPluginAPITest;
-
-// DATA TYPES
-
-// CLASS DECLARATION
-
-/**
-* CSendUiPluginAPITest test class for STIF Test Framework TestScripter.
-* ?other_description_lines
-*
-* @lib ?library
-* @since ?Series60_version
-*/
-NONSHARABLE_CLASS(CSendUiPluginAPITest) : public CScriptBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CSendUiPluginAPITest* NewL( CTestModuleIf& aTestModuleIf );
-
- /**
- * Destructor.
- */
- virtual ~CSendUiPluginAPITest();
-
- 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
- */
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
-
- private:
-
- /**
- * C++ default constructor.
- */
- CSendUiPluginAPITest( 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.
- */
-
-
- /**
- * Method used to log version of test class
- */
- void SendTestClassVersion();
-
- /**
- * Tests CSendUiSingleton::NewL
- */
- TInt TestCSendUiSingletonNewL( CStifItemParser& aItem );
-
- /**
- * Tests CSendUiSingleton::MsvSessionL
- */
- TInt TestMsvSessionL(CStifItemParser& aItem );
-
- /**
- * Tests CSendUiSingleton::ClientMtmRegistryL
- */
- TInt TestClientMtmRegistryL(CStifItemParser& aItem );
-
- /**
- * Tests CSendUiSingleton::MtmUiRegistryL
- */
- TInt TestMtmUiRegistryL(CStifItemParser& aItem );
-
- /**
- * Tests CSendUiSingleton::MtmUiDataRegistryL
- */
- TInt TestMtmUiDataRegistryL(CStifItemParser& aItem );
-
- /**
- * Tests CSendingService::NewL, CSendingService::~CSendingService(), CSendingService::CSendingService
- */
- TInt TestCSendingServiceL(CStifItemParser& aItem );
-
- //ADD NEW METHOD DEC HERE
- //[TestMethods] - Do not remove
-
- public: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- protected: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- private: // Data
-
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- // 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 // SENDUIPLUGINAPITEST_H
-
-// End of File
--- a/msgfw_plat/send_ui_plugin_api/tsrc/init/TestFramework.ini Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +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'.
-# + XML, Test report will be xml type, for example 'TestReport.xml'.
-# Note, that xml format is available only when output is set to FILE.
-#
-# - 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= TestReport
-
-TestReportFormat= TXT # Possible values: TXT, HTML or XML
-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
-#SeparateProcesses= YES # Possible values: YES or NO (default: NO)
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# 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
-
-# Load testmodule SendUiPluginAPITest
-[New_Module]
-ModuleName= testscripter
-TestCaseFile= c:\testframework\SendUiPluginAPITest.cfg
-[End_Module]
-
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX 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
-#AddTestCaseTitle= YES # Possible values: YES or NO
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/msgfw_plat/send_ui_plugin_api/tsrc/src/SendUiPluginAPITest.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* 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: SendUiPluginAPITest implementation*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "SendUiPluginAPITest.h"
-#include <SettingServerClient.h>
-
-// 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 ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::CSendUiPluginAPITest
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CSendUiPluginAPITest::CSendUiPluginAPITest(
- CTestModuleIf& aTestModuleIf ):
- CScriptBase( aTestModuleIf )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CSendUiPluginAPITest::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(KSendUiPluginAPITestLogFileWithTitle, &title);
- }
- else
- {
- logFileName.Copy(KSendUiPluginAPITestLogFile);
- }
-
- iLog = CStifLogger::NewL( KSendUiPluginAPITestLogPath,
- logFileName,
- CStifLogger::ETxt,
- CStifLogger::EFile,
- EFalse );
-
- SendTestClassVersion();
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSendUiPluginAPITest* CSendUiPluginAPITest::NewL(
- CTestModuleIf& aTestModuleIf )
- {
- CSendUiPluginAPITest* self = new (ELeave) CSendUiPluginAPITest( aTestModuleIf );
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
-
- return self;
-
- }
-
-// Destructor
-CSendUiPluginAPITest::~CSendUiPluginAPITest()
- {
-
- // Delete resources allocated from test methods
- Delete();
-
- // Delete logger
- delete iLog;
-
- }
-
-//-----------------------------------------------------------------------------
-// CSendUiPluginAPITest::SendTestClassVersion
-// Method used to send version of test class
-//-----------------------------------------------------------------------------
-//
-void CSendUiPluginAPITest::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("SendUiPluginAPITest.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* ) CSendUiPluginAPITest::NewL( aTestModuleIf );
-
- }
-
-
-// End of File
--- a/msgfw_plat/send_ui_plugin_api/tsrc/src/SendUiPluginAPITestBlocks.cpp Thu Aug 19 10:24:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +0,0 @@
-/*
-* 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: Tests senduisingleton.h and CSendingService.h
-*
-*/
-
-
-
-
-// [INCLUDE FILES] - do not remove
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include <coemain.h>
-#include "SendUiPluginAPITest.h"
-#include <CSendingService.h>
-#include <SendUiConsts.h>
-#include <senduisingleton.h>
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::Delete
-// Delete here all resources allocated and opened from test methods.
-// Called from destructor.
-// -----------------------------------------------------------------------------
-//
-void CSendUiPluginAPITest::Delete()
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-
-TInt CSendUiPluginAPITest::RunMethodL(
- CStifItemParser& aItem )
- {
-
- static TStifFunctionInfo const KFunctions[] =
- {
- // Copy this line for every implemented function.
- // First string is the function name used in TestScripter script file.
- // Second is the actual implementation member function.
- ENTRY( "CSendUiSingleton", CSendUiPluginAPITest::TestCSendUiSingletonNewL ),
- ENTRY( "CMsvSessions", CSendUiPluginAPITest::TestMsvSessionL ),
- ENTRY( "CClientMtmRegistryL", CSendUiPluginAPITest::TestClientMtmRegistryL ),
- ENTRY( "CMtmUiRegistry", CSendUiPluginAPITest::TestMtmUiRegistryL ),
- ENTRY( "CMtmUiDataRegistry", CSendUiPluginAPITest::TestMtmUiDataRegistryL ),
- ENTRY( "CSendingService", CSendUiPluginAPITest::TestCSendingServiceL ),
-
- //ADD NEW ENTRY HERE
- // [test cases entries] - Do not remove
-
- };
-
- const TInt count = sizeof( KFunctions ) /
- sizeof( TStifFunctionInfo );
-
- return RunInternalL( KFunctions, count, aItem );
-
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::TestCSendUiSingletonNewL
-// Tests NewL of CSendUISingleton::NewL
-// -----------------------------------------------------------------------------
-//
-TInt CSendUiPluginAPITest::TestCSendUiSingletonNewL(CStifItemParser& /*aItem*/ )
- {
- CSendUiSingleton* singleton = CSendUiSingleton::NewL();
- delete singleton;
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::TestMsvSessionL
-// Tests NewL of CSendUISingleton::MsvSessionL
-// -----------------------------------------------------------------------------
-//
-TInt CSendUiPluginAPITest::TestMsvSessionL(CStifItemParser& /*aItem*/ )
- {
- CSendUiSingleton* singleton = CSendUiSingleton::NewL();
- CleanupStack::PushL( singleton );
- TRAPD( err, CMsvSession& msvSession = singleton->MsvSessionL());
- if( err != KErrNone )
- {
- _LIT( KError, "CSendUiSingleton::MsvSessionL leaves with %d error");
- iLog->Log( KError, err);
- }
- else
- {
- _LIT( KError, "CSendUiSingleton::MsvSessionL Passed");
- iLog->Log( KError );
- }
- CleanupStack::PopAndDestroy();//singleton
- return err;
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::TestClientMtmRegistryL
-// Tests NewL of CSendUISingleton::ClientMtmRegistryL
-// -----------------------------------------------------------------------------
-//
-TInt CSendUiPluginAPITest::TestClientMtmRegistryL(CStifItemParser& /*aItem*/ )
- {
- CSendUiSingleton* singleton = CSendUiSingleton::NewL();
- CleanupStack::PushL( singleton );
- TRAPD( err, CClientMtmRegistry& clientMtmRegistry = singleton->ClientMtmRegistryL());
- if( err != KErrNone )
- {
- _LIT( KError, "CSendUiSingleton::ClientMtmRegistryL leaves with %d error");
- iLog->Log( KError, err);
- }
- else
- {
- _LIT( KError, "CSendUiSingleton::ClientMtmRegistryL Passed");
- iLog->Log( KError );
- }
- CleanupStack::PopAndDestroy();//singleton
- return err;
- }
-
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::TestMtmUiRegistryL
-// Tests NewL of CSendUISingleton::MtmUiRegistryL
-// -----------------------------------------------------------------------------
-//
-TInt CSendUiPluginAPITest::TestMtmUiRegistryL(CStifItemParser& /*aItem*/ )
- {
- CSendUiSingleton* singleton = CSendUiSingleton::NewL();
- CleanupStack::PushL( singleton );
- TRAPD( err, CMtmUiRegistry& MtmUiRegistry = singleton->MtmUiRegistryL());
- if( err != KErrNone )
- {
- _LIT( KError, "CSendUiSingleton::MtmUiRegistryL leaves with %d error");
- iLog->Log( KError, err);
- }
- else
- {
- _LIT( KError, "CSendUiSingleton::MtmUiRegistryL Passed");
- iLog->Log( KError );
- }
- CleanupStack::PopAndDestroy();//singleton
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::TestMtmUiDataRegistryL
-// Tests NewL of CSendUISingleton::MtmUiDataRegistryL
-// -----------------------------------------------------------------------------
-//
-TInt CSendUiPluginAPITest::TestMtmUiDataRegistryL(CStifItemParser& /*aItem*/ )
- {
- CSendUiSingleton* singleton = CSendUiSingleton::NewL();
- CleanupStack::PushL( singleton );
- TRAPD( err, CMtmUiDataRegistry& MtmUiDataRegistry = singleton->MtmUiDataRegistryL());
- if( err != KErrNone )
- {
- _LIT( KError, "CSendUiSingleton::MtmUiDataRegistryL leaves with %d error");
- iLog->Log( KError, err);
- }
- else
- {
- _LIT( KError, "CSendUiSingleton::MtmUiDataRegistryL Passed");
- iLog->Log( KError );
- }
- CleanupStack::PopAndDestroy();//singleton
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CSendUiPluginAPITest::TestCSendingServiceL
-// Tests CSendingService::NewL, CSendingService::~CSendingService(), CSendingService::CSendingService
-// -----------------------------------------------------------------------------
-//
-
-TInt CSendUiPluginAPITest::TestCSendingServiceL(CStifItemParser& /*aItem*/ )
- {
- CSendUiSingleton* singleton = CSendUiSingleton::NewL();
- CSendingService* sendingservice = NULL;
- TRAPD( error, sendingservice = CSendingService::NewL(KMeetingRequestSender,*(CCoeEnv::Static()),*singleton));
- if( error == KErrNone )
- {
- _LIT( KError, "CSendingService::NewL Passed");
- iLog->Log( KError);
- delete sendingservice;
- _LIT( KError1, "CSendingService::~CSendingService()Passed");
- iLog->Log( KError1 );
- }
- else
- {
- _LIT( KError, "CSendingService::NewL Failed");
- iLog->Log( KError);
- }
- delete singleton;
- REComSession::FinalClose();
- return error;
- }
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
-// [End of File] - Do not remove
--- a/msgfw_pub/send_ui_api/inc/SendUi.h Thu Aug 19 10:24:00 2010 +0300
+++ b/msgfw_pub/send_ui_api/inc/SendUi.h Tue Aug 31 15:41:11 2010 +0300
@@ -72,12 +72,6 @@
/**
* Adds "Send" menu item to menupane.
- * No menu item is added, if services are not found.
- * This can happen if asyncronous sending service update is not
- * yet finished. This API will not provide any result of
- * requested operation. New API AddSendMenuItemToMenuPaneL
- * with aResult param is added. Caller application can use
- * this new API to know the API operation result.
*
* @since Series 60 3.0
* @param aMenuPane Menupane where the "Send" menu item should be added.
@@ -368,35 +362,6 @@
* service doesn't exist or service is ECOM based.
*/
IMPORT_C TUid TechnologyType( TUid aServiceUid ) const;
-
- /**
- * Adds "Send" menu item to menupane and know the opeation
- * result.
- * No menu item is added, if services are not found.
- * This can happen if asyncronous sending service update is not
- * yet finished. Caller application can use this API to know the
- * API operation result.
- *
- * @since Series 60 9.2
- * @param aResult API opeartion result. ETrue, if item is added successfully
- * EFalse , if failed to add item.
- * @param aMenuPane Menupane where the "Send" menu item should be added.
- * @param aIndex The place of the "Send" menu item in menupane.
- * @param aCommandId Command id for the "Send" menu item.
- * @param aRequiredCapabilities Capabilities required by services to be
- * shown in "Send" list query. If no capabilities are required
- * (KCapabilitiesForAllServices), all available services are
- * shown in "Send" list query.
- *
- * @return None.
- */
- IMPORT_C void AddSendMenuItemToMenuPaneL(
- TBool& aResult,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices
- );
private:
--- a/msgfw_pub/send_ui_api/tsrc/bc/inc/SendUIAPITest.h Thu Aug 19 10:24:00 2010 +0300
+++ b/msgfw_pub/send_ui_api/tsrc/bc/inc/SendUIAPITest.h Tue Aug 31 15:41:11 2010 +0300
@@ -33,7 +33,7 @@
#include <TestScripterInternal.h>
#include <StifTestModule.h>
#include <TestclassAssert.h>
-#include <cmessagedata.h>
+#include <CMessageData.h>
#include <bc_plat.h>
--- a/msgfw_pub/send_ui_api/tsrc/inc/SendUIAPITest.h Thu Aug 19 10:24:00 2010 +0300
+++ b/msgfw_pub/send_ui_api/tsrc/inc/SendUIAPITest.h Tue Aug 31 15:41:11 2010 +0300
@@ -26,10 +26,10 @@
#include <StifTestModule.h>
#include <TestclassAssert.h>
#include <cmessagedata.h>
-#include <EIKMOBS.H>
-#include <COECNTRL.H>
+#include <eikmobs.h>
+#include <coecntrl.h>
#include <AknUtils.h>
-#include <SendUi.h>
+#include <sendui.h>
// CONSTANTS
//const ?type ?constant_var = ?constant;