--- a/dcmofw/dcmoclient/bwins/dcmoclientu.def Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/dcmoclient/bwins/dcmoclientu.def Thu Aug 19 10:44:50 2010 +0300
@@ -1,3 +1,11 @@
EXPORTS
?NewL@RDCMOClient@@SAPAV1@XZ @ 1 NONAME ; class RDCMOClient * RDCMOClient::NewL(void)
+ ?SearchByGroupValue@RDCMOClient@@UAEXAAVTDes16@@0@Z @ 2 NONAME ; void RDCMOClient::SearchByGroupValue(class TDes16 &, class TDes16 &)
+ ?GetDCMOStrAttributeValue@RDCMOClient@@UAE?AW4TDCMOStatus@@AAVTDes16@@W4TDCMONode@@0@Z @ 3 NONAME ; enum TDCMOStatus RDCMOClient::GetDCMOStrAttributeValue(class TDes16 &, enum TDCMONode, class TDes16 &)
+ ?SetDCMOIntAttributeValue@RDCMOClient@@UAE?AW4TDCMOStatus@@AAVTDes16@@W4TDCMONode@@H@Z @ 4 NONAME ; enum TDCMOStatus RDCMOClient::SetDCMOIntAttributeValue(class TDes16 &, enum TDCMONode, int)
+ ?OpenL@RDCMOClient@@UAEHXZ @ 5 NONAME ; int RDCMOClient::OpenL(void)
+ ?GetDCMOIntAttributeValue@RDCMOClient@@UAE?AW4TDCMOStatus@@AAVTDes16@@W4TDCMONode@@AAH@Z @ 6 NONAME ; enum TDCMOStatus RDCMOClient::GetDCMOIntAttributeValue(class TDes16 &, enum TDCMONode, int &)
+ ??1RDCMOClient@@UAE@XZ @ 7 NONAME ; RDCMOClient::~RDCMOClient(void)
+ ?Close@RDCMOClient@@UAEXXZ @ 8 NONAME ; void RDCMOClient::Close(void)
+ ?SetDCMOStrAttributeValue@RDCMOClient@@UAE?AW4TDCMOStatus@@AAVTDes16@@W4TDCMONode@@0@Z @ 9 NONAME ; enum TDCMOStatus RDCMOClient::SetDCMOStrAttributeValue(class TDes16 &, enum TDCMONode, class TDes16 &)
--- a/dcmofw/dcmoclient/eabi/dcmoclientu.def Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/dcmoclient/eabi/dcmoclientu.def Thu Aug 19 10:44:50 2010 +0300
@@ -2,4 +2,14 @@
_ZN11RDCMOClient4NewLEv @ 1 NONAME
_ZTI11RDCMOClient @ 2 NONAME ; #<TI>#
_ZTV11RDCMOClient @ 3 NONAME ; #<VT>#
+ _ZN11RDCMOClient18SearchByGroupValueER6TDes16S1_ @ 4 NONAME
+ _ZN11RDCMOClient24GetDCMOIntAttributeValueER6TDes169TDCMONodeRi @ 5 NONAME
+ _ZN11RDCMOClient24GetDCMOStrAttributeValueER6TDes169TDCMONodeS1_ @ 6 NONAME
+ _ZN11RDCMOClient24SetDCMOIntAttributeValueER6TDes169TDCMONodei @ 7 NONAME
+ _ZN11RDCMOClient24SetDCMOStrAttributeValueER6TDes169TDCMONodeS1_ @ 8 NONAME
+ _ZN11RDCMOClient5CloseEv @ 9 NONAME
+ _ZN11RDCMOClient5OpenLEv @ 10 NONAME
+ _ZN11RDCMOClientD0Ev @ 11 NONAME
+ _ZN11RDCMOClientD1Ev @ 12 NONAME
+ _ZN11RDCMOClientD2Ev @ 13 NONAME
--- a/dcmofw/dcmoclient/src/dcmoclient.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/dcmoclient/src/dcmoclient.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -87,7 +87,7 @@
// Destructor.
// -----------------------------------------------------------------------------
//
-RDCMOClient::~RDCMOClient()
+EXPORT_C RDCMOClient::~RDCMOClient()
{
Close();
}
@@ -95,7 +95,7 @@
// ---------------------------------------------------------------------------
// RDCMOClient::OpenL()
// ---------------------------------------------------------------------------
-TInt RDCMOClient::OpenL()
+EXPORT_C TInt RDCMOClient::OpenL()
{
RDEBUG("RDCMOClient::OpenL()- Begin");
TInt res = KErrNone;
@@ -115,7 +115,7 @@
// ---------------------------------------------------------------------------
// RDCMOClient::Close()
// ---------------------------------------------------------------------------
-void RDCMOClient::Close()
+EXPORT_C void RDCMOClient::Close()
{
RDEBUG(" RDCMOClient::Close");
RSessionBase::Close(); //basecall
@@ -125,7 +125,7 @@
// ----------------------------------------------------------------------------
// RDCMOClient::GetDCMOIntAttributeValue()
// ----------------------------------------------------------------------------
-TDCMOStatus RDCMOClient::GetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt& aValue)
+EXPORT_C TDCMOStatus RDCMOClient::GetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt& aValue)
{
RDEBUG(" RDCMOClient::GetDCMOIntAttributeValue--Begin");
TPckg<TDCMONode> p(aId);
@@ -142,7 +142,7 @@
// ----------------------------------------------------------------------------
// RDCMOClient::GetDCMOStrAttributeValue()
// ----------------------------------------------------------------------------
-TDCMOStatus RDCMOClient::GetDCMOStrAttributeValue(TDes& aCategory, TDCMONode aId, TDes& aStrValue)
+EXPORT_C TDCMOStatus RDCMOClient::GetDCMOStrAttributeValue(TDes& aCategory, TDCMONode aId, TDes& aStrValue)
{
RDEBUG(" RDCMOClient::GetDCMOStrAttributeValue--Begin");
TPckg<TDCMONode> p(aId);
@@ -158,7 +158,7 @@
// ----------------------------------------------------------------------------
// RDCMOClient::SetDCMOIntAttributeValue()
// ----------------------------------------------------------------------------
-TDCMOStatus RDCMOClient::SetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt aValue)
+EXPORT_C TDCMOStatus RDCMOClient::SetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt aValue)
{
RDEBUG(" RDCMOClient::SetDCMOIntAttributeValue--Begin");
TPckg<TDCMONode> p(aId);
@@ -175,7 +175,7 @@
// ----------------------------------------------------------------------------
// RDCMOClient::SetDCMOStrAttributeValue()
// ----------------------------------------------------------------------------
-TDCMOStatus RDCMOClient::SetDCMOStrAttributeValue(TDes& aCategory, TDCMONode aId, TDes& aStrValue)
+EXPORT_C TDCMOStatus RDCMOClient::SetDCMOStrAttributeValue(TDes& aCategory, TDCMONode aId, TDes& aStrValue)
{
RDEBUG(" RDCMOClient::SetDCMOStrAttributeValue--Begin");
TPckg<TDCMONode> p(aId);
@@ -191,7 +191,7 @@
// ----------------------------------------------------------------------------
// RDCMOClient::SearchByGroupValue()
// ----------------------------------------------------------------------------
-void RDCMOClient::SearchByGroupValue(TDes& aGroup, TDes& aAdapterList)
+EXPORT_C void RDCMOClient::SearchByGroupValue(TDes& aGroup, TDes& aAdapterList)
{
RDEBUG(" RDCMOClient::SearchByGroupValue--Begin");
TInt err = SendReceive( EDcmoSearchAdapter, TIpcArgs(&aGroup, &aAdapterList));
--- a/dcmofw/dcmoserver/group/dcmoserver.mmp Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/dcmoserver/group/dcmoserver.mmp Thu Aug 19 10:44:50 2010 +0300
@@ -18,7 +18,7 @@
#include <platform_paths.hrh>
-CAPABILITY CAP_SERVER DiskAdmin AllFiles
+CAPABILITY CAP_SERVER TrustedUI NetworkControl DiskAdmin AllFiles
TARGET dcmoserver.exe
TARGETTYPE exe
@@ -31,6 +31,7 @@
SOURCE dcmosession.cpp
SOURCE dcmonotifieraob.cpp
SOURCE dcmogenericcontrol.cpp
+SOURCE AMSmlHelper.cpp
MW_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include/ecom
@@ -48,5 +49,19 @@
LIBRARY centralrepository.lib
LIBRARY aknnotify.lib eiksrv.lib
LIBRARY flogger.lib
-
+LIBRARY TerminalControl.lib
+LIBRARY nsmlprivateapi.lib
+LIBRARY commdb.lib
+LIBRARY apengine.lib esock.lib
+#ifdef __TARM_SYMBIAN_CONVERGENCY
+ LIBRARY dmtreeclient.lib
+ LIBRARY SmlClient.lib
+#else
+ LIBRARY nsmldmtreedbhandler.lib
+ LIBRARY syncmlclientapi.lib
+ LIBRARY nsmldmmodule.lib
+ LIBRARY nsmldmtreedbclient.lib connmon.lib
+ LIBRARY nsmltransporthandler.lib
+LIBRARY nsmltransport.lib cone.lib javaregistryclient.lib avkon.lib eikcore.lib apparc.lib
+#endif // __TARM_SYMBIAN_CONVERGENCY
SMPSAFE
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/dcmoserver/inc/amsmlhelper.h Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,55 @@
+/*
+ * 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: Implementation of applicationmanagement components
+ *
+ */
+
+#ifndef __ABMSMLHELPER_H__
+#define __ABMSMLHELPER_H__
+
+#include <SyncMLDef.h>
+#include <SyncMLTransportProperties.h>
+#include <SyncMLClient.h>
+#include <SyncMLClientDM.h>
+
+class SmlHelper
+ {
+public:
+
+ // NOTE: this enum must match with property array described in
+ // SyncML_Sync_Agent_Client_API_Specification.doc.
+ enum TNSmlSyncTransportProperties
+ {
+ EPropertyIntenetAccessPoint = 0,
+ EPropertyHttpUsed = 5,
+ EPropertyHttpUserName = 6,
+ EPropertyHttpPassword = 7
+ };
+
+ /**
+ * Fetch the default IAP used by the currently active DM profile
+ * @param aDefaultIAP on successfull return contains the default IAP number
+ */
+
+ static void GetDefaultIAPFromDMProfileL(TInt& aDefaultIAP);
+
+ static void GetConnectionPropertyNameL(RSyncMLSession& aSyncSession,
+ TDes8& aText, TInt aPropertyPos);
+
+ static TInt StrToInt(const TDesC& aText, TInt& aNum);
+ };
+
+#endif
+
+// End of File
--- a/dcmofw/dcmoserver/inc/dcmoserver.h Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/dcmoserver/inc/dcmoserver.h Thu Aug 19 10:44:50 2010 +0300
@@ -24,20 +24,21 @@
#include "dcmoclientserver.h"
#include "dcmoconst.h"
#include "dcmonotifieraob.h"
-
+#include <lawmocallbackinterface.h>
// CONSTANTS
const TUid KCRUidDCMOServer={0x2001FE47};
const TInt KDCMOKeyMaxNumber = 16;
// FORWARD DECLARATIONS
// CLASS DECLARATION
-
+class CLAWMOPluginInterface;
/**
* CDCMOServer
* Description.
*/
-class CDCMOServer : public CServer2
+class CDCMOServer : public CServer2,
+ public MLawmoPluginWipeObserver
{
friend class CDCMOSession;
friend class CDCMONotifierAob;
@@ -85,6 +86,11 @@
* @return None
*/
void DropSession();
+public:
+
+ // Callback from MLawmoPluginWipeObserver
+ void HandleWipeCompleted(TInt status);
+ //void SendGenericAlert();
private:
/**
@@ -166,7 +172,17 @@
* @return
*/
void SetStarter(TBool aValue);
+
+ TLawMoStatus WipeItem(TInt aValue=0);
+
+ TLawMoStatus WipeAllItem();
+ TLawMoStatus GetListItemL(TDesC& item, TDes& strValue);
+
+ TLawMoStatus GetToBeWipedL(TDesC& item, TDes& wipeValue);
+
+ TLawMoStatus SetToBeWipedL(TDesC& item, TInt wipeValue);
+
private:
/**
@@ -174,7 +190,7 @@
* @param aCategory
* @return the uid
*/
- TUid GetAdapterUidL(const TDesC& aCategory);
+ TUid GetAdapterUidL(const TDesC& aCategory, TBool aIsLawmo = EFalse);
/**
* Finds whether the plug-in adapter is a generic category
@@ -183,11 +199,19 @@
*/
TInt GetLocalCategoryL(const TDesC& aCategory);
+ void GetLawmoPluginUidsL();
+
+ void StartDMNetworkMonitorL(TDesC& aServerId, TInt iapid=0);
private:
RArray<dcmoInfoList> idcmoArray;
static TInt iSessionCount;
TBool iStarter;
CDCMONotifierAob* iNotifier;
+ RArray<TUid> ilawmoPluginUidToBeWiped;
+ RArray<CLAWMOPluginInterface*> ilawmoPlugins;
+ TInt iwipeStatus;
+ TInt iCount;
+ TInt iSessionIap;
};
#endif //__DCMO_SERVER_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/dcmoserver/src/AMSmlHelper.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,212 @@
+/*
+ * 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: Implementation of applicationmanagement components
+ *
+ */
+
+#include "amsmlhelper.h"
+#include <SyncMLClientDM.h>
+#include <rconnmon.h>
+#include <es_sock.h>
+#include <es_enum_internal.h>
+#include <es_sock_partner.h>
+#include <es_enum.h>
+#include "lawmodebug.h"
+
+const TUid KUidNSmlMediumTypeInternet =
+ {
+ 0x101F99F0
+ };
+const TUid KSosServerUid =
+ {
+ 0x101F99FB
+ };
+
+const TInt KBufSize32 = 32;
+
+void SmlHelper::GetDefaultIAPFromDMProfileL(TInt& aDefaultIAP)
+ {
+ RLDEBUG("ApplicationManagementServer::GetDefaultIAPFromDMProfileL() - start");
+
+ // first try to obtain the current profile id
+ RSyncMLSession ses;
+ ses.OpenL();
+ RLDEBUG(" 1/8");
+ CleanupClosePushL(ses);
+
+ TSmlJobId jid;
+ TSmlUsageType jtype;
+ ses.CurrentJobL(jid, jtype);
+ RLDEBUG(" 2/8");
+ RSyncMLDevManJob job;
+ job.OpenL(ses, jid);
+ RLDEBUG(" 3/8");
+ CleanupClosePushL(job);
+ // get profile id
+ TSmlProfileId pid(job.Profile() );
+ CleanupStack::PopAndDestroy( &job);
+
+ TBuf8<KBufSize32> key;
+ TBuf<KBufSize32> value;
+ TInt num = KErrNotFound;
+
+ // get connection property name first
+ GetConnectionPropertyNameL(ses, key, EPropertyIntenetAccessPoint);
+ RLDEBUG(" 4/8");
+ // we need to open sync profile in ordere to open the RSyncMLConnection
+ RSyncMLDevManProfile syncProfile;
+ syncProfile.OpenL(ses, pid);
+ RLDEBUG(" 5/8");
+ CleanupClosePushL(syncProfile);
+
+ TSmlTransportId transport;
+ RArray<TSmlTransportId> connections;
+ _LIT8( KNSmlIAPId, "NSmlIapId" );
+
+ // now open the syncML connection
+ RSyncMLConnection syncConnection;
+ syncProfile.ListConnectionsL(connections);
+
+ transport = connections[0];
+ syncConnection.OpenL(syncProfile, transport);
+ RLDEBUG(" 6/8");
+ CleanupClosePushL(syncConnection);
+
+ const TDesC8& source(syncConnection.GetPropertyL(KNSmlIAPId) );
+ RLDEBUG(" 7/8");
+ value.Copy(source.Left(value.MaxLength() ) );
+ User::LeaveIfError(StrToInt(value, num) );
+ RLDEBUG(" 8/8");
+
+ aDefaultIAP = num;
+
+ // If there is no default Access point in DM profile then use
+ // currently used access point by DM session
+
+ if (aDefaultIAP == -1)
+ {
+ RLDEBUG("adefault iap -1");
+ TInt sockIapid = -1;
+
+ RSocketServ serv;
+ CleanupClosePushL(serv);
+ User::LeaveIfError(serv.Connect() );
+
+ RConnection conn;
+ CleanupClosePushL(conn);
+ User::LeaveIfError(conn.Open(serv) );
+ RLDEBUG("RConnection opened");
+
+ TUint count( 0);
+ User::LeaveIfError(conn.EnumerateConnections(count) );
+ RLDEBUG_2("RConnection count %d",count);
+ // enumerate connections
+ for (TUint idx=1; idx<=count; ++idx)
+ {
+ TConnectionInfo connectionInfo;
+ TConnectionInfoBuf connInfo(connectionInfo);
+ RLDEBUG("RConnection loop");
+ TInt err = conn.GetConnectionInfo(idx, connInfo); // iapid
+ RLDEBUG("RConnection get conn info");
+ if (err != KErrNone)
+ {
+ CleanupStack::PopAndDestroy( 2); // conn, serv
+ User::Leave(err);
+ }
+ // enumerate connectionclients
+ TConnectionEnumArg conArg;
+ conArg.iIndex = idx;
+ TConnEnumArgBuf conArgBuf(conArg);
+ RLDEBUG("RConnection control");
+ err=conn.Control(KCOLConnection, KCoEnumerateConnectionClients,
+ conArgBuf);
+ if (err != KErrNone)
+ {
+ CleanupStack::PopAndDestroy( 2); // conn, serv
+ User::Leave(err);
+ }
+ TInt cliCount = conArgBuf().iCount;
+ RLDEBUG("RConnection second loop");
+ for (TUint j=1; j<=cliCount; ++j)
+ {
+ TConnectionGetClientInfoArg conCliInfo;
+ conCliInfo.iIndex = j;
+ TConnGetClientInfoArgBuf conCliInfoBuf(conCliInfo);
+ RLDEBUG("RConnection another control");
+ err=conn.Control(KCOLConnection, KCoGetConnectionClientInfo,
+ conCliInfoBuf);
+
+ if (err != KErrNone)
+ {
+ CleanupStack::PopAndDestroy( 2); // conn, serv
+ User::Leave(err);
+ }
+ TConnectionClientInfo conCliInf = conCliInfoBuf().iClientInfo;
+ TUid uid = conCliInf.iUid;
+ RLDEBUG_2("RConnection check uid %d", uid.iUid);
+ if (uid == KSosServerUid)
+ {
+ sockIapid = connInfo().iIapId;
+ RLDEBUG("RConnection uid matched");
+ }
+
+ }
+ }
+ CleanupStack::PopAndDestroy( 2); // conn, serv
+
+ aDefaultIAP = sockIapid;
+ RLDEBUG("RConnection out");
+ }
+ // get profile's server id
+ //aServerId = syncProfile.ServerId().AllocL();
+ RLDEBUG("RConnection total out");
+
+ CleanupStack::PopAndDestroy( &syncConnection);
+ CleanupStack::PopAndDestroy( &syncProfile);
+
+ CleanupStack::PopAndDestroy( &ses);
+ connections.Close();
+ RLDEBUG("ApplicationManagementServer::GetDefaultIAPFromDMProfileL() - end");
+ }
+
+void SmlHelper::GetConnectionPropertyNameL(RSyncMLSession& aSyncSession,
+ TDes8& aText, TInt aPropertyPos)
+ {
+ RLDEBUG("ApplicationManagementServer::GetConnectionPropertyNameL() - start");
+
+ // at the moment RSyncMLTransport is only needed
+ // for internet connection settings
+ RSyncMLTransport transport;
+ CleanupClosePushL(transport);
+ transport.OpenL(aSyncSession, KUidNSmlMediumTypeInternet.iUid);
+
+ const CSyncMLTransportPropertiesArray& arr = transport.Properties();
+ RLDEBUG("GetConnectionPropertyNameL interior");
+ __ASSERT_DEBUG( arr.Count()> aPropertyPos, User::Panic(_L("invalid count"), KErrGeneral) );
+
+ const TSyncMLTransportPropertyInfo& info = arr.At(aPropertyPos);
+ aText = info.iName;
+ CleanupStack::PopAndDestroy( &transport);
+
+ RLDEBUG("ApplicationManagementServer::GetConnectionPropertyNameL() - end");
+ }
+
+TInt SmlHelper::StrToInt(const TDesC& aText, TInt& aNum)
+ {
+ TLex lex(aText);
+ TInt err = lex.Val(aNum);
+ return err;
+ }
+
+// End of File
--- a/dcmofw/dcmoserver/src/dcmoserver.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/dcmoserver/src/dcmoserver.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -32,9 +32,18 @@
#include "dcmosession.h"
#include "dcmogenericcontrol.h"
#include "dcmodebug.h"
+#include "lawmodebug.h"
+#include "amsmlhelper.h"
+#include <lawmoadaptercrkeys.h>
+#include <DevManInternalCRKeys.h>
+#include <e32property.h>
+#include <PSVariables.h> // Property values
+#include <lawmointerface.h>
_LIT( KdcmoResourceFileName, "z:dcmo.rsc" );
const TInt KBufferSize = 256;
+const TInt KWipeSuccess = 1201;
+const TInt KWipeFailure = 1405;
TInt CDCMOServer::iSessionCount = 0;
// Standard server startup code
@@ -103,6 +112,9 @@
void CDCMOServer::ConstructL()
{
RDEBUG("CDCMOServer::ConstructL- begin");
+ iwipeStatus = 0;
+ iSessionIap = KErrNotFound;
+ iCount = -1;
StartL(KDCMOServerName);
RDEBUG("CDCMOServer::ConstructL- end");
}
@@ -124,7 +136,7 @@
{
RDEBUG("CDCMOServer::~CDCMOServer- begin");
TInt count = idcmoArray.Count();
- RDEBUG_2("CDCMOServer::~CDCMOServer; %d", count );
+ RDEBUG_2("~~CDCMOServer::~CDCMOServer; %d", count );
if(count)
{
for(TInt i=0; i< count; i++)
@@ -133,15 +145,25 @@
delete iNotifier;
iNotifier = NULL;
}
- else
+
+ RLDEBUG("CDCMOServer::wipe done delete pluginuid()");
+ TInt pluginObjectCount = ilawmoPlugins.Count();
+ while(pluginObjectCount>0)
{
- //Kill the server
- if( iSessionCount == 0)
- CActiveScheduler::Stop();
+ RLDEBUG("plugin to be deleted");
+ delete ilawmoPlugins[pluginObjectCount-1];
+ RLDEBUG("plugin deleted");
+ pluginObjectCount--;
}
+ RLDEBUG("CDCMOServer::close all RArrays()");
+ ilawmoPluginUidToBeWiped.Close();
+ RLDEBUG("CDCMOServer::closeD all RArrays()");
+ ilawmoPlugins.Close();
+
+ RDEBUG("CDCMOServer::call FinalClose");
REComSession::FinalClose();
- RDEBUG("CDCMOServer::~CDCMOServer- end");
+ RDEBUG("~~~CDCMOServer::~CDCMOServer- end");
}
// -----------------------------------------------------------------------------
@@ -161,12 +183,20 @@
if( idcmoArray.Count() && ( iSessionCount == 0 ))
{
// A session is being destroyed
+ RDEBUG("CDCMOServer::DropSession- dofinalise ?");
TRAPD( err, DoFinalizeL());
+ iCount = 0;
if ( !err )
{
RDEBUG_2("CDCMOServer::DropSession err = %d", err );
}
}
+ if((iSessionCount == 0)&&(iCount== -1))
+ {
+ RDEBUG("DropSession kill server, only when no session and no wipe pending");
+ CActiveScheduler::Stop();
+ RDEBUG("DropSession kill server");
+ }
RDEBUG("CDCMOServer::DropSession- end");
}
@@ -207,21 +237,28 @@
// CDCMOServer::GetAdapterUidL
// Gets the plug-in adapter implementation uid if it present.
// ----------------------------------------------------------------------------------------
-TUid CDCMOServer::GetAdapterUidL(const TDesC& aCategory)
+TUid CDCMOServer::GetAdapterUidL(const TDesC& aCategory, TBool aIsLawmo)
{
RDEBUG("CDCMOServer::GetDCMOAdapterUidL(): begin");
-
+ RLDEBUG("CDCMOServer::GetAdapterUidL(): begin");
TUid retUid = {0x0};
-
+ TEComResolverParams resolverParams;
RImplInfoPtrArray infoArray;
// Note that a special cleanup function is required to reset and destroy
// all items in the array, and then close it.
TCleanupItem cleanup(CleanupEComArray, &infoArray);
CleanupStack::PushL(cleanup);
+ if(aIsLawmo)
+ {
+ REComSession::ListImplementationsL(KLAWMOPluginInterfaceUid, resolverParams, KRomOnlyResolverUid, infoArray);
+ RLDEBUG("CDCMOServer::GetAdapterUidL(): listImpl");
+ }
+ else
REComSession::ListImplementationsL(KDCMOInterfaceUid, infoArray);
// Loop through each info for each implementation
TBuf8<KBufferSize> buf;
+ RLDEBUG("CDCMOServer::GetAdapterUidL(): for loop");
for (TInt i=0; i< infoArray.Count(); i++)
{
buf = infoArray[i]->OpaqueData();
@@ -230,12 +267,13 @@
if(category.Find(infoArray[i]->OpaqueData())!= KErrNotFound)
{
retUid = infoArray[i]->ImplementationUid();
+ RLDEBUG("CDCMOServer::GetAdapterUidL(): matched");
break;
}
buf.Zero();
}
CleanupStack::PopAndDestroy(); //cleanup
-
+ RLDEBUG("CDCMOServer::GetAdapterUidL():end");
RDEBUG("CDCMOServer::GetDCMOAdapterUidL(): end");
return retUid;
}
@@ -609,6 +647,170 @@
}
// ----------------------------------------------------------------------------------------
+// CDCMOServer::GetPluginUids
+// Gets the plug-in adapter implementation uid if it present.
+// ----------------------------------------------------------------------------------------
+void CDCMOServer::GetLawmoPluginUidsL()
+{
+ RDEBUG("CDCMOServer::GetPluginUids(): begin");
+ ilawmoPluginUidToBeWiped.Reset();
+ RImplInfoPtrArray infoArray;
+ TEComResolverParams resolverParams;
+ // Note that a special cleanup function is required to reset and destroy
+ // all items in the array, and then close it.
+ TCleanupItem cleanup(CleanupEComArray, &infoArray);
+ CleanupStack::PushL(cleanup);
+ REComSession::ListImplementationsL(KLAWMOPluginInterfaceUid, resolverParams, KRomOnlyResolverUid, infoArray);
+ RLDEBUG("CDCMOServer::GetPluginUids(): listImpl");
+ // Loop through each info for each implementation
+ for (TInt i=0; i< infoArray.Count(); i++)
+ {
+ ilawmoPluginUidToBeWiped.Append(infoArray[i]->ImplementationUid());
+ RLDEBUG("CDCMOServer::GetPluginUids(): for loop");
+ }
+ CleanupStack::PopAndDestroy(); //cleanup
+ RLDEBUG("CDCMOServer::GetPluginUids():end");
+ return;
+}
+
+TLawMoStatus CDCMOServer::WipeAllItem()
+ {
+ //Update ilawmopluginUid, so that all Node items are wiped.
+ //WipeItem doesn only on Uid's in the RArray.
+ TRAPD(error,GetLawmoPluginUidsL());
+ if(error == KErrNone)
+ return WipeItem();
+ else
+ return ELawMoWipeNotPerformed;
+ }
+
+TLawMoStatus CDCMOServer::WipeItem(TInt aValue)
+ {
+ RLDEBUG("CDCMOServer::WipeItem(): begin");
+ TLawMoStatus lawmostat(ELawMoAccepted);
+ iCount = 0;
+ if(ilawmoPluginUidToBeWiped.Count() > 0)
+ {
+ RLDEBUG_2("CDCMOServer::WipeItem got uid(): %d",ilawmoPluginUidToBeWiped[iCount]);
+ CLAWMOPluginInterface* obj;
+ RLDEBUG("CDCMOServer::WipeItem(): NewL");
+ TRAPD(err,obj = CLAWMOPluginInterface::NewL(ilawmoPluginUidToBeWiped[iCount], this));
+ if(err == KErrNone)
+ {
+ RLDEBUG("CDCMOServer::WipeItem(): obj created");
+ RLDEBUG_2("CDCMOServer::WipeItem plugin count: %d",ilawmoPlugins.Count());
+ TRAP(err,obj->WipeL());
+ RLDEBUG_2("CDCMOServer::WipeItem(): wipe called %d",err);
+ ilawmoPlugins.Append(obj);
+ // Get the IAP being used in the current session
+ TRAP( err, SmlHelper::GetDefaultIAPFromDMProfileL( iSessionIap ) );
+ RLDEBUG_2("CDCMOServer::HandleWipeCompleted(): get iap %d",iSessionIap);
+ }
+ if(err!=KErrNone)
+ HandleWipeCompleted(KErrGeneral);
+ }
+ else
+ {
+ lawmostat = ELawMoWipeNotPerformed;
+ }
+
+ RLDEBUG("CDCMOServer::WipeItem(): End");
+ return lawmostat;
+ }
+
+TLawMoStatus CDCMOServer::GetListItemL(TDesC& item, TDes& strValue)
+{
+ RLDEBUG("CDCMOServer::GetListItem(): begin");
+ TEComResolverParams resolverParams;
+ TLawMoStatus lawmostat(ELawMoSuccess);
+ TBuf<KBufferSize> itemName;
+ RImplInfoPtrArray infoArray;
+ TCleanupItem cleanup(CleanupEComArray, &infoArray);
+ CleanupStack::PushL(cleanup);
+ REComSession::ListImplementationsL(KLAWMOPluginInterfaceUid, resolverParams, KRomOnlyResolverUid, infoArray);
+ RLDEBUG("CDCMOServer::GetListItem(): listImpl");
+
+ for (TInt i=0; i< infoArray.Count(); i++)
+ {
+ RLDEBUG("CDCMOServer::GetListItem(): for loop");
+ TBuf<KBufferSize> temp;
+ temp.Copy(infoArray[i]->OpaqueData());
+ RLDEBUG_2("CDCMOServer::GetListItem opaque data to compare is %s", temp.PtrZ());
+ if(item == temp)
+ {
+ itemName.Copy(infoArray[i]->DisplayName());
+ RLDEBUG("CDCMOServer::GetListItem(): matched");
+ break;
+ }
+ }
+ CleanupStack::PopAndDestroy(); //cleanup
+ RLDEBUG_2("CDCMOServer::GetListItem display name is %s", itemName.PtrZ());
+ strValue.Zero();
+ strValue.Append(itemName);
+ RLDEBUG("CDCMOServer::GetListItem(): End");
+ return lawmostat;
+}
+
+
+TLawMoStatus CDCMOServer::GetToBeWipedL(TDesC& item, TDes& wipeValue)
+{
+ RLDEBUG("CDCMOServer::GetToBeWiped(): begin");
+ TLawMoStatus lawmostat(ELawMoSuccess);
+ TInt wipeVal(0);
+ TUid impluid = GetAdapterUidL(item, ETrue);
+ RLDEBUG_2("CDCMOServer::GetToBeWiped for uid(): %d", impluid);
+ TInt afind = ilawmoPluginUidToBeWiped.Find(impluid);
+ if(afind!=KErrNotFound)
+ {
+ wipeVal = 1;
+ RLDEBUG("CDCMOServer::GetToBeWiped(): uid in Rarray");
+ }
+ wipeValue.Zero();
+ wipeValue.Num(wipeVal);
+ RLDEBUG("CDCMOServer::GetToBeWiped(): End");
+ return lawmostat;
+}
+
+TLawMoStatus CDCMOServer::SetToBeWipedL(TDesC& item, TInt wipeValue)
+{
+ RLDEBUG("CDCMOServer::SetToBeWiped(): begin");
+ TLawMoStatus lawmostat(ELawMoSuccess);
+ TUid impluid = GetAdapterUidL(item, ETrue);
+ RLDEBUG_2("CDCMOServer::SetToBeWiped for uid(): %d", impluid);
+ TInt afind = ilawmoPluginUidToBeWiped.Find(impluid);
+ // Add Node's corresponding plugin uid to list so that it can be wiped
+ if(impluid.iUid)
+ {
+ if(wipeValue)
+ {
+ RLDEBUG("CDCMOServer::SetToBeWiped(): wipeVal true");
+ if(afind==KErrNotFound)
+ ilawmoPluginUidToBeWiped.Append(impluid);
+ else
+ RLDEBUG("CDCMOServer::SetToBeWiped() tobewiped already set");
+ }
+ else
+ {
+ RLDEBUG("CDCMOServer::SetToBeWiped(): wipeVal false");
+ if(afind!=KErrNotFound)
+ {
+ ilawmoPluginUidToBeWiped.Remove(afind);
+ RLDEBUG("CDCMOServer::SetToBeWiped() tobewiped unset");
+ }
+ else
+ RLDEBUG("CDCMOServer::SetToBeWiped() tobewiped notset atall");
+ }
+ }
+ else
+ {
+ RLDEBUG("CDCMOServer::SetToBeWiped(): no such plugin found");
+ lawmostat = ELawMoFail;
+ }
+ RLDEBUG("CDCMOServer::SetToBeWiped(): End");
+ return lawmostat;
+}
+
+// ----------------------------------------------------------------------------------------
// CDCMOServer::SetStarter
// Sets the iStarter value
// ----------------------------------------------------------------------------------------
@@ -618,3 +820,138 @@
iStarter = aValue;
RDEBUG("CDCMOServer::SetStarter(): end");
}
+
+void CDCMOServer::HandleWipeCompleted(TInt status)
+{
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): begin");
+ // whether wipe is performed or failed
+ iwipeStatus = (iwipeStatus && status);
+ RLDEBUG_2("CDCMOServer::HandleWipeCompleted wipestate: %d",iwipeStatus);
+ iCount++;
+ if(ilawmoPluginUidToBeWiped.Count()>iCount)
+ {
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): create obj");
+ CLAWMOPluginInterface* obj;
+ TRAPD(err, obj = CLAWMOPluginInterface::NewL(ilawmoPluginUidToBeWiped[iCount], this));
+ if(err == KErrNone)
+ {
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): obj created");
+ RLDEBUG_2("CDCMOServer::HandleWipeCompleted plugin count: %d",ilawmoPlugins.Count());
+ TRAP(err,obj->WipeL());
+ RLDEBUG_2("CDCMOServer::HandleWipeCompleted(): wipe called %d",err);
+ ilawmoPlugins.Append(obj);
+ }
+ if(err!=KErrNone)
+ HandleWipeCompleted(KErrGeneral);
+ }
+ else
+ {
+ // start DM session using the Monitor for generic alert
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): done");
+ TInt err;
+ TBuf<KBufferSize> srvrid;
+ CRepository* crep;
+ TRAP(err, crep = CRepository::NewLC( KCRUidDeviceManagementInternalKeys );
+ CleanupStack::Pop(crep));
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): get srvrid");
+ if(err == KErrNone)
+ err = crep->Get( KLAWMOfactoryDmServerID, srvrid );
+ RDEBUG_2("CDCMOServer::GetCurrentServerId() %d",err);
+ RLDEBUG_2("CDCMOServer::HandleWipeCompleted(): srvrid %s",srvrid.PtrZ());
+ if (err == KErrNone)
+ {
+ RLDEBUG("CDCMOServer::startNwMonitor()");
+ TRAP(err,StartDMNetworkMonitorL(srvrid, iSessionIap));
+ }
+
+ if(crep)
+ {
+ delete crep; //crep
+ crep = NULL;
+ }
+
+ // Only when session is started successfully, Set wipestatus
+ if(err==KErrNone)
+ {
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): writing wipestatus to cenrep");
+ CRepository* repository;
+ TRAP(err, repository = CRepository::NewLC ( KCRUidLawmoAdapter );
+ CleanupStack::Pop(crep));
+
+ if(iwipeStatus==KErrNone)
+ iwipeStatus = KWipeSuccess;
+ else
+ iwipeStatus = KWipeFailure;
+
+ repository->Set(KLawmoWipeStatus,iwipeStatus);
+ RLDEBUG_2("CDCMOServer::HandleWipeCompleted wipestate: %d",iwipeStatus);
+ if (repository)
+ {
+ delete repository;
+ repository = NULL;
+ }
+ }
+
+ RLDEBUG_2("printing ilawmoPluginUidToBeWiped %d", ilawmoPluginUidToBeWiped.Count());
+ RLDEBUG_2("printing ilawmoPlugins %d", ilawmoPlugins.Count());
+ RLDEBUG_2("printing ilawmoPlugins %d", iCount);
+ iCount = -1; // To indicate all wipe is done
+ if( iSessionCount == 0)
+ {
+ CActiveScheduler::Stop();
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): kill server");
+ }
+ }
+
+ RLDEBUG("CDCMOServer::HandleWipeCompleted(): end");
+}
+
+// ------------------------------------------------------------------------------------------------
+// CDCMOServer::StartDMNetworkMonitorL()
+// ------------------------------------------------------------------------------------------------
+void CDCMOServer::StartDMNetworkMonitorL(TDesC& aServerId, TInt iapid)
+{
+ TInt retryenabled = 1;
+ _LIT( KNetMon,"\\dmnetworkmon.exe" );
+ RLDEBUG("CDCMOServer::StartDMNetworkMonitorL(): start");
+ TBuf8<KBufferSize> serverid;
+ serverid.Copy(aServerId);
+ // Enable DM Network Monitoring for retry of Generic alert in case of N/W loss
+
+ CRepository *repository= CRepository::NewLC ( KCRUidDeviceManagementInternalKeys );
+ repository->Set(KDevManEnableDMNetworkMon, retryenabled);
+ repository->Set(KDevManServerIdKey, serverid);
+ repository->Set(KDevManIapIdKey, iapid);
+ RLDEBUG("CDCMOServer::StartDMNetworkMonitorL(): set rep keys");
+ CleanupStack::PopAndDestroy();
+
+ // create NetMon EXE
+ RProcess rp;
+ TInt err = rp.Create(KNetMon,KNullDesC);
+ RLDEBUG("CDCMOServer::StartDMNetworkMonitorL():create rprocess");
+ User::LeaveIfError(err);
+ TRequestStatus stat;
+ rp.Rendezvous(stat);
+ RLDEBUG("CDCMOServer::StartDMNetworkMonitorL():rendezvous");
+
+ if (stat!=KRequestPending)
+ {
+ RLDEBUG("CDCMOServer::StartDMNetworkMonitorL():abort srvr");
+ rp.Kill(0); // abort startup
+ }
+ else
+ {
+ RLDEBUG("CDCMOServer::StartDMNetworkMonitorL(): start server");
+ rp.Resume(); // logon OK - start the server
+ }
+ User::WaitForRequest(stat); // wait for start or death
+ TInt r= rp.ExitType();
+ TInt reqstat = stat.Int();
+ //TExitType a;
+ RLDEBUG_2("CDCMOServer::StartDMNetworkMonitorL() exittype %d",r);
+ RLDEBUG_2("CDCMOServer::StartDMNetworkMonitorL() reqstatus %d",reqstat);
+
+ rp.Close();
+}
+
+
--- a/dcmofw/dcmoserver/src/dcmosession.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/dcmoserver/src/dcmosession.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -20,7 +20,7 @@
#include "dcmosession.h"
#include "dcmoclientserver.h"
#include "dcmodebug.h"
-
+#include "lawmodebug.h"
// ----------------------------------------------------------------------------------------
// CDCMOSession::CDCMOSession
@@ -68,8 +68,10 @@
RDEBUG_2("CDCMOSession::DispatchMessageL; %d", aMessage.Function() );
TInt value;
TDCMOStatus statusValue;
+ TLawMoStatus lstatusValue;
TDCMONode nodeValue;
TPckg<TDCMOStatus> status(statusValue);
+ TPckg<TLawMoStatus> lstatus(lstatusValue);
TPckg<TDCMONode> node(nodeValue);
TPckg<TInt> intvalue(value);
@@ -152,6 +154,88 @@
RDEBUG("CDCMOSession::DispatchMessageL - EDcmoSearchAdapter status " );
}
break;
+ case EWipe:
+ {
+ //HBufC* item = HBufC::NewLC(KDCMOMaxStringSize);
+ //TPtr itemPtr = category->Des();
+ //aMessage.Read (0, itemPtr);
+ //aMessage.Complete(KErrNone);
+ //RDEBUG("CDCMOSession::EWipe force complete the request");
+ lstatusValue = Server().WipeItem();
+ aMessage.Write (0, lstatus);
+ //CleanupStack::PopAndDestroy();
+ RLDEBUG_2("CDCMOSession::DispatchMessageL EWipe %d", lstatusValue );
+ }
+ break;
+
+ case EWipeAll:
+ {
+ //TInt aForce(1);
+ lstatusValue = Server().WipeAllItem();
+ aMessage.Write (0, lstatus);
+ RLDEBUG_2("CDCMOSession::DispatchMessageL EWipeAll %d", lstatusValue );
+ }
+ break;
+
+ case EListItemName_Get:
+ {
+ HBufC* buf1 = HBufC::NewLC(KDCMOMaxStringSize);
+ TPtr bufPtr1 = buf1->Des();
+ HBufC* item = HBufC::NewLC(KDCMOMaxStringSize);
+ TPtr itemPtr = item->Des();
+ aMessage.Read (0, itemPtr);
+ lstatusValue = Server().GetListItemL(itemPtr, bufPtr1);
+ aMessage.Write (1, bufPtr1);
+ aMessage.Write (2, lstatus);
+ CleanupStack::PopAndDestroy(2);
+ RLDEBUG_2("CDCMOSession::DispatchMessageL EListItemName_Get %d", lstatusValue );
+ }
+ break;
+
+ case EToBeWiped_Get:
+ {
+ HBufC* item = HBufC::NewLC(KDCMOMaxStringSize);
+ TPtr itemPtr = item->Des();
+ HBufC* buf1 = HBufC::NewLC(KDCMOMaxStringSize);
+ TPtr bufPtr1 = buf1->Des();
+ aMessage.Read (0, itemPtr);
+ lstatusValue = Server().GetToBeWipedL(itemPtr, bufPtr1);
+ aMessage.Write (1, bufPtr1);
+ aMessage.Write (2, lstatus);
+ CleanupStack::PopAndDestroy(2);
+ RLDEBUG_2("CDCMOSession::DispatchMessageL EToBeWiped_Get %d", lstatusValue );
+ }
+ break;
+
+ case EToBeWiped_Set:
+ {
+ //TLex lex;
+ //TInt val;
+ //TBuf<255> wipeValue;
+ HBufC* item = HBufC::NewLC(KDCMOMaxStringSize);
+ TPtr itemPtr = item->Des();
+ aMessage.Read (0, itemPtr);
+ TInt val = aMessage.Int1();
+ //aMessage.Read (1, wipeValue);
+ RLDEBUG_2("Tobewiped category %s",itemPtr.PtrZ());
+ //lex.Assign( wipeValue );
+ //TInt err = lex.Val( val );
+ RLDEBUG_2("Tobewiped value,int %d", val );
+ //if(err==KErrNone)
+ // {
+ // RLDEBUG("SetToBeWiped call" );
+ lstatusValue = Server().SetToBeWipedL(itemPtr, val);
+ // }
+ //else
+ // {
+ // RLDEBUG("SetToBeWiped not" );
+ // lstatusValue = ELawMoFail;
+ // }
+ aMessage.Write (2, lstatus);
+ CleanupStack::PopAndDestroy();
+ RLDEBUG_2("CDCMOSession::DispatchMessageL EToBeWiped_Set %d", lstatusValue );
+ }
+ break;
default :
RDEBUG("CDCMOSession::DispatchMessageL- Case Not Found" );
}
--- a/dcmofw/group/bld.inf Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/group/bld.inf Thu Aug 19 10:44:50 2010 +0300
@@ -24,3 +24,4 @@
#include "../dcmoclient/group/bld.inf"
#include "../dcmoserver/group/bld.inf"
#include "../dcmocustcmd/group/bld.inf"
+#include "../lawmoclient/group/bld.inf"
\ No newline at end of file
--- a/dcmofw/inc/dcmoclientserver.h Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/inc/dcmoclientserver.h Thu Aug 19 10:44:50 2010 +0300
@@ -39,4 +39,15 @@
EDcmoSearchAdapter
};
+enum TLawmoControlMessages
+ {
+ ECreateSubSession = 10,
+ ECloseSubSession,
+ EListItemName_Get,
+ EToBeWiped_Get,
+ EToBeWiped_Set,
+ EWipe,
+ EWipeAll,
+ ENotUsed
+ };
#endif// __DCMOCLIENTSERVER_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/inc/lawmodebug.h Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* 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: Implementation of terminalsecurity components
+*
+*/
+
+
+#ifndef _LAW_DEBUG_HEADER_
+#define _LAW_DEBUG_HEADER_
+
+#include <f32file.h>
+#include <flogger.h>
+// CONSTANTS
+_LIT( KLawLogFolderName, "law" );
+_LIT( KLawLogFileName, "law.log" );
+// MACROS
+#ifdef _DEBUG
+#define _LAW_FILE_DEBUG
+#endif
+
+#ifdef _LAW_FILE_DEBUG
+ #define RLDEBUG(X) RFileLogger::Write( KLawLogFolderName, KLawLogFileName, EFileLoggingModeAppend, _L(X) )
+ #define RLDEBUG_2(X,Y) RFileLogger::WriteFormat( KLawLogFolderName, KLawLogFileName, EFileLoggingModeAppend, _L(X),Y )
+ #define RLDEBUG_3(X,Y,Z) RFileLogger::WriteFormat( KLawLogFolderName, KLawLogFileName, EFileLoggingModeAppend, _L(X),Y,Z )
+#else
+
+ #if defined (_DEBUG)
+ #define RLDEBUG(X) RDebug::Print(_L(X))
+ #define RLDEBUG_2(X,Y) RDebug::Print(_L(X),Y)
+ #define RLDEBUG_3(X,Y,Z) RDebug::Print(_L(X),Y,Z)
+ #else
+ #define RLDEBUG(X)
+ #define RLDEBUG_2(X,Y)
+ #define RLDEBUG_3(X,Y,Z)
+ #endif // _DEBUG
+
+#endif // _LAW_FILE_DEBUG
+
+
+
+
+#endif // _LAW_DEBUG_HEADER_
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/lawmoclient/bwins/lawmoclientu.def Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,9 @@
+EXPORTS
+ ?SetToBeWipedValue@RLawmoClient@@QAEHAAVTDes16@@H@Z @ 1 NONAME ; int RLawmoClient::SetToBeWipedValue(class TDes16 &, int)
+ ?GetListItemName@RLawmoClient@@QAEHAAVTDes16@@0@Z @ 2 NONAME ; int RLawmoClient::GetListItemName(class TDes16 &, class TDes16 &)
+ ?GetToBeWipedValue@RLawmoClient@@QAEHAAVTDes16@@AAH@Z @ 3 NONAME ; int RLawmoClient::GetToBeWipedValue(class TDes16 &, int &)
+ ?DeviceWipe@RLawmoClient@@QAE?AW4TLawMoStatus@@XZ @ 4 NONAME ; enum TLawMoStatus RLawmoClient::DeviceWipe(void)
+ ?Connect@RLawmoClient@@QAEHXZ @ 5 NONAME ; int RLawmoClient::Connect(void)
+ ?DeviceWipeAll@RLawmoClient@@QAE?AW4TLawMoStatus@@XZ @ 6 NONAME ; enum TLawMoStatus RLawmoClient::DeviceWipeAll(void)
+ ?Close@RLawmoClient@@QAEXXZ @ 7 NONAME ; void RLawmoClient::Close(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/lawmoclient/eabi/lawmoclientu.def Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,8 @@
+EXPORTS
+ _ZN12RLawmoClient10DeviceWipeEv @ 1 NONAME
+ _ZN12RLawmoClient13DeviceWipeAllEv @ 2 NONAME
+ _ZN12RLawmoClient15GetListItemNameER6TDes16S1_ @ 3 NONAME
+ _ZN12RLawmoClient17GetToBeWipedValueER6TDes16Ri @ 4 NONAME
+ _ZN12RLawmoClient17SetToBeWipedValueER6TDes16i @ 5 NONAME
+ _ZN12RLawmoClient5CloseEv @ 6 NONAME
+ _ZN12RLawmoClient7ConnectEv @ 7 NONAME
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/lawmoclient/group/bld.inf Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,20 @@
+/*
+* 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: This file provides building information for DCMO Client.
+*
+*/
+
+
+PRJ_MMPFILES
+lawmoclient.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/lawmoclient/group/lawmoclient.mmp Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* 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: DCMO Client for DCMO framework
+*
+*/
+
+#include <platform_paths.hrh>
+#include "defaultcaps.hrh"
+
+CAPABILITY CAP_CLIENT_DLL
+TARGET lawmoclient.dll
+TARGETTYPE dll
+UID 0x1000008D 0x2002EA20
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE lawmoclient.cpp
+
+MW_LAYER_SYSTEMINCLUDE
+USERINCLUDE .
+USERINCLUDE ../inc
+USERINCLUDE ../../inc
+
+LIBRARY euser.lib
+LIBRARY featmgr.lib
+LIBRARY flogger.lib
+
+SMPSAFE
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dcmofw/lawmoclient/src/lawmoclient.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* 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: LAWMO Client implementation
+*
+*/
+
+#include <e32svr.h>
+#include <featmgr.h>
+#include "dcmoclientserver.h"
+#include "lawmoclient.h"
+#include "lawmodebug.h"
+// Standard server startup code
+//
+static TInt StartServer()
+ {
+ RLDEBUG("from lawmoclient ->starting dcmo server...");
+
+ // EPOC and EKA 2 is easy, we just create a new server process. Simultaneous
+ // launching of two such processes should be detected when the second one
+ // attempts to create the server object, failing with KErrAlreadyExists.
+ RProcess server;
+ TInt r=server.Create(KDCMOServerName,KNullDesC);
+
+ if (r!=KErrNone)
+ {
+ RLDEBUG_2("lawmoclient -> server start failed %d",r);
+ return r;
+ }
+ TRequestStatus stat;
+ server.Rendezvous(stat);
+ if (stat!=KRequestPending)
+ server.Kill(0); // abort startup
+ else
+ server.Resume(); // logon OK - start the server
+ RLDEBUG("lawmoclient -> dcmoserver Started");
+ User::WaitForRequest(stat); // wait for start or death
+ // we can't use the 'exit reason' if the server panicked as this
+ // is the panic 'reason' and may be '0' which cannot be distinguished
+ // from KErrNone
+ r=(server.ExitType()==EExitPanic) ? KErrGeneral : stat.Int();
+ server.Close();
+ return r;
+ }
+
+
+// This is the standard retry pattern for server connection
+EXPORT_C TInt RLawmoClient::Connect()
+ {
+ RLDEBUG("RLawmoClient: connect...");
+ TInt retry=2;
+ for (;;)
+ {
+ TInt r=CreateSession(KDCMOServerName,TVersion(0,0,0),1);
+ if (r!=KErrNotFound && r!=KErrServerTerminated)
+ return r;
+ if (--retry==0)
+ return r;
+ RLDEBUG("RLawmoClient: to start server...");
+ r=StartServer();
+ if (r!=KErrNone && r!=KErrAlreadyExists)
+ return r;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// RLawmoClient::Close()
+// ---------------------------------------------------------------------------
+EXPORT_C void RLawmoClient::Close()
+ {
+ RLDEBUG(" RLawmoClient::Close");
+ RSessionBase::Close(); //basecall
+ RLDEBUG(" RLawmoClient::close done");
+ }
+
+// ----------------------------------------------------------------------------------------
+// RLawmoClient::DeviceWipeL
+// ----------------------------------------------------------------------------------------
+EXPORT_C TLawMoStatus RLawmoClient::DeviceWipe()
+ {
+ RLDEBUG("RLawmoClient::DeviceWipe Begin");
+ TLawMoStatus status(ELawMoAccepted);
+ TPckg<TLawMoStatus> statusValue(status);
+ TInt err = SendReceive(EWipe,TIpcArgs(&statusValue));
+ //TInt err = SendReceive(EWipe);
+ if(err != KErrNone)
+ status = ELawMoWipeNotPerformed;
+ RLDEBUG("RLawmoClient::DeviceWipe End");
+ return status;
+ }
+
+// ----------------------------------------------------------------------------------------
+// RLawmoClient::DeviceWipeAll
+// ----------------------------------------------------------------------------------------
+EXPORT_C TLawMoStatus RLawmoClient::DeviceWipeAll( )
+ {
+ RLDEBUG("RLawmoClient::DeviceWipeAll Begin");
+ TLawMoStatus status(ELawMoSuccess);
+ TPckg<TLawMoStatus> statusValue(status);
+ TInt err = SendReceive( EWipeAll,TIpcArgs(&statusValue) );
+ if(err != KErrNone)//if sendreceive itself failed
+ status = ELawMoWipeFailed;
+ RLDEBUG("RLawmoClient::DeviceWipeAll End");
+ return status;
+ }
+
+// ----------------------------------------------------------------------------------------
+// RLawmoClient::SetPasscodeMaxAttempts
+// ----------------------------------------------------------------------------------------
+EXPORT_C TInt RLawmoClient::GetListItemName( TDes& aItemName, TDes& aNodeValue )
+ {
+ RLDEBUG("RLawmoClient::GetListItemName Begin");
+
+ TIpcArgs args1;
+ TLawMoStatus status(ELawMoOk);
+
+ args1.Set( 0, &aItemName );
+ args1.Set( 1, &aNodeValue );
+ args1.Set( 2, status);
+ TInt err = SendReceive( EListItemName_Get, args1 );
+ if(err != KErrNone)
+ status = ELawMoInvalid;
+ RLDEBUG("RLawmoClient::GetListItemName End");
+ return status;
+ }
+
+EXPORT_C TInt RLawmoClient::GetToBeWipedValue( TDes& aItemName, TBool& aWipeVal )
+ {
+ RLDEBUG("RLawmoClient::GetToBeWipedValue Begin");
+
+ TIpcArgs args1;
+ TBuf<255> wipeValue;
+ TLex lex;
+
+ TLawMoStatus status(ELawMoOk);
+
+ args1.Set( 0, &aItemName );
+ args1.Set( 1, &wipeValue );
+ args1.Set( 2, status);
+
+ TInt err = SendReceive( EToBeWiped_Get, args1 );
+
+ if( err == KErrNone )
+ {
+ lex.Assign( wipeValue );
+ err = lex.Val( aWipeVal );
+ }
+ if(err != KErrNone)
+ status = ELawMoInvalid;
+
+ RLDEBUG("RLawmoClient::GetToBeWipedValue End");
+ return status;
+ }
+
+EXPORT_C TInt RLawmoClient::SetToBeWipedValue( TDes& aItemName, TInt aWipeVal )
+ {
+ RLDEBUG("RLawmoClient::SetToBeWipedValue Begin");
+ TIpcArgs args1;
+ TLawMoStatus status(ELawMoOk);
+
+ args1.Set( 0, &aItemName );
+ args1.Set( 1, aWipeVal );
+ args1.Set( 2, status);
+
+ TInt err = SendReceive( EToBeWiped_Set, args1 );
+
+ if(err != KErrNone)
+ status = ELawMoInvalid;
+
+ RLDEBUG("RLawmoClient::SetToBeWipedValue End");
+ return status;
+ }
+// ----------------------------------------------------------------------------------------
+// RLawmoClient::SetPasscodeMaxAttempts
+// ----------------------------------------------------------------------------------------
+/*EXPORT_C TInt RLawmoClient::GetLawMoState( TDes& aState )
+ {
+ RLDEBUG("RLawmoClient::GetLawMoState Begin");
+
+ TLawMoStatus status(ELawMoSuccess);
+ TIpcArgs args1;
+ args1.Set( 0, &aState );
+ args1.Set( 1, status);
+ TInt err = SendReceive( EState, args1 );
+
+ if(err != KErrNone)
+ status = ELawMoFail;
+
+ RLDEBUG("RLawmoClient::GetLawMoState End");
+ return status;
+ }*/
--- a/dcmofw/rom/dcmofw.iby Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/rom/dcmofw.iby Thu Aug 19 10:44:50 2010 +0300
@@ -20,13 +20,17 @@
#define _DCMOFW_IBY_
file=ABI_DIR\BUILD_DIR\dcmoclient.dll SHARED_LIB_DIR\dcmoclient.dll
+#ifdef FF_OMA_LAWMO
+file=ABI_DIR\BUILD_DIR\lawmoclient.dll SHARED_LIB_DIR\lawmoclient.dll
+#endif
-#ifdef FF_RUNTIME_DEVICE_CAPABILITY_CONFIGURATION
+#if defined(FF_RUNTIME_DEVICE_CAPABILITY_CONFIGURATION) || defined(FF_OMA_LAWMO)
data=DATAZ_\RESOURCE_FILES_DIR\dcmo.rsc RESOURCE_FILES_DIR\dcmo.rsc
file=ABI_DIR\BUILD_DIR\dcmoserver.exe PROGRAMS_DIR\dcmoserver.exe
data=\epoc32\data\Z\private\10202BE9\2001FE47.txt private\10202BE9\2001FE47.txt
data=\epoc32\data\Z\private\10202BE9\2000253D.txt private\10202BE9\2000253D.txt
#endif
+
#endif
--- a/dcmofw/rom/dcmofwresources.iby Thu Jul 15 19:36:11 2010 +0300
+++ b/dcmofw/rom/dcmofwresources.iby Thu Aug 19 10:44:50 2010 +0300
@@ -20,8 +20,9 @@
#define _DCMOFWRESOURCES_IBY_
-#ifdef FF_RUNTIME_DEVICE_CAPABILITY_CONFIGURATION
+#if defined(FF_RUNTIME_DEVICE_CAPABILITY_CONFIGURATION) || defined(FF_OMA_LAWMO)
data=DATAZ_\RESOURCE_FILES_DIR\dcmo.rsc RESOURCE_FILES_DIR\dcmo.rsc
#endif
+
#endif
--- a/fotaapplication/fotaserver/FotaServer/group/fotaserver.mmp Thu Jul 15 19:36:11 2010 +0300
+++ b/fotaapplication/fotaserver/FotaServer/group/fotaserver.mmp Thu Aug 19 10:44:50 2010 +0300
@@ -116,6 +116,7 @@
LIBRARY featmgr.lib
LIBRARY fmsclient.lib //FMS Client
LIBRARY cmmanager.lib //Connection Manager
+LIBRARY inetprotutil.lib
LIBRARY aknnotify.lib
// #ifdef _FOTA_DEBUG
--- a/fotaapplication/fotaserver/FotaServer/src/fotadownload.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/fotaapplication/fotaserver/FotaServer/src/fotadownload.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -47,6 +47,7 @@
#include "fotaserverPrivatePSKeys.h"
#include "FotaNetworkRegStatus.h"
#include <startupdomainpskeys.h> //globalrfsstates
+#include <uri8.h>
#define __LEAVE_IF_ERROR(x) if(KErrNone!=x) {FLOG(_L("LEAVE in %s: %d"), __FILE__, __LINE__); User::Leave(x); }
#define __LEAVE(x) {FLOG(_L("LEAVE in %s: %d"), __FILE__, __LINE__); User::Leave(x); }
@@ -294,7 +295,7 @@
if ( iUrl ) {delete iUrl; iUrl=NULL;}
iUrl = aPkgURL.Alloc();
- iUpdateAfterDownload = aUpdateAfterDownload;
+
iRestartCounter = aRestartDownload;
iDLState = aParams;
@@ -314,6 +315,44 @@
// 2. Get Iap Id to use for download. This would be set in iDLState.iIapId.
SetIapToUseL(aParams, aIapid);
+
+ if ( iDLState.iIapId > KErrNotFound )
+ {
+ iFotaServer->iDatabase->OpenDBL();
+ iFotaServer->iDatabase->SetStateL(iDLState,KNullDesC8, EFDBIapId );
+ iFotaServer->iDatabase->CloseAndCommitDB();
+ }
+
+ /*
+ TBuf8<100> test;
+ //_LIT8( KNSmlDMFotaNode,"http://2IND02230.noe.nokia.com8080/myspace/ddv1.dd" );
+ _LIT8( KNSmlDMFotaNode,"http://fdsqa.nokia.com/fdp/interface?fid=A0A19HMCUHWRU" );
+ test.Copy(KNSmlDMFotaNode);
+
+
+ TUriParser8 parser;
+
+ if (!parser.Parse(test) && !parser.IsSchemeValid()) */
+
+ TUriParser8 parser;
+
+
+
+ if((parser.Parse(aPkgURL) == KErrNone) && !parser.IsSchemeValid() )
+
+ {
+ FLOG(_L("URL is malformed.. finalizing download"));
+ iDLState.iResult = RFotaEngineSession::EResMalformedOrBadURL;
+ iDLState.iState = RFotaEngineSession::EDownloadFailed;
+ iFotaServer->iDatabase->OpenDBL();
+ iFotaServer->iDatabase->SetStateL(iDLState, KNullDesC8, EFDBState | EFDBResult);
+ iFotaServer->iDatabase->CloseAndCommitDB();
+ iFotaServer->FinalizeDownloadL(iDLState);
+ LaunchNotifierL(ESyncMLFwUpdErrorNote, KErrGeneralNoResume, EFalse );
+ return;
+ }
+ iUpdateAfterDownload = aUpdateAfterDownload;
+
// 3. Determine whether download should be visible or not
// Autoaccepted profile?
--- a/remotemgmt_plat/dcmo_adapter_api/inc/DcmoConst.h Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/dcmo_adapter_api/inc/DcmoConst.h Thu Aug 19 10:44:50 2010 +0300
@@ -51,4 +51,22 @@
EDcmoUnknown
};
+
+enum TLawMoStatus
+{
+ ELawMoSuccess,
+ ELawMoOk,
+ ELawMoFail,
+ ELawMoFullyLockFailed,
+ ELawMoPartialLockFailed,
+ ELawMoUnlockFailed,
+ ELawMoWipeSuccess,
+ ELawMoWipeFailed,
+ ELawMoWipeNotPerformed,
+ ELawMoUserCancelled,
+ ELawMoAccepted,
+ ELawMoInvalid,
+ ELawMoUnknown
+};
+
#endif// __DCMOCONST_H__
--- a/remotemgmt_plat/dcmo_control_api/group/bld.inf Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/dcmo_control_api/group/bld.inf Thu Aug 19 10:44:50 2010 +0300
@@ -25,4 +25,5 @@
PRJ_EXPORTS
../inc/dcmoClientBase.h MW_LAYER_PLATFORM_EXPORT_PATH(dcmoclientbase.h)
-../inc/dcmoClient.h MW_LAYER_PLATFORM_EXPORT_PATH(dcmoclient.h)
+../inc/dcmoClient.h MW_LAYER_PLATFORM_EXPORT_PATH(dcmoclient.h)
+../inc/lawmoclient.h MW_LAYER_PLATFORM_EXPORT_PATH(lawmoclient.h)
\ No newline at end of file
--- a/remotemgmt_plat/dcmo_control_api/inc/dcmoClient.h Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/dcmo_control_api/inc/dcmoClient.h Thu Aug 19 10:44:50 2010 +0300
@@ -37,20 +37,20 @@
* @param None
* @return KErrNone Symbian error code
*/
- TInt OpenL();
+ IMPORT_C TInt OpenL();
/**
* Close server connection
* @param None
* @return None
*/
- void Close();
+ IMPORT_C void Close();
/**
* ~RDCMOClient.
* Virtual Destructor.
*/
- virtual ~RDCMOClient();
+ IMPORT_C virtual ~RDCMOClient();
/**
* Get the interger type value
@@ -60,7 +60,7 @@
* @param aValue
* @return TDCMOStatus
*/
- TDCMOStatus GetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt& aValue);
+ IMPORT_C TDCMOStatus GetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt& aValue);
/**
* Get the string type value
@@ -70,7 +70,7 @@
* @param aStrValue
* @return TDCMOStatus
*/
- TDCMOStatus GetDCMOStrAttributeValue (TDes& aCategory, TDCMONode aId, TDes& aStrValue);
+ IMPORT_C TDCMOStatus GetDCMOStrAttributeValue (TDes& aCategory, TDCMONode aId, TDes& aStrValue);
/**
* Set the interger type value
@@ -80,7 +80,7 @@
* @param aValue
* @return TDCMOStatus
*/
- TDCMOStatus SetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt aValue);
+ IMPORT_C TDCMOStatus SetDCMOIntAttributeValue(TDes& aCategory, TDCMONode aId, TInt aValue);
/**
* Set the string type value
@@ -90,7 +90,7 @@
* @param aStrValue
* @return TDCMOStatus
*/
- TDCMOStatus SetDCMOStrAttributeValue(TDes& aCategory, TDCMONode aId, TDes& aStrValue);
+ IMPORT_C TDCMOStatus SetDCMOStrAttributeValue(TDes& aCategory, TDCMONode aId, TDes& aStrValue);
/**
* Get All type value
@@ -100,7 +100,7 @@
* @param aStrValue
* @return TDCMOStatus
*/
- void SearchByGroupValue(TDes& aGroup, TDes& aAdapterList);
+ IMPORT_C void SearchByGroupValue(TDes& aGroup, TDes& aAdapterList);
private:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/dcmo_control_api/inc/lawmoclient.h Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: header file for lawmo Client
+*
+*/
+
+#ifndef __LAWMOCLIENT_H__
+#define __LAWMOCLIENT_H__
+
+
+#include <e32base.h>
+#include <f32file.h>
+#include <dcmoconst.h>
+
+// needed for creating server thread.
+
+class RLawmoClient : public RSessionBase
+ {
+public:
+
+ /**
+ * connects to DCMOServer
+ * @param None
+ * @return KErrNone Symbian error code
+ */
+ IMPORT_C TInt Connect();
+ /**
+ * Close server connection
+ * @param None
+ * @return None
+ */
+ IMPORT_C void Close();
+ /**
+ * Wipe the contents of the Device
+ * @param None
+ * @return None
+ */
+ IMPORT_C TLawMoStatus DeviceWipe();
+
+ /**
+ * Wipe All the contents in the Device
+ * @param None
+ * @return None
+ */
+ IMPORT_C TLawMoStatus DeviceWipeAll( );
+
+ /**
+ /*Fetches the ListItemName of the lawmo node
+ * @param ItemName - Node on which this fetch is initiated
+ * @param NodeValue- List Item name value
+ * @return Symbian error code
+ */
+ IMPORT_C TInt GetListItemName( TDes& aItemName, TDes& aNodeValue);
+
+ /**
+ /*Fetches the tobewiped of the lawmo node
+ * @param ItemName - Node on which this fetch is initiated
+ * @param NodeValue- List Item name value
+ * @return Symbian error code
+ */
+ IMPORT_C TInt GetToBeWipedValue( TDes& aItemName, TBool& aWipeVal);
+
+ /**
+ /*Sets the wipe value for the lawmo node
+ * @param ItemName - Node on which this operation is initiated
+ * @param NodeValue- wipe value
+ * @return Symbian error code
+ */
+ IMPORT_C TInt SetToBeWipedValue( TDes& aItemName, TInt aWipeVal );
+
+private:
+
+ };
+
+#endif // __LAWMOCLIENT_H__
--- a/remotemgmt_plat/device_management_parameter_api/group/bld.inf Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/device_management_parameter_api/group/bld.inf Thu Aug 19 10:44:50 2010 +0300
@@ -25,3 +25,4 @@
PRJ_EXPORTS
../inc/DevManInternalCRKeys.h MW_LAYER_PLATFORM_EXPORT_PATH(DevManInternalCRKeys.h)
+../inc/lawmoadaptercrkeys.h MW_LAYER_PLATFORM_EXPORT_PATH(lawmoadaptercrkeys.h)
\ No newline at end of file
--- a/remotemgmt_plat/device_management_parameter_api/inc/DevManInternalCRKeys.h Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/device_management_parameter_api/inc/DevManInternalCRKeys.h Thu Aug 19 10:44:50 2010 +0300
@@ -166,6 +166,15 @@
*/
const TUint32 KNSmlDMSCOMOTargetRef = 0x00000012;
+const TUint32 KLAWMOPhoneLock = 0x00000013;
+
+const TUint32 KLAWMOfactoryDmProfileID = 0x00000014;
+
+const TUint32 KMaxFactoryDMProfileId = 0x00000015;
+
+const TUint32 KLAWMOfactoryDmServerName = 0x00000016;
+
+const TUint32 KLAWMOfactoryDmServerID = 0x00000017;
#endif // SYNCML_DEVMAN_INTERNAL_CR_KEYS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/device_management_parameter_api/inc/lawmoadaptercrkeys.h Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Name : LawmoadapterCRKeys.h
+* Part of : Lawmoadapter
+*
+* 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: Implementation of dm adapters
+* This is part of omadmextensions.
+*
+*/
+
+#ifndef LAWMOADAPTERCRKEYS_H
+#define LAWMOADAPTERCRKEYS_H
+
+// CONSTANTS
+
+// key uid
+const TUid KCRUidLawmoAdapter = {0x2002EA22};
+
+// State of Lawmo Adapter
+const TUint32 KLawmoRootNode = 0x00000001;
+const TUint32 KLawmoCorrelator = 0x00000002;
+const TUint32 KLawmoWipeStatus = 0x00000003;
+const TUint32 KLawmoSourceURI = 0x00000004;
+
+#endif // LawmoADAPTERCRKEYS_H
+
+// End of File
--- a/remotemgmt_plat/group/bld.inf Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/group/bld.inf Thu Aug 19 10:44:50 2010 +0300
@@ -58,3 +58,4 @@
#include "../dm_native_notifier_api/group/bld.inf"
#include "../syncml_ds_customization_api/group/bld.inf"
#include "../syncml_ds_error_reporting_api/group/bld.inf"
+#include "../lawmo_plugin_api/group/bld.inf"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/lawmo_plugin_api/group/bld.inf Thu Aug 19 10:44:50 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* 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: File that exports the files belonging to
+: LAWMO Plugin API
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/lawmointerface.h MW_LAYER_PLATFORM_EXPORT_PATH(lawmointerface.h)
+../inc/lawmointerface.inl MW_LAYER_PLATFORM_EXPORT_PATH(lawmointerface.inl)
+../inc/lawmocallbackinterface.h MW_LAYER_PLATFORM_EXPORT_PATH(lawmocallbackinterface.h)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/lawmo_plugin_api/inc/lawmocallbackinterface.h Thu Aug 19 10:44:50 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: LAWMO CallBack Interface definition
+*
+*/
+
+#ifndef _MLAWMOCALLBACKINTERFACE_H__
+#define _MLAWMOCALLBACKINTERFACE_H__
+
+#include <e32base.h>
+
+class MLawmoPluginWipeObserver
+ {
+public:
+
+ /**
+ * Called to notify the observer that the wipe call has been completed
+ * by the Plugin at hand.
+ * @param aSession session
+ * @param aError <code>KErrNone</code>, if opening the session succeeded;
+ * or one of the system-wide error codes, if opening the
+ * session failed
+ */
+ virtual void HandleWipeCompleted(TInt status)= 0;
+
+ };
+
+#endif // _MLAWMOCALLBACKINTERFACE_H__
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/lawmo_plugin_api/inc/lawmointerface.h Thu Aug 19 10:44:50 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: LAWMO Plugin Interface definition
+*
+*/
+
+#ifndef _MLAWMOPLUGININTERFACE_H__
+#define _MLAWMOPLUGININTERFACE_H__
+
+#include <e32base.h>
+#include <ecom/ecom.h>
+#include <lawmocallbackinterface.h>
+
+// UID of this interface
+const TUid KLAWMOPluginInterfaceUid = {0x2002EA1F};
+
+/**
+ An LAWMO abstract class being representative of the
+ concrete class which the client wishes to use.
+
+ It acts as a base, for a real class to provide all the
+ functionality that a client requires.
+ It supplies instantiation & destruction by using
+ the ECom framework, and functional services
+ by using the methods of the actual class.
+ */
+
+
+class MLAWMOPluginInterface
+ {
+public:
+
+ virtual void WipeL() = 0;
+ };
+
+class CLAWMOPluginInterface : public CBase, public MLAWMOPluginInterface
+ {
+public:
+ // Instantiates an object of this type
+ /**
+ * Create instance of CLAWMOPluginInterface
+ * @param aUid , implementation Uid
+ * @return Instance of CLAWMOPluginInterface
+ */
+ static CLAWMOPluginInterface* NewL(TUid aUid, MLawmoPluginWipeObserver* aObserver);
+ /**
+ * C++ Destructor
+ */
+ virtual ~CLAWMOPluginInterface();
+
+private:
+ // Unique instance identifier key
+ TUid iDtor_ID_Key;
+
+ };
+
+#include "LAWMOInterface.inl"
+
+#endif // _MLAWMOPLUGININTERFACE_H__
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/remotemgmt_plat/lawmo_plugin_api/inc/lawmointerface.inl Thu Aug 19 10:44:50 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: LAWMO Interface
+*
+*/
+
+/**
+ * C++ Destructor
+ */
+inline CLAWMOPluginInterface::~CLAWMOPluginInterface()
+ {
+ // Destroy any instance variables and then
+ // inform the framework that this specific
+ // instance of the interface has been destroyed.
+ REComSession::DestroyedImplementation(iDtor_ID_Key);
+ }
+
+/**
+ * Create instance of CLAWMOPluginInterface
+ * @param aUid , implementation Uid
+ * @return Instance of CLAWMOPluginInterface
+ */
+inline CLAWMOPluginInterface* CLAWMOPluginInterface::NewL(TUid aUid, MLawmoPluginWipeObserver* aObserver)
+ {
+ TAny* ptr = REComSession::CreateImplementationL( aUid, _FOFF(CLAWMOPluginInterface, iDtor_ID_Key), aObserver);
+ CLAWMOPluginInterface* self = reinterpret_cast<CLAWMOPluginInterface*>( ptr );
+ return self;
+ }
+//
\ No newline at end of file
--- a/remotemgmt_plat/scp_server_api/inc/SCPClient.h Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/scp_server_api/inc/SCPClient.h Thu Aug 19 10:44:50 2010 +0300
@@ -269,6 +269,7 @@
* Fetch the limit-values for code length
*/
void FetchLimits( TInt& aMin, TInt& aMax );
+ void InformAutolockTask();
TBool isFlagEnabled;
};
--- a/remotemgmt_plat/syncml_client_api/inc/SyncMLErr.h Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/syncml_client_api/inc/SyncMLErr.h Thu Aug 19 10:44:50 2010 +0300
@@ -121,6 +121,11 @@
const TInt KErrGeneral = KErrSyncEngineErrorBase - 94;
+ /* Implementation of CMCC PIM v3 begins*/
+ /** Server is full - CMCC PIM v3 specific*/
+ const TInt KErrServerFull = KErrSyncEngineErrorBase - 95;
+ /* Implementation of CMCC PIM v3 ends*/
+
/** Base value for push message parser-related errors. */
const TInt KErrPushMessageParserErrorBase = -8451; // 8451 - 8480
/** Push message is too short. */
--- a/remotemgmt_plat/terminal_security_device_lock_api/inc/TerminalControl3rdPartyAPI.h Thu Jul 15 19:36:11 2010 +0300
+++ b/remotemgmt_plat/terminal_security_device_lock_api/inc/TerminalControl3rdPartyAPI.h Thu Aug 19 10:44:50 2010 +0300
@@ -148,6 +148,22 @@
IMPORT_C TInt GetDeviceLockParameter(TInt aType, TDes8& aData);
+ /**
+ ResetDeviceLockParameters
+
+ The function resets the Terminal Security parameters that were set by the calling application
+ (by earlier calls to SetDeviceLockParameter())
+
+ NOTE:
+ > The function resets only those parameters that the calling function had set. Parameters
+ not set by the calling application are not affected.
+
+ > Calls to this function will not reset value of EPasscode. Device Lock Code will not be reset
+
+ @param none
+ @return KErrNone Symbian error code
+ */
+ IMPORT_C TInt ResetDeviceLockParameters();
};
#endif //__TERMINALCONTROL3RDPARTYAPI_H__
\ No newline at end of file
--- a/syncmlfw/common/sosserver/inc/nsmlsosthread.h Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/common/sosserver/inc/nsmlsosthread.h Thu Aug 19 10:44:50 2010 +0300
@@ -128,6 +128,8 @@
CNSmlDMAgent* iDMAgent;
CNSmlDSAgent* iDSAgent;
CNSmlCancelTimeOut* iCancelTimeout;
+ // Fix for cancel not happening when cancel key is pressed
+ TBool iSyncCancelled;
};
--- a/syncmlfw/common/sosserver/src/nsmlsosthread.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/common/sosserver/src/nsmlsosthread.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -147,7 +147,9 @@
FeatureManager::InitializeLibL();
iThreadParams.iThreadEngine = this;
iContentArray = new(ELeave) CArrayFixFlat<TNSmlContentSpecificSyncType>(1);
-
+ // Fix for cancel not happening when cancel key is
+ // pressed .
+ iSyncCancelled = EFalse;
if ( iThreadParams.iCSArray )
{
for (TInt i = 0; i < iThreadParams.iCSArray->Count(); i++)
@@ -337,11 +339,63 @@
TInt status( KErrNone );
if ( iThreadParams.iCurrentJob.UsageType() == ESmlDevMan )
{
+ CRepository* centrep = NULL;
+ TRAPD( err, centrep = CRepository::NewL(KCRUidDeviceManagementInternalKeys));
+ TInt phoneLock(0);
+ TInt factoryProfileID(0);
+ if (err==KErrNone )
+ {
+ TInt err = centrep->Get( KLAWMOPhoneLock , phoneLock );
+ err = centrep->Get( KLAWMOfactoryDmProfileID , factoryProfileID );
+ delete centrep;
+ centrep = NULL;
+ }
+ if(phoneLock != 30)
+ {
+ _DBG_FILE("CNSmlThreadEngine phonelock != 30");
+ if(factoryProfileID>0)
+ {
+
+ TInt profileId = iThreadParams.iCurrentJob.ProfileId();
+
+ if(profileId!= factoryProfileID)
+ {
+ _DBG_FILE("CNSmlThreadEngine profid doesnt match with factory");
+ TRequestStatus* stat = &iStatus;
+ User::RequestComplete( stat, KErrNone );
+ return;
+ }
+
+ }
+ else
+ {
+ _DBG_FILE("CNSmlThreadEngine factoryprofileid<0");
+ TRequestStatus* stat = &iStatus;
+ User::RequestComplete( stat, KErrNone );
+ return;
+ }
+ }
+ _DBG_FILE("CNSmlThreadEngine startDMSessionL");
TRAP( status, StartDMSessionL() );
}
else
{
- TRAP( status, StartDSSessionL() );
+ // Scenario 1:
+ // Fix for cancel not happening when cancel key is
+ // pressed .
+ if(!iSyncCancelled)
+ {
+ TRAP( status, StartDSSessionL() );
+ }
+ else
+ {
+ // Sync is cancelled from the UI before the
+ // the job session has started.
+ // Fix for cancel not happening when cancel key is
+ // pressed .
+ status = KErrCancel;
+ iSyncCancelled = EFalse;
+ }
}
if ( status != KErrNone )
@@ -359,6 +413,11 @@
//
void CNSmlThreadEngine::CancelJob()
{
+ // Fix for cancel not happening when cancel key is
+ // pressed .
+ // job has been created but it is not running and from ui
+ // Cancel has been called
+ iSyncCancelled = ETrue;
if ( iCancelTimeout )
{
iCancelTimeout->SetJobCancelled( iThreadParams.iCurrentJob.UsageType() );
@@ -409,7 +468,15 @@
// Select correct sync method and start sync
TNSmlSyncInitiation syncInit = (TNSmlSyncInitiation)iThreadParams.iSyncInit;
-
+ // Scenario 2:
+ // Fix for cancel not happening when cancel key is
+ // pressed .
+ if(iSyncCancelled)
+ {
+ iSyncCancelled = EFalse;
+ User::Leave( KErrCancel );
+ }
+
switch ( iThreadParams.iCurrentJob.JobType() )
{
case EDSJobProfile:
--- a/syncmlfw/common/syncagent/bld/DEF/bwinscwu.def Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/common/syncagent/bld/DEF/bwinscwu.def Thu Aug 19 10:44:50 2010 +0300
@@ -1,194 +1,196 @@
EXPORTS
- ??0CNSmlAgentBase@@QAE@XZ @ 1 NONAME ; CNSmlAgentBase::CNSmlAgentBase(void)
- ??0CNSmlCmdsBase@@QAE@XZ @ 2 NONAME ; CNSmlCmdsBase::CNSmlCmdsBase(void)
- ??0TNSmlError@@QAE@XZ @ 3 NONAME ; TNSmlError::TNSmlError(void)
- ??1CNSmlAgentBase@@UAE@XZ @ 4 NONAME ; CNSmlAgentBase::~CNSmlAgentBase(void)
- ??1CNSmlCmdsBase@@UAE@XZ @ 5 NONAME ; CNSmlCmdsBase::~CNSmlCmdsBase(void)
- ??1TNSmlError@@UAE@XZ @ 6 NONAME ; TNSmlError::~TNSmlError(void)
- ??4CNSmlURI@@QAEAAV0@ABV0@@Z @ 7 NONAME ; class CNSmlURI & CNSmlURI::operator=(class CNSmlURI const &)
- ?AddItemDataL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 8 NONAME ; void CNSmlStatusContainer::AddItemDataL(int, struct sml_pcdata_s const *)
- ?AddItemL@CNSmlResultsContainer@@QAEXHABVCBufBase@@ABVTDesC8@@1@Z @ 9 NONAME ; void CNSmlResultsContainer::AddItemL(int, class CBufBase const &, class TDesC8 const &, class TDesC8 const &)
- ?AddSourceRefL@CNSmlStatusContainer@@QAEXHPBUsml_source_s@@@Z @ 10 NONAME ; void CNSmlStatusContainer::AddSourceRefL(int, struct sml_source_s const *)
- ?AddTargetRefL@CNSmlStatusContainer@@QAEXHPBUsml_target_s@@@Z @ 11 NONAME ; void CNSmlStatusContainer::AddTargetRefL(int, struct sml_target_s const *)
- ?AlertCode@CNSmlCmdsBase@@QBE?AVTPtr8@@PAUsml_alert_s@@@Z @ 12 NONAME ; class TPtr8 CNSmlCmdsBase::AlertCode(struct sml_alert_s *) const
- ?AnyResults@CNSmlResultsContainer@@QBEHXZ @ 13 NONAME ; int CNSmlResultsContainer::AnyResults(void) const
- ?AppIndex@CNSmlResponseController@@QBEHH@Z @ 14 NONAME ; int CNSmlResponseController::AppIndex(int) const
- ?AuthenticationRequirementL@CNSmlAgentBase@@IAEHABVCNSmlResponseController@@H@Z @ 15 NONAME ; int CNSmlAgentBase::AuthenticationRequirementL(class CNSmlResponseController const &, int)
- ?Begin@CNSmlResultsContainer@@QAEXXZ @ 16 NONAME ; void CNSmlResultsContainer::Begin(void)
- ?Begin@CNSmlStatusContainer@@QAEXXZ @ 17 NONAME ; void CNSmlStatusContainer::Begin(void)
- ?BeginningStateL@CNSmlAgentBase@@IAEXXZ @ 18 NONAME ; void CNSmlAgentBase::BeginningStateL(void)
- ?BufferAreaForParsingL@CNSmlCmdsBase@@QAE?AVTPtr8@@XZ @ 19 NONAME ; class TPtr8 CNSmlCmdsBase::BufferAreaForParsingL(void)
- ?BusyStatus@CNSmlCmdsBase@@QBEHXZ @ 20 NONAME ; int CNSmlCmdsBase::BusyStatus(void) const
- ?CallbackCalled@CNSmlAgentBase@@QBEHXZ @ 21 NONAME ; int CNSmlAgentBase::CallbackCalled(void) const
- ?ChalType@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 22 NONAME ; class TPtrC8 CNSmlResponseController::ChalType(int) const
- ?Challenged@CNSmlAuth@@QBEHXZ @ 23 NONAME ; int CNSmlAuth::Challenged(void) const
- ?CheckStatusCodesAreReceivedL@CNSmlAgentBase@@IAEHH@Z @ 24 NONAME ; int CNSmlAgentBase::CheckStatusCodesAreReceivedL(int)
- ?ClientAlertNextMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 25 NONAME ; void CNSmlAgentBase::ClientAlertNextMakingMapStateL(void)
- ?ClientAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 26 NONAME ; void CNSmlAgentBase::ClientAlertNextStateL(void)
- ?ClientInitialisationStateL@CNSmlAgentBase@@IAEXXZ @ 27 NONAME ; void CNSmlAgentBase::ClientInitialisationStateL(void)
- ?CloseIDMappingTableL@CNSmlCmdsBase@@UAEXXZ @ 28 NONAME ; void CNSmlCmdsBase::CloseIDMappingTableL(void)
- ?Cmd@CNSmlResponseController@@QBEAAVTDesC8@@H@Z @ 29 NONAME ; class TDesC8 & CNSmlResponseController::Cmd(int) const
- ?ConstructL@CNSmlAgentBase@@IAEXXZ @ 30 NONAME ; void CNSmlAgentBase::ConstructL(void)
- ?ConstructL@CNSmlCmdsBase@@IAEXPAVCNSmlAgentBase@@ABVTDesC8@@1HABVHBufC16@@PAVCNSmlURI@@H@Z @ 31 NONAME ; void CNSmlCmdsBase::ConstructL(class CNSmlAgentBase *, class TDesC8 const &, class TDesC8 const &, int, class HBufC16 const &, class CNSmlURI *, int)
- ?CreateAndInitResponseItemL@CNSmlCmdsBase@@IAEHABVTDesC8@@@Z @ 32 NONAME ; int CNSmlCmdsBase::CreateAndInitResponseItemL(class TDesC8 const &)
- ?CreateNewResultsL@CNSmlResultsContainer@@QAEHABVTDesC8@@0PBUsml_target_s@@PBUsml_source_s@@@Z @ 33 NONAME ; int CNSmlResultsContainer::CreateNewResultsL(class TDesC8 const &, class TDesC8 const &, struct sml_target_s const *, struct sml_source_s const *)
- ?CreateNewStatusElementL@CNSmlStatusContainer@@QAEHXZ @ 34 NONAME ; int CNSmlStatusContainer::CreateNewStatusElementL(void)
- ?CurrentEntryID@CNSmlResultsContainer@@QBEHXZ @ 35 NONAME ; int CNSmlResultsContainer::CurrentEntryID(void) const
- ?DataBaseWithoutRelativePrefix@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 36 NONAME ; class TPtrC16 CNSmlURI::DataBaseWithoutRelativePrefix(void)
- ?DataUpdateStatusMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 37 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingMapStateL(void)
- ?DataUpdateStatusMakingResultsStateL@CNSmlAgentBase@@MAEXXZ @ 38 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingResultsStateL(void)
- ?DataUpdateStatusStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 39 NONAME ; void CNSmlAgentBase::DataUpdateStatusStartingMessageStateBaseL(void)
- ?DataUpdateStatusStateL@CNSmlAgentBase@@IAEXXZ @ 40 NONAME ; void CNSmlAgentBase::DataUpdateStatusStateL(void)
- ?Database@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 41 NONAME ; class TPtrC16 CNSmlURI::Database(void)
- ?DatabaseMatchesL@CNSmlURI@@QAEHABVTDesC16@@@Z @ 42 NONAME ; int CNSmlURI::DatabaseMatchesL(class TDesC16 const &)
- ?DeleteIDMappingTableL@CNSmlCmdsBase@@UAEHABVTDesC16@@0@Z @ 43 NONAME ; int CNSmlCmdsBase::DeleteIDMappingTableL(class TDesC16 const &, class TDesC16 const &)
- ?DisconnectFromOtherServers@CNSmlCmdsBase@@UAEXXZ @ 44 NONAME ; void CNSmlCmdsBase::DisconnectFromOtherServers(void)
- ?DoAnchorsL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@PBVTDesC8@@1@Z @ 45 NONAME ; void CNSmlCmdsBase::DoAnchorsL(struct sml_metinf_metinf_s &, class TDesC8 const *, class TDesC8 const *) const
- ?DoCancel@CNSmlAgentBase@@UAEXXZ @ 46 NONAME ; void CNSmlAgentBase::DoCancel(void)
- ?DoCmdIdL@CNSmlCmdsBase@@IAEXAAPAUsml_pcdata_s@@@Z @ 47 NONAME ; void CNSmlCmdsBase::DoCmdIdL(struct sml_pcdata_s * &)
- ?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@00H0@Z @ 48 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, int, class TDesC8 const &)
- ?DoGenericUserAlertL@CNSmlCmdsBase@@UAEHH@Z @ 49 NONAME ; int CNSmlCmdsBase::DoGenericUserAlertL(int)
- ?DoMaxObjSizeL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@H@Z @ 50 NONAME ; void CNSmlCmdsBase::DoMaxObjSizeL(struct sml_metinf_metinf_s &, int) const
- ?DoMetInfLC@CNSmlCmdsBase@@QBEXAAPAUsml_metinf_metinf_s@@@Z @ 51 NONAME ; void CNSmlCmdsBase::DoMetInfLC(struct sml_metinf_metinf_s * &) const
- ?DoMetaL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@PBUsml_metinf_metinf_s@@@Z @ 52 NONAME ; void CNSmlCmdsBase::DoMetaL(struct sml_pcdata_s * &, struct sml_metinf_metinf_s const *) const
- ?DoOutsideCancel@CNSmlAgentBase@@UAEXXZ @ 53 NONAME ; void CNSmlAgentBase::DoOutsideCancel(void)
- ?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@1@Z @ 54 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &, class TDesC16 const &) const
- ?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@@Z @ 55 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &) const
- ?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC8@@@Z @ 56 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC8 const &) const
- ?DoStatusL@CNSmlCmdsBase@@QAE?AW4TReturnValue@1@PAUsml_status_s@@@Z @ 57 NONAME ; enum CNSmlCmdsBase::TReturnValue CNSmlCmdsBase::DoStatusL(struct sml_status_s *)
- ?DoSyncHdrL@CNSmlCmdsBase@@UAEXXZ @ 58 NONAME ; void CNSmlCmdsBase::DoSyncHdrL(void)
- ?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@1@Z @ 59 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &, class TDesC16 const &) const
- ?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@@Z @ 60 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &) const
- ?EndOfServerMessageL@CNSmlCmdsBase@@UBEXXZ @ 61 NONAME ; void CNSmlCmdsBase::EndOfServerMessageL(void) const
- ?EntryID@CNSmlResponseController@@QBEHHH@Z @ 62 NONAME ; int CNSmlResponseController::EntryID(int, int) const
- ?ErrorCodeConversion@TNSmlError@@MAEXXZ @ 63 NONAME ; void TNSmlError::ErrorCodeConversion(void)
- ?FetchIDMappingTableL@CNSmlCmdsBase@@UAEXH@Z @ 64 NONAME ; void CNSmlCmdsBase::FetchIDMappingTableL(int)
- ?FreeBaseResources@CNSmlAgentBase@@IAEXXZ @ 65 NONAME ; void CNSmlAgentBase::FreeBaseResources(void)
- ?HBufC16InUnicodeL@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 66 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeL(class TDesC8 const &, class HBufC16 * &)
- ?HBufC16InUnicodeLC@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 67 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeLC(class TDesC8 const &, class HBufC16 * &)
- ?HBufC8InUTF8LC@NSmlUnicodeConverter@@SAHABVTDesC16@@AAPAVHBufC8@@@Z @ 68 NONAME ; int NSmlUnicodeConverter::HBufC8InUTF8LC(class TDesC16 const &, class HBufC8 * &)
- ?HostName@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 69 NONAME ; class TPtrC16 CNSmlURI::HostName(void)
- ?HostNameInUTF8AllocLC@CNSmlURI@@QAEPAVHBufC8@@XZ @ 70 NONAME ; class HBufC8 * CNSmlURI::HostNameInUTF8AllocLC(void)
- ?HostNameWithPortL@CNSmlURI@@QAE?AVTPtrC16@@H@Z @ 71 NONAME ; class TPtrC16 CNSmlURI::HostNameWithPortL(int)
- ?InitAskingDeviceInfoStateL@CNSmlAgentBase@@MAEXXZ @ 72 NONAME ; void CNSmlAgentBase::InitAskingDeviceInfoStateL(void)
- ?InitStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 73 NONAME ; void CNSmlAgentBase::InitStartingMessageStateBaseL(void)
- ?IsEqualL@CNSmlURI@@QAEHABV1@H@Z @ 74 NONAME ; int CNSmlURI::IsEqualL(class CNSmlURI const &, int)
- ?IsFlagSet@CNSmlCmdsBase@@IBEHABI0@Z @ 75 NONAME ; int CNSmlCmdsBase::IsFlagSet(unsigned int const &, unsigned int const &) const
- ?LUID@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 76 NONAME ; class TPtrC8 CNSmlResponseController::LUID(int) const
- ?LastEntryID@CNSmlStatusContainer@@QBEHXZ @ 77 NONAME ; int CNSmlStatusContainer::LastEntryID(void) const
- ?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXABVTDesC8@@@Z @ 78 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(class TDesC8 const &)
- ?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXXZ @ 79 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(void)
- ?MetaFormatInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 80 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaFormatInUtf8LC(struct sml_pcdata_s const *) const
- ?MetaTypeInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 81 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaTypeInUtf8LC(struct sml_pcdata_s const *) const
- ?MetaTypeLC@CNSmlCmdsBase@@IBEPAVHBufC16@@PBUsml_pcdata_s@@@Z @ 82 NONAME ; class HBufC16 * CNSmlCmdsBase::MetaTypeLC(struct sml_pcdata_s const *) const
- ?MoreData@CNSmlResponseController@@QBEHH@Z @ 83 NONAME ; int CNSmlResponseController::MoreData(int) const
- ?MoreDataL@CNSmlCmdsBase@@IAE?AW4TNSmlSyncMLStatusCode@TNSmlError@@PBVHBufC8@@PBUsml_item_s@@PBUsml_pcdata_s@@AAPAVCBufBase@@@Z @ 84 NONAME ; enum TNSmlError::TNSmlSyncMLStatusCode CNSmlCmdsBase::MoreDataL(class HBufC8 const *, struct sml_item_s const *, struct sml_pcdata_s const *, class CBufBase * &)
- ?NewL@CNSmlAuth@@SAPAV1@XZ @ 85 NONAME ; class CNSmlAuth * CNSmlAuth::NewL(void)
- ?NewL@CNSmlPhoneInfo@@SAPAV1@XZ @ 86 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewL(void)
- ?NewL@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 87 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC16 const &, int)
- ?NewL@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 88 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC8 const &, int)
- ?NewL@CNSmlURI@@SAPAV1@XZ @ 89 NONAME ; class CNSmlURI * CNSmlURI::NewL(void)
- ?NewLC@CNSmlPhoneInfo@@SAPAV1@XZ @ 90 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewLC(void)
- ?NewLC@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 91 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC16 const &, int)
- ?NewLC@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 92 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC8 const &, int)
- ?NewLC@CNSmlURI@@SAPAV1@XZ @ 93 NONAME ; class CNSmlURI * CNSmlURI::NewLC(void)
- ?NextResultsElement@CNSmlResultsContainer@@QAEHAAPAUsml_results_s@@@Z @ 94 NONAME ; int CNSmlResultsContainer::NextResultsElement(struct sml_results_s * &)
- ?NextStatusElement@CNSmlStatusContainer@@QAEHAAPAUsml_status_s@@H@Z @ 95 NONAME ; int CNSmlStatusContainer::NextStatusElement(struct sml_status_s * &, int)
- ?PCDATAToUnicodeLC@CNSmlCmdsBase@@QBEXABUsml_pcdata_s@@AAPAVHBufC16@@@Z @ 96 NONAME ; void CNSmlCmdsBase::PCDATAToUnicodeLC(struct sml_pcdata_s const &, class HBufC16 * &) const
- ?PcdataNewL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@ABVTDesC8@@@Z @ 97 NONAME ; void CNSmlCmdsBase::PcdataNewL(struct sml_pcdata_s * &, class TDesC8 const &) const
- ?PhoneDataL@CNSmlPhoneInfo@@QBEXW4TPhoneIdType@1@AAVTDes16@@@Z @ 98 NONAME ; void CNSmlPhoneInfo::PhoneDataL(enum CNSmlPhoneInfo::TPhoneIdType, class TDes16 &) const
- ?ProcessCopyCmdL@CNSmlCmdsBase@@UAEXPAUsml_generic_s@@@Z @ 99 NONAME ; void CNSmlCmdsBase::ProcessCopyCmdL(struct sml_generic_s *)
- ?ProcessExecCmdL@CNSmlCmdsBase@@UAEXPAUsml_exec_s@@@Z @ 100 NONAME ; void CNSmlCmdsBase::ProcessExecCmdL(struct sml_exec_s *)
- ?ProcessMapCmdL@CNSmlCmdsBase@@UAEXPAUsml_map_s@@@Z @ 101 NONAME ; void CNSmlCmdsBase::ProcessMapCmdL(struct sml_map_s *)
- ?ProcessReceivedDataL@CNSmlCmdsBase@@QAEHXZ @ 102 NONAME ; int CNSmlCmdsBase::ProcessReceivedDataL(void)
- ?ProcessSearchCmdL@CNSmlCmdsBase@@UAEXPAUsml_search_s@@@Z @ 103 NONAME ; void CNSmlCmdsBase::ProcessSearchCmdL(struct sml_search_s *)
- ?ProcessStatusCmdL@CNSmlCmdsBase@@UAEXPAUsml_status_s@@@Z @ 104 NONAME ; void CNSmlCmdsBase::ProcessStatusCmdL(struct sml_status_s *)
- ?ProcessSyncHdrL@CNSmlCmdsBase@@UAEXPAUsml_sync_hdr_s@@@Z @ 105 NONAME ; void CNSmlCmdsBase::ProcessSyncHdrL(struct sml_sync_hdr_s *)
- ?ProfileId@CNSmlAgentBase@@QBEHXZ @ 106 NONAME ; int CNSmlAgentBase::ProfileId(void) const
- ?ReceivingStateL@CNSmlAgentBase@@IAEXXZ @ 107 NONAME ; void CNSmlAgentBase::ReceivingStateL(void)
- ?RemoveWritten@CNSmlResultsContainer@@QAEXH@Z @ 108 NONAME ; void CNSmlResultsContainer::RemoveWritten(int)
- ?ResetGenericUserAlertL@CNSmlCmdsBase@@UAEXXZ @ 109 NONAME ; void CNSmlCmdsBase::ResetGenericUserAlertL(void)
- ?ResetL@CNSmlResponseController@@QAEXXZ @ 110 NONAME ; void CNSmlResponseController::ResetL(void)
- ?ResetLargeObjectBuffer@CNSmlCmdsBase@@QAEXXZ @ 111 NONAME ; void CNSmlCmdsBase::ResetLargeObjectBuffer(void)
- ?RespURI@CNSmlCmdsBase@@QBEPAVCNSmlURI@@XZ @ 112 NONAME ; class CNSmlURI * CNSmlCmdsBase::RespURI(void) const
- ?ResponseController@CNSmlCmdsBase@@QBEPAVCNSmlResponseController@@XZ @ 113 NONAME ; class CNSmlResponseController * CNSmlCmdsBase::ResponseController(void) const
- ?ResponseDetail@CNSmlResponseController@@QBE?AW4TResponseDetail@1@H@Z @ 114 NONAME ; enum CNSmlResponseController::TResponseDetail CNSmlResponseController::ResponseDetail(int) const
- ?ResultAlertStateL@CNSmlAgentBase@@IAEXXZ @ 115 NONAME ; void CNSmlAgentBase::ResultAlertStateL(void)
- ?ResultsContainer@CNSmlCmdsBase@@QBEPAVCNSmlResultsContainer@@XZ @ 116 NONAME ; class CNSmlResultsContainer * CNSmlCmdsBase::ResultsContainer(void) const
- ?RunL@CNSmlAgentBase@@UAEXXZ @ 117 NONAME ; void CNSmlAgentBase::RunL(void)
- ?SaveIfNonceL@CNSmlAgentBase@@IBEXABVCNSmlResponseController@@H@Z @ 118 NONAME ; void CNSmlAgentBase::SaveIfNonceL(class CNSmlResponseController const &, int) const
- ?SendingStateL@CNSmlAgentBase@@IAEXXZ @ 119 NONAME ; void CNSmlAgentBase::SendingStateL(void)
- ?ServerAlertNextAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 120 NONAME ; void CNSmlAgentBase::ServerAlertNextAlertCmdStateL(struct sml_alert_s *)
- ?ServerAlertNextEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 121 NONAME ; void CNSmlAgentBase::ServerAlertNextEndMessageStateL(int)
- ?ServerAlertNextStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 122 NONAME ; void CNSmlAgentBase::ServerAlertNextStartMessageStateL(struct sml_sync_hdr_s *)
- ?ServerAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 123 NONAME ; void CNSmlAgentBase::ServerAlertNextStateL(void)
- ?ServerAlertNextStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 124 NONAME ; void CNSmlAgentBase::ServerAlertNextStatusCmdStateL(struct sml_status_s *)
- ?ServerAuth@CNSmlCmdsBase@@QBEPAVCNSmlAuth@@XZ @ 125 NONAME ; class CNSmlAuth * CNSmlCmdsBase::ServerAuth(void) const
- ?ServerMaxObjSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 126 NONAME ; int CNSmlCmdsBase::ServerMaxObjSize(struct sml_pcdata_s const *) const
- ?ServerModAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 127 NONAME ; void CNSmlAgentBase::ServerModAlertCmdStateL(struct sml_alert_s *)
- ?ServerModEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 128 NONAME ; void CNSmlAgentBase::ServerModEndMessageStateL(int)
- ?ServerModStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 129 NONAME ; void CNSmlAgentBase::ServerModStartMessageStateL(struct sml_sync_hdr_s *)
- ?ServerModStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 130 NONAME ; void CNSmlAgentBase::ServerModStatusCmdStateL(struct sml_status_s *)
- ?ServerNonceAllocL@CNSmlAgentBase@@UBEPAVHBufC16@@XZ @ 131 NONAME ; class HBufC16 * CNSmlAgentBase::ServerNonceAllocL(void) const
- ?ServerObjectSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 132 NONAME ; int CNSmlCmdsBase::ServerObjectSize(struct sml_pcdata_s const *) const
- ?ServerPassword@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 133 NONAME ; class TPtrC16 CNSmlAgentBase::ServerPassword(void) const
- ?ServerUserName@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 134 NONAME ; class TPtrC16 CNSmlAgentBase::ServerUserName(void) const
- ?SetAppIndex@CNSmlResponseController@@QAEXHH@Z @ 135 NONAME ; void CNSmlResponseController::SetAppIndex(int, int)
- ?SetAtomicOrSequenceId@CNSmlStatusContainer@@QAEXHH@Z @ 136 NONAME ; void CNSmlStatusContainer::SetAtomicOrSequenceId(int, int)
- ?SetAuthRequiredL@CNSmlAuth@@QAEXXZ @ 137 NONAME ; void CNSmlAuth::SetAuthRequiredL(void)
- ?SetCmdIDL@CNSmlResultsContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 138 NONAME ; void CNSmlResultsContainer::SetCmdIDL(int, struct sml_pcdata_s const *)
- ?SetCmdL@CNSmlStatusContainer@@QAEXHABVTDesC8@@@Z @ 139 NONAME ; void CNSmlStatusContainer::SetCmdL(int, class TDesC8 const &)
- ?SetCmdRefL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 140 NONAME ; void CNSmlStatusContainer::SetCmdRefL(int, struct sml_pcdata_s const *)
- ?SetCredentialL@CNSmlAuth@@QAEXABVTDesC8@@@Z @ 141 NONAME ; void CNSmlAuth::SetCredentialL(class TDesC8 const &)
- ?SetDatabaseL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 142 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC16 const &, int)
- ?SetDatabaseL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 143 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC8 const &, int)
- ?SetEndOfDataAlertRequest@CNSmlAgentBase@@QAEXXZ @ 144 NONAME ; void CNSmlAgentBase::SetEndOfDataAlertRequest(void)
- ?SetErrorCode@TNSmlError@@QAEXH@Z @ 145 NONAME ; void TNSmlError::SetErrorCode(int)
- ?SetHostNameL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 146 NONAME ; void CNSmlURI::SetHostNameL(class TDesC16 const &, int)
- ?SetHostNameL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 147 NONAME ; void CNSmlURI::SetHostNameL(class TDesC8 const &, int)
- ?SetLUIDL@CNSmlResponseController@@QAEXHABVTDesC8@@@Z @ 148 NONAME ; void CNSmlResponseController::SetLUIDL(int, class TDesC8 const &)
- ?SetMaximumWorkspaceSize@CNSmlCmdsBase@@QAEXH@Z @ 149 NONAME ; void CNSmlCmdsBase::SetMaximumWorkspaceSize(int)
- ?SetMoreData@CNSmlResponseController@@QAEXH@Z @ 150 NONAME ; void CNSmlResponseController::SetMoreData(int)
- ?SetNoResponse@CNSmlStatusContainer@@QAEXHH@Z @ 151 NONAME ; void CNSmlStatusContainer::SetNoResponse(int, int)
- ?SetOffCallbackCalled@CNSmlAgentBase@@QAEXXZ @ 152 NONAME ; void CNSmlAgentBase::SetOffCallbackCalled(void)
- ?SetPerformedInAtomic@CNSmlStatusContainer@@QAEXH@Z @ 153 NONAME ; void CNSmlStatusContainer::SetPerformedInAtomic(int)
- ?SetPort@CNSmlURI@@QAEXH@Z @ 154 NONAME ; void CNSmlURI::SetPort(int)
- ?SetResponseDetail@CNSmlResponseController@@QAEXHW4TResponseDetail@1@@Z @ 155 NONAME ; void CNSmlResponseController::SetResponseDetail(int, enum CNSmlResponseController::TResponseDetail)
- ?SetServerNonceL@CNSmlAgentBase@@UBEXABVTDesC16@@@Z @ 156 NONAME ; void CNSmlAgentBase::SetServerNonceL(class TDesC16 const &) const
- ?SetStatusCodeL@CNSmlStatusContainer@@QAEXHHH@Z @ 157 NONAME ; void CNSmlStatusContainer::SetStatusCodeL(int, int, int)
- ?SetStatusCodeToAtomicOrSequenceCmdL@CNSmlStatusContainer@@QAEXHHABVTDesC8@@@Z @ 158 NONAME ; void CNSmlStatusContainer::SetStatusCodeToAtomicOrSequenceCmdL(int, int, class TDesC8 const &)
- ?SetStatusCodesInAtomicL@CNSmlStatusContainer@@QAEXHHH@Z @ 159 NONAME ; void CNSmlStatusContainer::SetStatusCodesInAtomicL(int, int, int)
- ?SetStatusID@CNSmlResultsContainer@@QAEXHH@Z @ 160 NONAME ; void CNSmlResultsContainer::SetStatusID(int, int)
- ?SetSyncAgent@CNSmlAuth@@QAEXPAVCNSmlAgentBase@@@Z @ 161 NONAME ; void CNSmlAuth::SetSyncAgent(class CNSmlAgentBase *)
- ?SourceIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 162 NONAME ; int CNSmlCmdsBase::SourceIsUnderItem(struct sml_item_list_s const *) const
- ?StatusCode@CNSmlResponseController@@QBEHH@Z @ 163 NONAME ; int CNSmlResponseController::StatusCode(int) const
- ?StatusContainer@CNSmlCmdsBase@@QBEPAVCNSmlStatusContainer@@XZ @ 164 NONAME ; class CNSmlStatusContainer * CNSmlCmdsBase::StatusContainer(void) const
- ?StatusDataToCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_pcdata_s@@IPBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 165 NONAME ; int CNSmlCmdsBase::StatusDataToCommandL(class TDesC8 const &, struct sml_pcdata_s const *, unsigned int, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
- ?StatusDataToGenericCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_generic_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 166 NONAME ; int CNSmlCmdsBase::StatusDataToGenericCommandL(class TDesC8 const &, struct sml_generic_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
- ?StatusDataToGetCommandL@CNSmlCmdsBase@@IAEHPBUsml_get_put_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBVTDesC8@@@Z @ 167 NONAME ; int CNSmlCmdsBase::StatusDataToGetCommandL(struct sml_get_put_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
- ?StatusID@CNSmlResultsContainer@@QBEHH@Z @ 168 NONAME ; int CNSmlResultsContainer::StatusID(int) const
- ?StatusReference@CNSmlAgentBase@@QAEAAVTRequestStatus@@XZ @ 169 NONAME ; class TRequestStatus & CNSmlAgentBase::StatusReference(void)
- ?StatusToUnsupportedCommandL@CNSmlCmdsBase@@QAEXHABVTDesC8@@PBUsml_pcdata_s@@I@Z @ 170 NONAME ; void CNSmlCmdsBase::StatusToUnsupportedCommandL(int, class TDesC8 const &, struct sml_pcdata_s const *, unsigned int)
- ?SubtractConsumedFromPcData@CNSmlCmdsBase@@IAEXAAPAUsml_item_s@@H@Z @ 171 NONAME ; void CNSmlCmdsBase::SubtractConsumedFromPcData(struct sml_item_s * &, int)
- ?SwVersionL@CNSmlPhoneInfo@@QAE?AVTPtrC8@@XZ @ 172 NONAME ; class TPtrC8 CNSmlPhoneInfo::SwVersionL(void)
- ?SyncLog@CNSmlAgentBase@@QAEPAVCSyncMLHistoryJob@@XZ @ 173 NONAME ; class CSyncMLHistoryJob * CNSmlAgentBase::SyncLog(void)
- ?SyncLogErrorCode@TNSmlError@@QAEHXZ @ 174 NONAME ; int TNSmlError::SyncLogErrorCode(void)
- ?SyncLogMessageCode@TNSmlError@@UAEHXZ @ 175 NONAME ; int TNSmlError::SyncLogMessageCode(void)
- ?SyncMLDatabaseAllocLC@CNSmlURI@@QAEPAVHBufC16@@XZ @ 176 NONAME ; class HBufC16 * CNSmlURI::SyncMLDatabaseAllocLC(void)
- ?TargetIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 177 NONAME ; int CNSmlCmdsBase::TargetIsUnderItem(struct sml_item_list_s const *) const
- ?TrimRightSpaceAndNull@CNSmlCmdsBase@@IBEXAAVTDes8@@@Z @ 178 NONAME ; void CNSmlCmdsBase::TrimRightSpaceAndNull(class TDes8 &) const
- ?WaitingLargeObjectChunk@CNSmlCmdsBase@@QBEHXZ @ 179 NONAME ; int CNSmlCmdsBase::WaitingLargeObjectChunk(void) const
- ?WriteMappingInfoToDbL@CNSmlCmdsBase@@UBEHXZ @ 180 NONAME ; int CNSmlCmdsBase::WriteMappingInfoToDbL(void) const
- ?smlAddCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 181 NONAME ; int CNSmlAgentBase::smlAddCmdFuncL(struct sml_generic_s *)
- ?smlCopyCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 182 NONAME ; int CNSmlAgentBase::smlCopyCmdFuncL(struct sml_generic_s *)
- ?smlDeleteCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 183 NONAME ; int CNSmlAgentBase::smlDeleteCmdFuncL(struct sml_generic_s *)
- ?smlExecCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_exec_s@@@Z @ 184 NONAME ; int CNSmlAgentBase::smlExecCmdFuncL(struct sml_exec_s *)
- ?smlMapCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_map_s@@@Z @ 185 NONAME ; int CNSmlAgentBase::smlMapCmdFuncL(struct sml_map_s *)
- ?smlMoveCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 186 NONAME ; int CNSmlAgentBase::smlMoveCmdFuncL(struct sml_generic_s *)
- ?smlReplaceCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 187 NONAME ; int CNSmlAgentBase::smlReplaceCmdFuncL(struct sml_generic_s *)
- ?smlSearchCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_search_s@@@Z @ 188 NONAME ; int CNSmlAgentBase::smlSearchCmdFuncL(struct sml_search_s *)
- ?LaunchAutoRestartL@CNSmlAgentBase@@UAEXH@Z @ 189 NONAME ; void CNSmlAgentBase::LaunchAutoRestartL(int)
- ?CheckAPBearerTypeL@CNSmlAgentBase@@QAE?AW4TApBearerType@@K@Z @ 190 NONAME ; enum TApBearerType CNSmlAgentBase::CheckAPBearerTypeL(unsigned long)
- ?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@ABV?$RArray@UCNSmlDMAlertItem@@@@@Z @ 191 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class RArray<struct CNSmlDMAlertItem> const &)
- ?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC8@@@Z @ 192 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC8 const &) const
+ ?TrimRightSpaceAndNull@CNSmlCmdsBase@@IBEXAAVTDes8@@@Z @ 1 NONAME ; void CNSmlCmdsBase::TrimRightSpaceAndNull(class TDes8 &) const
+ ?DoMetInfLC@CNSmlCmdsBase@@QBEXAAPAUsml_metinf_metinf_s@@@Z @ 2 NONAME ; void CNSmlCmdsBase::DoMetInfLC(struct sml_metinf_metinf_s * &) const
+ ?NewL@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 3 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC8 const &, int)
+ ?BufferAreaForParsingL@CNSmlCmdsBase@@QAE?AVTPtr8@@XZ @ 4 NONAME ; class TPtr8 CNSmlCmdsBase::BufferAreaForParsingL(void)
+ ?NewLC@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 5 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC16 const &, int)
+ ?SetLUIDL@CNSmlResponseController@@QAEXHABVTDesC8@@@Z @ 6 NONAME ; void CNSmlResponseController::SetLUIDL(int, class TDesC8 const &)
+ ?DoOutsideCancel@CNSmlAgentBase@@UAEXXZ @ 7 NONAME ; void CNSmlAgentBase::DoOutsideCancel(void)
+ ?SetCmdL@CNSmlStatusContainer@@QAEXHABVTDesC8@@@Z @ 8 NONAME ; void CNSmlStatusContainer::SetCmdL(int, class TDesC8 const &)
+ ?MetaTypeLC@CNSmlCmdsBase@@IBEPAVHBufC16@@PBUsml_pcdata_s@@@Z @ 9 NONAME ; class HBufC16 * CNSmlCmdsBase::MetaTypeLC(struct sml_pcdata_s const *) const
+ ?smlReplaceCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 10 NONAME ; int CNSmlAgentBase::smlReplaceCmdFuncL(struct sml_generic_s *)
+ ?BusyStatus@CNSmlCmdsBase@@QBEHXZ @ 11 NONAME ; int CNSmlCmdsBase::BusyStatus(void) const
+ ?HostNameWithPortL@CNSmlURI@@QAE?AVTPtrC16@@H@Z @ 12 NONAME ; class TPtrC16 CNSmlURI::HostNameWithPortL(int)
+ ?AlertCode@CNSmlCmdsBase@@QBE?AVTPtr8@@PAUsml_alert_s@@@Z @ 13 NONAME ; class TPtr8 CNSmlCmdsBase::AlertCode(struct sml_alert_s *) const
+ ?CheckStatusCodesAreReceivedL@CNSmlAgentBase@@IAEHH@Z @ 14 NONAME ; int CNSmlAgentBase::CheckStatusCodesAreReceivedL(int)
+ ?AddItemDataL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 15 NONAME ; void CNSmlStatusContainer::AddItemDataL(int, struct sml_pcdata_s const *)
+ ?RunL@CNSmlAgentBase@@UAEXXZ @ 16 NONAME ; void CNSmlAgentBase::RunL(void)
+ ?smlAddCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 17 NONAME ; int CNSmlAgentBase::smlAddCmdFuncL(struct sml_generic_s *)
+ ?AddItemL@CNSmlResultsContainer@@QAEXHABVCBufBase@@ABVTDesC8@@1@Z @ 18 NONAME ; void CNSmlResultsContainer::AddItemL(int, class CBufBase const &, class TDesC8 const &, class TDesC8 const &)
+ ?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXXZ @ 19 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(void)
+ ?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@1@Z @ 20 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &, class TDesC16 const &) const
+ ?ConstructL@CNSmlAgentBase@@IAEXXZ @ 21 NONAME ; void CNSmlAgentBase::ConstructL(void)
+ ?AddTargetRefL@CNSmlStatusContainer@@QAEXHPBUsml_target_s@@@Z @ 22 NONAME ; void CNSmlStatusContainer::AddTargetRefL(int, struct sml_target_s const *)
+ ?ClientInitialisationStateL@CNSmlAgentBase@@IAEXXZ @ 23 NONAME ; void CNSmlAgentBase::ClientInitialisationStateL(void)
+ ?LaunchAutoRestartL@CNSmlAgentBase@@UAEXH@Z @ 24 NONAME ; void CNSmlAgentBase::LaunchAutoRestartL(int)
+ ?CheckAPBearerTypeL@CNSmlAgentBase@@QAE?AW4TApBearerType@@K@Z @ 25 NONAME ; enum TApBearerType CNSmlAgentBase::CheckAPBearerTypeL(unsigned long)
+ ?SetCmdRefL@CNSmlStatusContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 26 NONAME ; void CNSmlStatusContainer::SetCmdRefL(int, struct sml_pcdata_s const *)
+ ?ServerPassword@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 27 NONAME ; class TPtrC16 CNSmlAgentBase::ServerPassword(void) const
+ ?SetStatusCodesInAtomicL@CNSmlStatusContainer@@QAEXHHH@Z @ 28 NONAME ; void CNSmlStatusContainer::SetStatusCodesInAtomicL(int, int, int)
+ ?CreateAndInitResponseItemL@CNSmlCmdsBase@@IAEHABVTDesC8@@@Z @ 29 NONAME ; int CNSmlCmdsBase::CreateAndInitResponseItemL(class TDesC8 const &)
+ ?MoreDataL@CNSmlCmdsBase@@IAE?AW4TNSmlSyncMLStatusCode@TNSmlError@@PBVHBufC8@@PBUsml_item_s@@PBUsml_pcdata_s@@AAPAVCBufBase@@@Z @ 30 NONAME ; enum TNSmlError::TNSmlSyncMLStatusCode CNSmlCmdsBase::MoreDataL(class HBufC8 const *, struct sml_item_s const *, struct sml_pcdata_s const *, class CBufBase * &)
+ ?ServerModStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 31 NONAME ; void CNSmlAgentBase::ServerModStatusCmdStateL(struct sml_status_s *)
+ ?StatusToUnsupportedCommandL@CNSmlCmdsBase@@QAEXHABVTDesC8@@PBUsml_pcdata_s@@I@Z @ 32 NONAME ; void CNSmlCmdsBase::StatusToUnsupportedCommandL(int, class TDesC8 const &, struct sml_pcdata_s const *, unsigned int)
+ ?DoStatusL@CNSmlCmdsBase@@QAE?AW4TReturnValue@1@PAUsml_status_s@@@Z @ 33 NONAME ; enum CNSmlCmdsBase::TReturnValue CNSmlCmdsBase::DoStatusL(struct sml_status_s *)
+ ?PCDATAToUnicodeLC@CNSmlCmdsBase@@QBEXABUsml_pcdata_s@@AAPAVHBufC16@@@Z @ 34 NONAME ; void CNSmlCmdsBase::PCDATAToUnicodeLC(struct sml_pcdata_s const &, class HBufC16 * &) const
+ ??1CNSmlAgentBase@@UAE@XZ @ 35 NONAME ; CNSmlAgentBase::~CNSmlAgentBase(void)
+ ??0TNSmlError@@QAE@XZ @ 36 NONAME ; TNSmlError::TNSmlError(void)
+ ?SetNoResponse@CNSmlStatusContainer@@QAEXHH@Z @ 37 NONAME ; void CNSmlStatusContainer::SetNoResponse(int, int)
+ ?AnyResults@CNSmlResultsContainer@@QBEHXZ @ 38 NONAME ; int CNSmlResultsContainer::AnyResults(void) const
+ ?WriteMappingInfoToDbL@CNSmlCmdsBase@@UBEHXZ @ 39 NONAME ; int CNSmlCmdsBase::WriteMappingInfoToDbL(void) const
+ ?StatusContainer@CNSmlCmdsBase@@QBEPAVCNSmlStatusContainer@@XZ @ 40 NONAME ; class CNSmlStatusContainer * CNSmlCmdsBase::StatusContainer(void) const
+ ?smlMoveCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 41 NONAME ; int CNSmlAgentBase::smlMoveCmdFuncL(struct sml_generic_s *)
+ ?ServerModAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 42 NONAME ; void CNSmlAgentBase::ServerModAlertCmdStateL(struct sml_alert_s *)
+ ?SetOffCallbackCalled@CNSmlAgentBase@@QAEXXZ @ 43 NONAME ; void CNSmlAgentBase::SetOffCallbackCalled(void)
+ ?InitAskingDeviceInfoStateL@CNSmlAgentBase@@MAEXXZ @ 44 NONAME ; void CNSmlAgentBase::InitAskingDeviceInfoStateL(void)
+ ?DoSyncHdrL@CNSmlCmdsBase@@UAEXXZ @ 45 NONAME ; void CNSmlCmdsBase::DoSyncHdrL(void)
+ ??1TNSmlError@@UAE@XZ @ 46 NONAME ; TNSmlError::~TNSmlError(void)
+ ?SetAuthRequiredL@CNSmlAuth@@QAEXXZ @ 47 NONAME ; void CNSmlAuth::SetAuthRequiredL(void)
+ ?SubtractConsumedFromPcData@CNSmlCmdsBase@@IAEXAAPAUsml_item_s@@H@Z @ 48 NONAME ; void CNSmlCmdsBase::SubtractConsumedFromPcData(struct sml_item_s * &, int)
+ ?StatusItem@CNSmlStatusContainer@@QAEPAUsml_status_s@@H@Z @ 49 NONAME ; struct sml_status_s * CNSmlStatusContainer::StatusItem(int)
+ ?ChalType@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 50 NONAME ; class TPtrC8 CNSmlResponseController::ChalType(int) const
+ ?SwVersionL@CNSmlPhoneInfo@@QAE?AVTPtrC8@@XZ @ 51 NONAME ; class TPtrC8 CNSmlPhoneInfo::SwVersionL(void)
+ ?RespURI@CNSmlCmdsBase@@QBEPAVCNSmlURI@@XZ @ 52 NONAME ; class CNSmlURI * CNSmlCmdsBase::RespURI(void) const
+ ?HostNameInUTF8AllocLC@CNSmlURI@@QAEPAVHBufC8@@XZ @ 53 NONAME ; class HBufC8 * CNSmlURI::HostNameInUTF8AllocLC(void)
+ ?SetAtomicOrSequenceId@CNSmlStatusContainer@@QAEXHH@Z @ 54 NONAME ; void CNSmlStatusContainer::SetAtomicOrSequenceId(int, int)
+ ?Begin@CNSmlStatusContainer@@QAEXXZ @ 55 NONAME ; void CNSmlStatusContainer::Begin(void)
+ ?ServerAlertNextEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 56 NONAME ; void CNSmlAgentBase::ServerAlertNextEndMessageStateL(int)
+ ?DoMetaL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@PBUsml_metinf_metinf_s@@@Z @ 57 NONAME ; void CNSmlCmdsBase::DoMetaL(struct sml_pcdata_s * &, struct sml_metinf_metinf_s const *) const
+ ?SetHostNameL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 58 NONAME ; void CNSmlURI::SetHostNameL(class TDesC16 const &, int)
+ ?PhoneDataL@CNSmlPhoneInfo@@QBEXW4TPhoneIdType@1@AAVTDes16@@@Z @ 59 NONAME ; void CNSmlPhoneInfo::PhoneDataL(enum CNSmlPhoneInfo::TPhoneIdType, class TDes16 &) const
+ ?DataUpdateStatusStateL@CNSmlAgentBase@@IAEXXZ @ 60 NONAME ; void CNSmlAgentBase::DataUpdateStatusStateL(void)
+ ?MarkGenAlertsSentL@CNSmlCmdsBase@@UAEXABVTDesC8@@@Z @ 61 NONAME ; void CNSmlCmdsBase::MarkGenAlertsSentL(class TDesC8 const &)
+ ?Cmd@CNSmlResponseController@@QBEAAVTDesC8@@H@Z @ 62 NONAME ; class TDesC8 & CNSmlResponseController::Cmd(int) const
+ ?AddSourceRefL@CNSmlStatusContainer@@QAEXHPBUsml_source_s@@@Z @ 63 NONAME ; void CNSmlStatusContainer::AddSourceRefL(int, struct sml_source_s const *)
+ ?SetStatusCodeL@CNSmlStatusContainer@@QAEXHHH@Z @ 64 NONAME ; void CNSmlStatusContainer::SetStatusCodeL(int, int, int)
+ ?SetPort@CNSmlURI@@QAEXH@Z @ 65 NONAME ; void CNSmlURI::SetPort(int)
+ ?SetErrorCode@TNSmlError@@QAEXH@Z @ 66 NONAME ; void TNSmlError::SetErrorCode(int)
+ ?SendingStateL@CNSmlAgentBase@@IAEXXZ @ 67 NONAME ; void CNSmlAgentBase::SendingStateL(void)
+ ?NewL@CNSmlPhoneInfo@@SAPAV1@XZ @ 68 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewL(void)
+ ?SetDatabaseL@CNSmlURI@@QAEXABVTDesC16@@H@Z @ 69 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC16 const &, int)
+ ?ResetLargeObjectBuffer@CNSmlCmdsBase@@QAEXXZ @ 70 NONAME ; void CNSmlCmdsBase::ResetLargeObjectBuffer(void)
+ ?CloseIDMappingTableL@CNSmlCmdsBase@@UAEXXZ @ 71 NONAME ; void CNSmlCmdsBase::CloseIDMappingTableL(void)
+ ?EndOfServerMessageL@CNSmlCmdsBase@@UBEXXZ @ 72 NONAME ; void CNSmlCmdsBase::EndOfServerMessageL(void) const
+ ?ResetGenericUserAlertL@CNSmlCmdsBase@@UAEXXZ @ 73 NONAME ; void CNSmlCmdsBase::ResetGenericUserAlertL(void)
+ ?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@ABV?$RArray@UCNSmlDMAlertItem@@@@@Z @ 74 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class RArray<struct CNSmlDMAlertItem> const &)
+ ?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@@Z @ 75 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &) const
+ ?CurrentEntryID@CNSmlResultsContainer@@QBEHXZ @ 76 NONAME ; int CNSmlResultsContainer::CurrentEntryID(void) const
+ ?SetStatusCodeToAtomicOrSequenceCmdL@CNSmlStatusContainer@@QAEXHHABVTDesC8@@@Z @ 77 NONAME ; void CNSmlStatusContainer::SetStatusCodeToAtomicOrSequenceCmdL(int, int, class TDesC8 const &)
+ ?HBufC16InUnicodeLC@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 78 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeLC(class TDesC8 const &, class HBufC16 * &)
+ ?Challenged@CNSmlAuth@@QBEHXZ @ 79 NONAME ; int CNSmlAuth::Challenged(void) const
+ ?IsEqualL@CNSmlURI@@QAEHABV1@H@Z @ 80 NONAME ; int CNSmlURI::IsEqualL(class CNSmlURI const &, int)
+ ?SetHostNameL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 81 NONAME ; void CNSmlURI::SetHostNameL(class TDesC8 const &, int)
+ ?ServerObjectSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 82 NONAME ; int CNSmlCmdsBase::ServerObjectSize(struct sml_pcdata_s const *) const
+ ??0CNSmlCmdsBase@@QAE@XZ @ 83 NONAME ; CNSmlCmdsBase::CNSmlCmdsBase(void)
+ ?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC16@@@Z @ 84 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC16 const &) const
+ ?smlMapCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_map_s@@@Z @ 85 NONAME ; int CNSmlAgentBase::smlMapCmdFuncL(struct sml_map_s *)
+ ?ResetL@CNSmlResponseController@@QAEXXZ @ 86 NONAME ; void CNSmlResponseController::ResetL(void)
+ ?FillItemDataL@CNSmlStatusContainer@@QAEXAAPAUsml_item_s@@@Z @ 87 NONAME ; void CNSmlStatusContainer::FillItemDataL(struct sml_item_s * &)
+ ?ProcessStatusCmdL@CNSmlCmdsBase@@UAEXPAUsml_status_s@@@Z @ 88 NONAME ; void CNSmlCmdsBase::ProcessStatusCmdL(struct sml_status_s *)
+ ?SetCmdIDL@CNSmlResultsContainer@@QAEXHPBUsml_pcdata_s@@@Z @ 89 NONAME ; void CNSmlResultsContainer::SetCmdIDL(int, struct sml_pcdata_s const *)
+ ?ServerAlertNextStatusCmdStateL@CNSmlAgentBase@@IAEXPAUsml_status_s@@@Z @ 90 NONAME ; void CNSmlAgentBase::ServerAlertNextStatusCmdStateL(struct sml_status_s *)
+ ?ProcessExecCmdL@CNSmlCmdsBase@@UAEXPAUsml_exec_s@@@Z @ 91 NONAME ; void CNSmlCmdsBase::ProcessExecCmdL(struct sml_exec_s *)
+ ?HostName@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 92 NONAME ; class TPtrC16 CNSmlURI::HostName(void)
+ ?DoCancel@CNSmlAgentBase@@UAEXXZ @ 93 NONAME ; void CNSmlAgentBase::DoCancel(void)
+ ?SyncLog@CNSmlAgentBase@@QAEPAVCSyncMLHistoryJob@@XZ @ 94 NONAME ; class CSyncMLHistoryJob * CNSmlAgentBase::SyncLog(void)
+ ?StatusDataToGenericCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_generic_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 95 NONAME ; int CNSmlCmdsBase::StatusDataToGenericCommandL(class TDesC8 const &, struct sml_generic_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
+ ?ServerAlertNextAlertCmdStateL@CNSmlAgentBase@@IAEXPAUsml_alert_s@@@Z @ 96 NONAME ; void CNSmlAgentBase::ServerAlertNextAlertCmdStateL(struct sml_alert_s *)
+ ?SaveIfNonceL@CNSmlAgentBase@@IBEXABVCNSmlResponseController@@H@Z @ 97 NONAME ; void CNSmlAgentBase::SaveIfNonceL(class CNSmlResponseController const &, int) const
+ ?FetchIDMappingTableL@CNSmlCmdsBase@@UAEXH@Z @ 98 NONAME ; void CNSmlCmdsBase::FetchIDMappingTableL(int)
+ ?ServerAuth@CNSmlCmdsBase@@QBEPAVCNSmlAuth@@XZ @ 99 NONAME ; class CNSmlAuth * CNSmlCmdsBase::ServerAuth(void) const
+ ?NewLC@CNSmlPhoneInfo@@SAPAV1@XZ @ 100 NONAME ; class CNSmlPhoneInfo * CNSmlPhoneInfo::NewLC(void)
+ ?smlDeleteCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 101 NONAME ; int CNSmlAgentBase::smlDeleteCmdFuncL(struct sml_generic_s *)
+ ?InitStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 102 NONAME ; void CNSmlAgentBase::InitStartingMessageStateBaseL(void)
+ ?DeleteIDMappingTableL@CNSmlCmdsBase@@UAEHABVTDesC16@@0@Z @ 103 NONAME ; int CNSmlCmdsBase::DeleteIDMappingTableL(class TDesC16 const &, class TDesC16 const &)
+ ?StatusReference@CNSmlAgentBase@@QAEAAVTRequestStatus@@XZ @ 104 NONAME ; class TRequestStatus & CNSmlAgentBase::StatusReference(void)
+ ?SetCredentialL@CNSmlAuth@@QAEXABVTDesC8@@@Z @ 105 NONAME ; void CNSmlAuth::SetCredentialL(class TDesC8 const &)
+ ?DoAnchorsL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@PBVTDesC8@@1@Z @ 106 NONAME ; void CNSmlCmdsBase::DoAnchorsL(struct sml_metinf_metinf_s &, class TDesC8 const *, class TDesC8 const *) const
+ ?DoSourceL@CNSmlCmdsBase@@QBEXAAPAUsml_source_s@@ABVTDesC8@@@Z @ 107 NONAME ; void CNSmlCmdsBase::DoSourceL(struct sml_source_s * &, class TDesC8 const &) const
+ ?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC16@@1@Z @ 108 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC16 const &, class TDesC16 const &) const
+ ?DoGenericAlertL@CNSmlCmdsBase@@UAEXABVTDesC8@@00H0@Z @ 109 NONAME ; void CNSmlCmdsBase::DoGenericAlertL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, int, class TDesC8 const &)
+ ?ProcessMapCmdL@CNSmlCmdsBase@@UAEXPAUsml_map_s@@@Z @ 110 NONAME ; void CNSmlCmdsBase::ProcessMapCmdL(struct sml_map_s *)
+ ?ReceivingStateL@CNSmlAgentBase@@IAEXXZ @ 111 NONAME ; void CNSmlAgentBase::ReceivingStateL(void)
+ ??4CNSmlURI@@QAEAAV0@ABV0@@Z @ 112 NONAME ; class CNSmlURI & CNSmlURI::operator=(class CNSmlURI const &)
+ ?ProcessReceivedDataL@CNSmlCmdsBase@@QAEHXZ @ 113 NONAME ; int CNSmlCmdsBase::ProcessReceivedDataL(void)
+ ?SetPerformedInAtomic@CNSmlStatusContainer@@QAEXH@Z @ 114 NONAME ; void CNSmlStatusContainer::SetPerformedInAtomic(int)
+ ?SetMoreData@CNSmlResponseController@@QAEXH@Z @ 115 NONAME ; void CNSmlResponseController::SetMoreData(int)
+ ?DatabaseMatchesL@CNSmlURI@@QAEHABVTDesC16@@@Z @ 116 NONAME ; int CNSmlURI::DatabaseMatchesL(class TDesC16 const &)
+ ?LastEntryID@CNSmlStatusContainer@@QBEHXZ @ 117 NONAME ; int CNSmlStatusContainer::LastEntryID(void) const
+ ?ResponseController@CNSmlCmdsBase@@QBEPAVCNSmlResponseController@@XZ @ 118 NONAME ; class CNSmlResponseController * CNSmlCmdsBase::ResponseController(void) const
+ ?SetResponseDetail@CNSmlResponseController@@QAEXHW4TResponseDetail@1@@Z @ 119 NONAME ; void CNSmlResponseController::SetResponseDetail(int, enum CNSmlResponseController::TResponseDetail)
+ ?ResultAlertStateL@CNSmlAgentBase@@IAEXXZ @ 120 NONAME ; void CNSmlAgentBase::ResultAlertStateL(void)
+ ?ConstructL@CNSmlCmdsBase@@IAEXPAVCNSmlAgentBase@@ABVTDesC8@@1HABVHBufC16@@PAVCNSmlURI@@H@Z @ 121 NONAME ; void CNSmlCmdsBase::ConstructL(class CNSmlAgentBase *, class TDesC8 const &, class TDesC8 const &, int, class HBufC16 const &, class CNSmlURI *, int)
+ ?DoCmdIdL@CNSmlCmdsBase@@IAEXAAPAUsml_pcdata_s@@@Z @ 122 NONAME ; void CNSmlCmdsBase::DoCmdIdL(struct sml_pcdata_s * &)
+ ?smlSearchCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_search_s@@@Z @ 123 NONAME ; int CNSmlAgentBase::smlSearchCmdFuncL(struct sml_search_s *)
+ ?IsFlagSet@CNSmlCmdsBase@@IBEHABI0@Z @ 124 NONAME ; int CNSmlCmdsBase::IsFlagSet(unsigned int const &, unsigned int const &) const
+ ?SetServerNonceL@CNSmlAgentBase@@UBEXABVTDesC16@@@Z @ 125 NONAME ; void CNSmlAgentBase::SetServerNonceL(class TDesC16 const &) const
+ ?DoTargetL@CNSmlCmdsBase@@QBEXAAPAUsml_target_s@@ABVTDesC8@@@Z @ 126 NONAME ; void CNSmlCmdsBase::DoTargetL(struct sml_target_s * &, class TDesC8 const &) const
+ ?SetEndOfDataAlertRequest@CNSmlAgentBase@@QAEXXZ @ 127 NONAME ; void CNSmlAgentBase::SetEndOfDataAlertRequest(void)
+ ?ServerUserName@CNSmlAgentBase@@MBE?AVTPtrC16@@XZ @ 128 NONAME ; class TPtrC16 CNSmlAgentBase::ServerUserName(void) const
+ ?ClientAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 129 NONAME ; void CNSmlAgentBase::ClientAlertNextStateL(void)
+ ?NewLC@CNSmlURI@@SAPAV1@XZ @ 130 NONAME ; class CNSmlURI * CNSmlURI::NewLC(void)
+ ?DisconnectFromOtherServers@CNSmlCmdsBase@@UAEXXZ @ 131 NONAME ; void CNSmlCmdsBase::DisconnectFromOtherServers(void)
+ ?SyncLogMessageCode@TNSmlError@@UAEHXZ @ 132 NONAME ; int TNSmlError::SyncLogMessageCode(void)
+ ?ServerModEndMessageStateL@CNSmlAgentBase@@IAEXH@Z @ 133 NONAME ; void CNSmlAgentBase::ServerModEndMessageStateL(int)
+ ?HBufC8InUTF8LC@NSmlUnicodeConverter@@SAHABVTDesC16@@AAPAVHBufC8@@@Z @ 134 NONAME ; int NSmlUnicodeConverter::HBufC8InUTF8LC(class TDesC16 const &, class HBufC8 * &)
+ ?ProcessSearchCmdL@CNSmlCmdsBase@@UAEXPAUsml_search_s@@@Z @ 135 NONAME ; void CNSmlCmdsBase::ProcessSearchCmdL(struct sml_search_s *)
+ ?ProfileId@CNSmlAgentBase@@QBEHXZ @ 136 NONAME ; int CNSmlAgentBase::ProfileId(void) const
+ ?smlCopyCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_generic_s@@@Z @ 137 NONAME ; int CNSmlAgentBase::smlCopyCmdFuncL(struct sml_generic_s *)
+ ?NewL@CNSmlURI@@SAPAV1@XZ @ 138 NONAME ; class CNSmlURI * CNSmlURI::NewL(void)
+ ?DoGenericUserAlertL@CNSmlCmdsBase@@UAEHH@Z @ 139 NONAME ; int CNSmlCmdsBase::DoGenericUserAlertL(int)
+ ?HBufC16InUnicodeL@NSmlUnicodeConverter@@SAHABVTDesC8@@AAPAVHBufC16@@@Z @ 140 NONAME ; int NSmlUnicodeConverter::HBufC16InUnicodeL(class TDesC8 const &, class HBufC16 * &)
+ ?MoreData@CNSmlResponseController@@QBEHH@Z @ 141 NONAME ; int CNSmlResponseController::MoreData(int) const
+ ?RemoveWritten@CNSmlResultsContainer@@QAEXH@Z @ 142 NONAME ; void CNSmlResultsContainer::RemoveWritten(int)
+ ?MetaTypeInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 143 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaTypeInUtf8LC(struct sml_pcdata_s const *) const
+ ?StatusDataToGetCommandL@CNSmlCmdsBase@@IAEHPBUsml_get_put_s@@PBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBVTDesC8@@@Z @ 144 NONAME ; int CNSmlCmdsBase::StatusDataToGetCommandL(struct sml_get_put_s const *, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
+ ?AppIndex@CNSmlResponseController@@QBEHH@Z @ 145 NONAME ; int CNSmlResponseController::AppIndex(int) const
+ ?WaitingLargeObjectChunk@CNSmlCmdsBase@@QBEHXZ @ 146 NONAME ; int CNSmlCmdsBase::WaitingLargeObjectChunk(void) const
+ ?SetMaximumWorkspaceSize@CNSmlCmdsBase@@QAEXH@Z @ 147 NONAME ; void CNSmlCmdsBase::SetMaximumWorkspaceSize(int)
+ ?StatusCode@CNSmlResponseController@@QBEHH@Z @ 148 NONAME ; int CNSmlResponseController::StatusCode(int) const
+ ?smlExecCmdFuncL@CNSmlAgentBase@@UAEHPAUsml_exec_s@@@Z @ 149 NONAME ; int CNSmlAgentBase::smlExecCmdFuncL(struct sml_exec_s *)
+ ?EntryID@CNSmlResponseController@@QBEHHH@Z @ 150 NONAME ; int CNSmlResponseController::EntryID(int, int) const
+ ?ProcessSyncHdrL@CNSmlCmdsBase@@UAEXPAUsml_sync_hdr_s@@@Z @ 151 NONAME ; void CNSmlCmdsBase::ProcessSyncHdrL(struct sml_sync_hdr_s *)
+ ?ProcessCopyCmdL@CNSmlCmdsBase@@UAEXPAUsml_generic_s@@@Z @ 152 NONAME ; void CNSmlCmdsBase::ProcessCopyCmdL(struct sml_generic_s *)
+ ?ServerNonceAllocL@CNSmlAgentBase@@UBEPAVHBufC16@@XZ @ 153 NONAME ; class HBufC16 * CNSmlAgentBase::ServerNonceAllocL(void) const
+ ?ResultsContainer@CNSmlCmdsBase@@QBEPAVCNSmlResultsContainer@@XZ @ 154 NONAME ; class CNSmlResultsContainer * CNSmlCmdsBase::ResultsContainer(void) const
+ ?DataUpdateStatusMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 155 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingMapStateL(void)
+ ?SetSyncAgent@CNSmlAuth@@QAEXPAVCNSmlAgentBase@@@Z @ 156 NONAME ; void CNSmlAuth::SetSyncAgent(class CNSmlAgentBase *)
+ ?MetaFormatInUtf8LC@CNSmlCmdsBase@@IBEPAVHBufC8@@PBUsml_pcdata_s@@@Z @ 157 NONAME ; class HBufC8 * CNSmlCmdsBase::MetaFormatInUtf8LC(struct sml_pcdata_s const *) const
+ ?ResponseDetail@CNSmlResponseController@@QBE?AW4TResponseDetail@1@H@Z @ 158 NONAME ; enum CNSmlResponseController::TResponseDetail CNSmlResponseController::ResponseDetail(int) const
+ ?StatusID@CNSmlResultsContainer@@QBEHH@Z @ 159 NONAME ; int CNSmlResultsContainer::StatusID(int) const
+ ?ErrorCodeConversion@TNSmlError@@MAEXXZ @ 160 NONAME ; void TNSmlError::ErrorCodeConversion(void)
+ ?ServerMaxObjSize@CNSmlCmdsBase@@IBEHPBUsml_pcdata_s@@@Z @ 161 NONAME ; int CNSmlCmdsBase::ServerMaxObjSize(struct sml_pcdata_s const *) const
+ ?ServerModStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 162 NONAME ; void CNSmlAgentBase::ServerModStartMessageStateL(struct sml_sync_hdr_s *)
+ ?CallbackCalled@CNSmlAgentBase@@QBEHXZ @ 163 NONAME ; int CNSmlAgentBase::CallbackCalled(void) const
+ ?PcdataNewL@CNSmlCmdsBase@@QBEXAAPAUsml_pcdata_s@@ABVTDesC8@@@Z @ 164 NONAME ; void CNSmlCmdsBase::PcdataNewL(struct sml_pcdata_s * &, class TDesC8 const &) const
+ ?NextResultsElement@CNSmlResultsContainer@@QAEHAAPAUsml_results_s@@@Z @ 165 NONAME ; int CNSmlResultsContainer::NextResultsElement(struct sml_results_s * &)
+ ?SetAppIndex@CNSmlResponseController@@QAEXHH@Z @ 166 NONAME ; void CNSmlResponseController::SetAppIndex(int, int)
+ ?Begin@CNSmlResultsContainer@@QAEXXZ @ 167 NONAME ; void CNSmlResultsContainer::Begin(void)
+ ?SetDatabaseL@CNSmlURI@@QAEXABVTDesC8@@H@Z @ 168 NONAME ; void CNSmlURI::SetDatabaseL(class TDesC8 const &, int)
+ ?CreateNewResultsL@CNSmlResultsContainer@@QAEHABVTDesC8@@0PBUsml_target_s@@PBUsml_source_s@@@Z @ 169 NONAME ; int CNSmlResultsContainer::CreateNewResultsL(class TDesC8 const &, class TDesC8 const &, struct sml_target_s const *, struct sml_source_s const *)
+ ?SyncMLDatabaseAllocLC@CNSmlURI@@QAEPAVHBufC16@@XZ @ 170 NONAME ; class HBufC16 * CNSmlURI::SyncMLDatabaseAllocLC(void)
+ ?DataUpdateStatusStartingMessageStateBaseL@CNSmlAgentBase@@IAEXXZ @ 171 NONAME ; void CNSmlAgentBase::DataUpdateStatusStartingMessageStateBaseL(void)
+ ?DataUpdateStatusMakingResultsStateL@CNSmlAgentBase@@MAEXXZ @ 172 NONAME ; void CNSmlAgentBase::DataUpdateStatusMakingResultsStateL(void)
+ ??0CNSmlAgentBase@@QAE@XZ @ 173 NONAME ; CNSmlAgentBase::CNSmlAgentBase(void)
+ ?NewLC@CNSmlURI@@SAPAV1@ABVTDesC8@@H@Z @ 174 NONAME ; class CNSmlURI * CNSmlURI::NewLC(class TDesC8 const &, int)
+ ?ServerAlertNextStateL@CNSmlAgentBase@@IAEXXZ @ 175 NONAME ; void CNSmlAgentBase::ServerAlertNextStateL(void)
+ ?LUID@CNSmlResponseController@@QBE?AVTPtrC8@@H@Z @ 176 NONAME ; class TPtrC8 CNSmlResponseController::LUID(int) const
+ ?NextStatusElement@CNSmlStatusContainer@@QAEHAAPAUsml_status_s@@H@Z @ 177 NONAME ; int CNSmlStatusContainer::NextStatusElement(struct sml_status_s * &, int)
+ ?AuthenticationRequirementL@CNSmlAgentBase@@IAEHABVCNSmlResponseController@@H@Z @ 178 NONAME ; int CNSmlAgentBase::AuthenticationRequirementL(class CNSmlResponseController const &, int)
+ ?StatusDataToCommandL@CNSmlCmdsBase@@IAEHABVTDesC8@@PBUsml_pcdata_s@@IPBUsml_item_s@@W4TNSmlSyncMLStatusCode@TNSmlError@@PBV2@@Z @ 179 NONAME ; int CNSmlCmdsBase::StatusDataToCommandL(class TDesC8 const &, struct sml_pcdata_s const *, unsigned int, struct sml_item_s const *, enum TNSmlError::TNSmlSyncMLStatusCode, class TDesC8 const *)
+ ?SourceIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 180 NONAME ; int CNSmlCmdsBase::SourceIsUnderItem(struct sml_item_list_s const *) const
+ ?SetStatusID@CNSmlResultsContainer@@QAEXHH@Z @ 181 NONAME ; void CNSmlResultsContainer::SetStatusID(int, int)
+ ?CreateNewStatusElementL@CNSmlStatusContainer@@QAEHXZ @ 182 NONAME ; int CNSmlStatusContainer::CreateNewStatusElementL(void)
+ ?FreeBaseResources@CNSmlAgentBase@@IAEXXZ @ 183 NONAME ; void CNSmlAgentBase::FreeBaseResources(void)
+ ??1CNSmlCmdsBase@@UAE@XZ @ 184 NONAME ; CNSmlCmdsBase::~CNSmlCmdsBase(void)
+ ?NewL@CNSmlURI@@SAPAV1@ABVTDesC16@@H@Z @ 185 NONAME ; class CNSmlURI * CNSmlURI::NewL(class TDesC16 const &, int)
+ ?NewL@CNSmlAuth@@SAPAV1@XZ @ 186 NONAME ; class CNSmlAuth * CNSmlAuth::NewL(void)
+ ?DataBaseWithoutRelativePrefix@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 187 NONAME ; class TPtrC16 CNSmlURI::DataBaseWithoutRelativePrefix(void)
+ ?Database@CNSmlURI@@QAE?AVTPtrC16@@XZ @ 188 NONAME ; class TPtrC16 CNSmlURI::Database(void)
+ ?DoMaxObjSizeL@CNSmlCmdsBase@@IBEXAAUsml_metinf_metinf_s@@H@Z @ 189 NONAME ; void CNSmlCmdsBase::DoMaxObjSizeL(struct sml_metinf_metinf_s &, int) const
+ ?SyncLogErrorCode@TNSmlError@@QAEHXZ @ 190 NONAME ; int TNSmlError::SyncLogErrorCode(void)
+ ?ClientAlertNextMakingMapStateL@CNSmlAgentBase@@MAEXXZ @ 191 NONAME ; void CNSmlAgentBase::ClientAlertNextMakingMapStateL(void)
+ ?TargetIsUnderItem@CNSmlCmdsBase@@IBEHPBUsml_item_list_s@@@Z @ 192 NONAME ; int CNSmlCmdsBase::TargetIsUnderItem(struct sml_item_list_s const *) const
+ ?ServerAlertNextStartMessageStateL@CNSmlAgentBase@@IAEXPAUsml_sync_hdr_s@@@Z @ 193 NONAME ; void CNSmlAgentBase::ServerAlertNextStartMessageStateL(struct sml_sync_hdr_s *)
+ ?BeginningStateL@CNSmlAgentBase@@IAEXXZ @ 194 NONAME ; void CNSmlAgentBase::BeginningStateL(void)
--- a/syncmlfw/common/syncagent/bld/DEF/eabiu.def Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/common/syncagent/bld/DEF/eabiu.def Thu Aug 19 10:44:50 2010 +0300
@@ -11,217 +11,219 @@
_ZN13CNSmlCmdsBase10ConstructLEP14CNSmlAgentBaseRK6TDesC8S4_iRK7HBufC16P8CNSmlURIi @ 10 NONAME
_ZN13CNSmlCmdsBase10DoSyncHdrLEv @ 11 NONAME
_ZN13CNSmlCmdsBase14ProcessMapCmdLEP9sml_map_s @ 12 NONAME
- _ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8S2_S2_iS2_ @ 13 NONAME
- _ZN13CNSmlCmdsBase15ProcessCopyCmdLEP13sml_generic_s @ 14 NONAME
- _ZN13CNSmlCmdsBase15ProcessExecCmdLEP10sml_exec_s @ 15 NONAME
- _ZN13CNSmlCmdsBase15ProcessSyncHdrLEP14sml_sync_hdr_s @ 16 NONAME
- _ZN13CNSmlCmdsBase17ProcessSearchCmdLEP12sml_search_s @ 17 NONAME
- _ZN13CNSmlCmdsBase17ProcessStatusCmdLEP12sml_status_s @ 18 NONAME
- _ZN13CNSmlCmdsBase18MarkGenAlertsSentLERK6TDesC8 @ 19 NONAME
- _ZN13CNSmlCmdsBase18MarkGenAlertsSentLEv @ 20 NONAME
- _ZN13CNSmlCmdsBase19DoGenericUserAlertLEi @ 21 NONAME
- _ZN13CNSmlCmdsBase20CloseIDMappingTableLEv @ 22 NONAME
- _ZN13CNSmlCmdsBase20FetchIDMappingTableLEi @ 23 NONAME
- _ZN13CNSmlCmdsBase20ProcessReceivedDataLEv @ 24 NONAME
- _ZN13CNSmlCmdsBase20StatusDataToCommandLERK6TDesC8PK12sml_pcdata_sjPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 25 NONAME
- _ZN13CNSmlCmdsBase21BufferAreaForParsingLEv @ 26 NONAME
- _ZN13CNSmlCmdsBase21DeleteIDMappingTableLERK7TDesC16S2_ @ 27 NONAME
- _ZN13CNSmlCmdsBase22ResetGenericUserAlertLEv @ 28 NONAME
- _ZN13CNSmlCmdsBase22ResetLargeObjectBufferEv @ 29 NONAME
- _ZN13CNSmlCmdsBase23SetMaximumWorkspaceSizeEi @ 30 NONAME
- _ZN13CNSmlCmdsBase23StatusDataToGetCommandLEPK13sml_get_put_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPK6TDesC8 @ 31 NONAME
- _ZN13CNSmlCmdsBase26CreateAndInitResponseItemLERK6TDesC8 @ 32 NONAME
- _ZN13CNSmlCmdsBase26DisconnectFromOtherServersEv @ 33 NONAME
- _ZN13CNSmlCmdsBase26SubtractConsumedFromPcDataERP10sml_item_si @ 34 NONAME
- _ZN13CNSmlCmdsBase27StatusDataToGenericCommandLERK6TDesC8PK13sml_generic_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 35 NONAME
- _ZN13CNSmlCmdsBase27StatusToUnsupportedCommandLEiRK6TDesC8PK12sml_pcdata_sj @ 36 NONAME
- _ZN13CNSmlCmdsBase8DoCmdIdLERP12sml_pcdata_s @ 37 NONAME
- _ZN13CNSmlCmdsBase9DoStatusLEP12sml_status_s @ 38 NONAME
- _ZN13CNSmlCmdsBase9MoreDataLEPK6HBufC8PK10sml_item_sPK12sml_pcdata_sRP8CBufBase @ 39 NONAME
- _ZN13CNSmlCmdsBaseC2Ev @ 40 NONAME
- _ZN13CNSmlCmdsBaseD0Ev @ 41 NONAME
- _ZN13CNSmlCmdsBaseD1Ev @ 42 NONAME
- _ZN13CNSmlCmdsBaseD2Ev @ 43 NONAME
- _ZN14CNSmlAgentBase10ConstructLEv @ 44 NONAME
- _ZN14CNSmlAgentBase13SendingStateLEv @ 45 NONAME
- _ZN14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 46 NONAME
- _ZN14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 47 NONAME
- _ZN14CNSmlAgentBase15BeginningStateLEv @ 48 NONAME
- _ZN14CNSmlAgentBase15DoOutsideCancelEv @ 49 NONAME
- _ZN14CNSmlAgentBase15ReceivingStateLEv @ 50 NONAME
- _ZN14CNSmlAgentBase15StatusReferenceEv @ 51 NONAME
- _ZN14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 52 NONAME
- _ZN14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 53 NONAME
- _ZN14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 54 NONAME
- _ZN14CNSmlAgentBase17FreeBaseResourcesEv @ 55 NONAME
- _ZN14CNSmlAgentBase17ResultAlertStateLEv @ 56 NONAME
- _ZN14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 57 NONAME
- _ZN14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 58 NONAME
- _ZN14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 59 NONAME
- _ZN14CNSmlAgentBase20SetOffCallbackCalledEv @ 60 NONAME
- _ZN14CNSmlAgentBase21ClientAlertNextStateLEv @ 61 NONAME
- _ZN14CNSmlAgentBase21ServerAlertNextStateLEv @ 62 NONAME
- _ZN14CNSmlAgentBase22DataUpdateStatusStateLEv @ 63 NONAME
- _ZN14CNSmlAgentBase23ServerModAlertCmdStateLEP11sml_alert_s @ 64 NONAME
- _ZN14CNSmlAgentBase24ServerModStatusCmdStateLEP12sml_status_s @ 65 NONAME
- _ZN14CNSmlAgentBase24SetEndOfDataAlertRequestEv @ 66 NONAME
- _ZN14CNSmlAgentBase25ServerModEndMessageStateLEi @ 67 NONAME
- _ZN14CNSmlAgentBase26AuthenticationRequirementLERK23CNSmlResponseControlleri @ 68 NONAME
- _ZN14CNSmlAgentBase26ClientInitialisationStateLEv @ 69 NONAME
- _ZN14CNSmlAgentBase26InitAskingDeviceInfoStateLEv @ 70 NONAME
- _ZN14CNSmlAgentBase27ServerModStartMessageStateLEP14sml_sync_hdr_s @ 71 NONAME
- _ZN14CNSmlAgentBase28CheckStatusCodesAreReceivedLEi @ 72 NONAME
- _ZN14CNSmlAgentBase29InitStartingMessageStateBaseLEv @ 73 NONAME
- _ZN14CNSmlAgentBase29ServerAlertNextAlertCmdStateLEP11sml_alert_s @ 74 NONAME
- _ZN14CNSmlAgentBase30ClientAlertNextMakingMapStateLEv @ 75 NONAME
- _ZN14CNSmlAgentBase30ServerAlertNextStatusCmdStateLEP12sml_status_s @ 76 NONAME
- _ZN14CNSmlAgentBase31DataUpdateStatusMakingMapStateLEv @ 77 NONAME
- _ZN14CNSmlAgentBase31ServerAlertNextEndMessageStateLEi @ 78 NONAME
- _ZN14CNSmlAgentBase33ServerAlertNextStartMessageStateLEP14sml_sync_hdr_s @ 79 NONAME
- _ZN14CNSmlAgentBase35DataUpdateStatusMakingResultsStateLEv @ 80 NONAME
- _ZN14CNSmlAgentBase41DataUpdateStatusStartingMessageStateBaseLEv @ 81 NONAME
- _ZN14CNSmlAgentBase4RunLEv @ 82 NONAME
- _ZN14CNSmlAgentBase7SyncLogEv @ 83 NONAME
- _ZN14CNSmlAgentBase8DoCancelEv @ 84 NONAME
- _ZN14CNSmlAgentBaseC2Ev @ 85 NONAME
- _ZN14CNSmlAgentBaseD0Ev @ 86 NONAME
- _ZN14CNSmlAgentBaseD1Ev @ 87 NONAME
- _ZN14CNSmlAgentBaseD2Ev @ 88 NONAME
- _ZN14CNSmlPhoneInfo10SwVersionLEv @ 89 NONAME
- _ZN14CNSmlPhoneInfo4NewLEv @ 90 NONAME
- _ZN14CNSmlPhoneInfo5NewLCEv @ 91 NONAME
- _ZN20CNSmlStatusContainer10SetCmdRefLEiPK12sml_pcdata_s @ 92 NONAME
- _ZN20CNSmlStatusContainer12AddItemDataLEiPK12sml_pcdata_s @ 93 NONAME
- _ZN20CNSmlStatusContainer13AddSourceRefLEiPK12sml_source_s @ 94 NONAME
- _ZN20CNSmlStatusContainer13AddTargetRefLEiPK12sml_target_s @ 95 NONAME
- _ZN20CNSmlStatusContainer13SetNoResponseEii @ 96 NONAME
- _ZN20CNSmlStatusContainer14SetStatusCodeLEiii @ 97 NONAME
- _ZN20CNSmlStatusContainer17NextStatusElementERP12sml_status_si @ 98 NONAME
- _ZN20CNSmlStatusContainer20SetPerformedInAtomicEi @ 99 NONAME
- _ZN20CNSmlStatusContainer21SetAtomicOrSequenceIdEii @ 100 NONAME
- _ZN20CNSmlStatusContainer23CreateNewStatusElementLEv @ 101 NONAME
- _ZN20CNSmlStatusContainer23SetStatusCodesInAtomicLEiii @ 102 NONAME
- _ZN20CNSmlStatusContainer35SetStatusCodeToAtomicOrSequenceCmdLEiiRK6TDesC8 @ 103 NONAME
- _ZN20CNSmlStatusContainer5BeginEv @ 104 NONAME
- _ZN20CNSmlStatusContainer7SetCmdLEiRK6TDesC8 @ 105 NONAME
- _ZN20NSmlUnicodeConverter14HBufC8InUTF8LCERK7TDesC16RP6HBufC8 @ 106 NONAME
- _ZN20NSmlUnicodeConverter17HBufC16InUnicodeLERK6TDesC8RP7HBufC16 @ 107 NONAME
- _ZN20NSmlUnicodeConverter18HBufC16InUnicodeLCERK6TDesC8RP7HBufC16 @ 108 NONAME
- _ZN21CNSmlResultsContainer11SetStatusIDEii @ 109 NONAME
- _ZN21CNSmlResultsContainer13RemoveWrittenEi @ 110 NONAME
- _ZN21CNSmlResultsContainer17CreateNewResultsLERK6TDesC8S2_PK12sml_target_sPK12sml_source_s @ 111 NONAME
- _ZN21CNSmlResultsContainer18NextResultsElementERP13sml_results_s @ 112 NONAME
- _ZN21CNSmlResultsContainer5BeginEv @ 113 NONAME
- _ZN21CNSmlResultsContainer8AddItemLEiRK8CBufBaseRK6TDesC8S5_ @ 114 NONAME
- _ZN21CNSmlResultsContainer9SetCmdIDLEiPK12sml_pcdata_s @ 115 NONAME
- _ZN23CNSmlResponseController11SetAppIndexEii @ 116 NONAME
- _ZN23CNSmlResponseController11SetMoreDataEi @ 117 NONAME
- _ZN23CNSmlResponseController17SetResponseDetailEiNS_15TResponseDetailE @ 118 NONAME
- _ZN23CNSmlResponseController6ResetLEv @ 119 NONAME
- _ZN23CNSmlResponseController8SetLUIDLEiRK6TDesC8 @ 120 NONAME
- _ZN8CNSmlURI12SetDatabaseLERK6TDesC8i @ 121 NONAME
- _ZN8CNSmlURI12SetDatabaseLERK7TDesC16i @ 122 NONAME
- _ZN8CNSmlURI12SetHostNameLERK6TDesC8i @ 123 NONAME
- _ZN8CNSmlURI12SetHostNameLERK7TDesC16i @ 124 NONAME
- _ZN8CNSmlURI16DatabaseMatchesLERK7TDesC16 @ 125 NONAME
- _ZN8CNSmlURI17HostNameWithPortLEi @ 126 NONAME
- _ZN8CNSmlURI21HostNameInUTF8AllocLCEv @ 127 NONAME
- _ZN8CNSmlURI21SyncMLDatabaseAllocLCEv @ 128 NONAME
- _ZN8CNSmlURI29DataBaseWithoutRelativePrefixEv @ 129 NONAME
- _ZN8CNSmlURI4NewLERK6TDesC8i @ 130 NONAME
- _ZN8CNSmlURI4NewLERK7TDesC16i @ 131 NONAME
- _ZN8CNSmlURI4NewLEv @ 132 NONAME
- _ZN8CNSmlURI5NewLCERK6TDesC8i @ 133 NONAME
- _ZN8CNSmlURI5NewLCERK7TDesC16i @ 134 NONAME
- _ZN8CNSmlURI5NewLCEv @ 135 NONAME
- _ZN8CNSmlURI7SetPortEi @ 136 NONAME
- _ZN8CNSmlURI8DatabaseEv @ 137 NONAME
- _ZN8CNSmlURI8HostNameEv @ 138 NONAME
- _ZN8CNSmlURI8IsEqualLERKS_i @ 139 NONAME
- _ZN8CNSmlURIaSERKS_ @ 140 NONAME
- _ZN9CNSmlAuth12SetSyncAgentEP14CNSmlAgentBase @ 141 NONAME
- _ZN9CNSmlAuth14SetCredentialLERK6TDesC8 @ 142 NONAME
- _ZN9CNSmlAuth16SetAuthRequiredLEv @ 143 NONAME
- _ZN9CNSmlAuth4NewLEv @ 144 NONAME
- _ZNK13CNSmlCmdsBase10BusyStatusEv @ 145 NONAME
- _ZNK13CNSmlCmdsBase10DoAnchorsLER19sml_metinf_metinf_sPK6TDesC8S4_ @ 146 NONAME
- _ZNK13CNSmlCmdsBase10DoMetInfLCERP19sml_metinf_metinf_s @ 147 NONAME
- _ZNK13CNSmlCmdsBase10MetaTypeLCEPK12sml_pcdata_s @ 148 NONAME
- _ZNK13CNSmlCmdsBase10PcdataNewLERP12sml_pcdata_sRK6TDesC8 @ 149 NONAME
- _ZNK13CNSmlCmdsBase10ServerAuthEv @ 150 NONAME
- _ZNK13CNSmlCmdsBase13DoMaxObjSizeLER19sml_metinf_metinf_si @ 151 NONAME
- _ZNK13CNSmlCmdsBase15StatusContainerEv @ 152 NONAME
- _ZNK13CNSmlCmdsBase16MetaTypeInUtf8LCEPK12sml_pcdata_s @ 153 NONAME
- _ZNK13CNSmlCmdsBase16ResultsContainerEv @ 154 NONAME
- _ZNK13CNSmlCmdsBase16ServerMaxObjSizeEPK12sml_pcdata_s @ 155 NONAME
- _ZNK13CNSmlCmdsBase16ServerObjectSizeEPK12sml_pcdata_s @ 156 NONAME
- _ZNK13CNSmlCmdsBase17PCDATAToUnicodeLCERK12sml_pcdata_sRP7HBufC16 @ 157 NONAME
- _ZNK13CNSmlCmdsBase17SourceIsUnderItemEPK15sml_item_list_s @ 158 NONAME
- _ZNK13CNSmlCmdsBase17TargetIsUnderItemEPK15sml_item_list_s @ 159 NONAME
- _ZNK13CNSmlCmdsBase18MetaFormatInUtf8LCEPK12sml_pcdata_s @ 160 NONAME
- _ZNK13CNSmlCmdsBase18ResponseControllerEv @ 161 NONAME
- _ZNK13CNSmlCmdsBase19EndOfServerMessageLEv @ 162 NONAME
- _ZNK13CNSmlCmdsBase21TrimRightSpaceAndNullER5TDes8 @ 163 NONAME
- _ZNK13CNSmlCmdsBase21WriteMappingInfoToDbLEv @ 164 NONAME
- _ZNK13CNSmlCmdsBase23WaitingLargeObjectChunkEv @ 165 NONAME
- _ZNK13CNSmlCmdsBase7DoMetaLERP12sml_pcdata_sPK19sml_metinf_metinf_s @ 166 NONAME
- _ZNK13CNSmlCmdsBase7RespURIEv @ 167 NONAME
- _ZNK13CNSmlCmdsBase9AlertCodeEP11sml_alert_s @ 168 NONAME
- _ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK6TDesC8 @ 169 NONAME
- _ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16 @ 170 NONAME
- _ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16S5_ @ 171 NONAME
- _ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16 @ 172 NONAME
- _ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16S5_ @ 173 NONAME
- _ZNK13CNSmlCmdsBase9IsFlagSetERKjS1_ @ 174 NONAME
- _ZNK14CNSmlAgentBase12SaveIfNonceLERK23CNSmlResponseControlleri @ 175 NONAME
- _ZNK14CNSmlAgentBase14CallbackCalledEv @ 176 NONAME
- _ZNK14CNSmlAgentBase14ServerPasswordEv @ 177 NONAME
- _ZNK14CNSmlAgentBase14ServerUserNameEv @ 178 NONAME
- _ZNK14CNSmlAgentBase15SetServerNonceLERK7TDesC16 @ 179 NONAME
- _ZNK14CNSmlAgentBase17ServerNonceAllocLEv @ 180 NONAME
- _ZNK14CNSmlAgentBase9ProfileIdEv @ 181 NONAME
- _ZNK14CNSmlPhoneInfo10PhoneDataLENS_12TPhoneIdTypeER6TDes16 @ 182 NONAME
- _ZNK20CNSmlStatusContainer11LastEntryIDEv @ 183 NONAME
- _ZNK21CNSmlResultsContainer10AnyResultsEv @ 184 NONAME
- _ZNK21CNSmlResultsContainer14CurrentEntryIDEv @ 185 NONAME
- _ZNK21CNSmlResultsContainer8StatusIDEi @ 186 NONAME
- _ZNK23CNSmlResponseController10StatusCodeEi @ 187 NONAME
- _ZNK23CNSmlResponseController14ResponseDetailEi @ 188 NONAME
- _ZNK23CNSmlResponseController3CmdEi @ 189 NONAME
- _ZNK23CNSmlResponseController4LUIDEi @ 190 NONAME
- _ZNK23CNSmlResponseController7EntryIDEii @ 191 NONAME
- _ZNK23CNSmlResponseController8AppIndexEi @ 192 NONAME
- _ZNK23CNSmlResponseController8ChalTypeEi @ 193 NONAME
- _ZNK23CNSmlResponseController8MoreDataEi @ 194 NONAME
- _ZNK9CNSmlAuth10ChallengedEv @ 195 NONAME
- _ZTI10TNSmlError @ 196 NONAME ; #<TI>#
- _ZTI13CNSmlCmdsBase @ 197 NONAME ; #<TI>#
- _ZTI14CNSmlAgentBase @ 198 NONAME ; #<TI>#
- _ZTI14CNSmlPhoneInfo @ 199 NONAME ; #<TI>#
- _ZTI20CNSmlStatusContainer @ 200 NONAME ; #<TI>#
- _ZTI21CNSmlResultsContainer @ 201 NONAME ; #<TI>#
- _ZTI23CNSmlResponseController @ 202 NONAME ; #<TI>#
- _ZTI8CNSmlURI @ 203 NONAME ; #<TI>#
- _ZTI9CNSmlAuth @ 204 NONAME ; #<TI>#
- _ZTV10TNSmlError @ 205 NONAME ; #<VT>#
- _ZTV13CNSmlCmdsBase @ 206 NONAME ; #<VT>#
- _ZTV14CNSmlAgentBase @ 207 NONAME ; #<VT>#
- _ZTV14CNSmlPhoneInfo @ 208 NONAME ; #<VT>#
- _ZTV20CNSmlStatusContainer @ 209 NONAME ; #<VT>#
- _ZTV21CNSmlResultsContainer @ 210 NONAME ; #<VT>#
- _ZTV23CNSmlResponseController @ 211 NONAME ; #<VT>#
- _ZTV8CNSmlURI @ 212 NONAME ; #<VT>#
- _ZTV9CNSmlAuth @ 213 NONAME ; #<VT>#
- _ZThn28_N14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 214 NONAME ; #<thunk>#
- _ZThn28_N14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 215 NONAME ; #<thunk>#
- _ZThn28_N14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 216 NONAME ; #<thunk>#
- _ZThn28_N14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 217 NONAME ; #<thunk>#
- _ZThn28_N14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 218 NONAME ; #<thunk>#
- _ZThn28_N14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 219 NONAME ; #<thunk>#
- _ZThn28_N14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 220 NONAME ; #<thunk>#
- _ZThn28_N14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 221 NONAME ; #<thunk>#
- _ZN14CNSmlAgentBase18LaunchAutoRestartLEi @ 222 NONAME
- _ZN14CNSmlAgentBase18CheckAPBearerTypeLEm @ 223 NONAME
- _ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8RK6RArrayI16CNSmlDMAlertItemE @ 224 NONAME
- _ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK6TDesC8 @ 225 NONAME
+ _ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8RK6RArrayI16CNSmlDMAlertItemE @ 13 NONAME
+ _ZN13CNSmlCmdsBase15DoGenericAlertLERK6TDesC8S2_S2_iS2_ @ 14 NONAME
+ _ZN13CNSmlCmdsBase15ProcessCopyCmdLEP13sml_generic_s @ 15 NONAME
+ _ZN13CNSmlCmdsBase15ProcessExecCmdLEP10sml_exec_s @ 16 NONAME
+ _ZN13CNSmlCmdsBase15ProcessSyncHdrLEP14sml_sync_hdr_s @ 17 NONAME
+ _ZN13CNSmlCmdsBase17ProcessSearchCmdLEP12sml_search_s @ 18 NONAME
+ _ZN13CNSmlCmdsBase17ProcessStatusCmdLEP12sml_status_s @ 19 NONAME
+ _ZN13CNSmlCmdsBase18MarkGenAlertsSentLERK6TDesC8 @ 20 NONAME
+ _ZN13CNSmlCmdsBase18MarkGenAlertsSentLEv @ 21 NONAME
+ _ZN13CNSmlCmdsBase19DoGenericUserAlertLEi @ 22 NONAME
+ _ZN13CNSmlCmdsBase20CloseIDMappingTableLEv @ 23 NONAME
+ _ZN13CNSmlCmdsBase20FetchIDMappingTableLEi @ 24 NONAME
+ _ZN13CNSmlCmdsBase20ProcessReceivedDataLEv @ 25 NONAME
+ _ZN13CNSmlCmdsBase20StatusDataToCommandLERK6TDesC8PK12sml_pcdata_sjPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 26 NONAME
+ _ZN13CNSmlCmdsBase21BufferAreaForParsingLEv @ 27 NONAME
+ _ZN13CNSmlCmdsBase21DeleteIDMappingTableLERK7TDesC16S2_ @ 28 NONAME
+ _ZN13CNSmlCmdsBase22ResetGenericUserAlertLEv @ 29 NONAME
+ _ZN13CNSmlCmdsBase22ResetLargeObjectBufferEv @ 30 NONAME
+ _ZN13CNSmlCmdsBase23SetMaximumWorkspaceSizeEi @ 31 NONAME
+ _ZN13CNSmlCmdsBase23StatusDataToGetCommandLEPK13sml_get_put_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPK6TDesC8 @ 32 NONAME
+ _ZN13CNSmlCmdsBase26CreateAndInitResponseItemLERK6TDesC8 @ 33 NONAME
+ _ZN13CNSmlCmdsBase26DisconnectFromOtherServersEv @ 34 NONAME
+ _ZN13CNSmlCmdsBase26SubtractConsumedFromPcDataERP10sml_item_si @ 35 NONAME
+ _ZN13CNSmlCmdsBase27StatusDataToGenericCommandLERK6TDesC8PK13sml_generic_sPK10sml_item_sN10TNSmlError21TNSmlSyncMLStatusCodeEPS1_ @ 36 NONAME
+ _ZN13CNSmlCmdsBase27StatusToUnsupportedCommandLEiRK6TDesC8PK12sml_pcdata_sj @ 37 NONAME
+ _ZN13CNSmlCmdsBase8DoCmdIdLERP12sml_pcdata_s @ 38 NONAME
+ _ZN13CNSmlCmdsBase9DoStatusLEP12sml_status_s @ 39 NONAME
+ _ZN13CNSmlCmdsBase9MoreDataLEPK6HBufC8PK10sml_item_sPK12sml_pcdata_sRP8CBufBase @ 40 NONAME
+ _ZN13CNSmlCmdsBaseC2Ev @ 41 NONAME
+ _ZN13CNSmlCmdsBaseD0Ev @ 42 NONAME
+ _ZN13CNSmlCmdsBaseD1Ev @ 43 NONAME
+ _ZN13CNSmlCmdsBaseD2Ev @ 44 NONAME
+ _ZN14CNSmlAgentBase10ConstructLEv @ 45 NONAME
+ _ZN14CNSmlAgentBase13SendingStateLEv @ 46 NONAME
+ _ZN14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 47 NONAME
+ _ZN14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 48 NONAME
+ _ZN14CNSmlAgentBase15BeginningStateLEv @ 49 NONAME
+ _ZN14CNSmlAgentBase15DoOutsideCancelEv @ 50 NONAME
+ _ZN14CNSmlAgentBase15ReceivingStateLEv @ 51 NONAME
+ _ZN14CNSmlAgentBase15StatusReferenceEv @ 52 NONAME
+ _ZN14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 53 NONAME
+ _ZN14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 54 NONAME
+ _ZN14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 55 NONAME
+ _ZN14CNSmlAgentBase17FreeBaseResourcesEv @ 56 NONAME
+ _ZN14CNSmlAgentBase17ResultAlertStateLEv @ 57 NONAME
+ _ZN14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 58 NONAME
+ _ZN14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 59 NONAME
+ _ZN14CNSmlAgentBase18CheckAPBearerTypeLEm @ 60 NONAME
+ _ZN14CNSmlAgentBase18LaunchAutoRestartLEi @ 61 NONAME
+ _ZN14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 62 NONAME
+ _ZN14CNSmlAgentBase20SetOffCallbackCalledEv @ 63 NONAME
+ _ZN14CNSmlAgentBase21ClientAlertNextStateLEv @ 64 NONAME
+ _ZN14CNSmlAgentBase21ServerAlertNextStateLEv @ 65 NONAME
+ _ZN14CNSmlAgentBase22DataUpdateStatusStateLEv @ 66 NONAME
+ _ZN14CNSmlAgentBase23ServerModAlertCmdStateLEP11sml_alert_s @ 67 NONAME
+ _ZN14CNSmlAgentBase24ServerModStatusCmdStateLEP12sml_status_s @ 68 NONAME
+ _ZN14CNSmlAgentBase24SetEndOfDataAlertRequestEv @ 69 NONAME
+ _ZN14CNSmlAgentBase25ServerModEndMessageStateLEi @ 70 NONAME
+ _ZN14CNSmlAgentBase26AuthenticationRequirementLERK23CNSmlResponseControlleri @ 71 NONAME
+ _ZN14CNSmlAgentBase26ClientInitialisationStateLEv @ 72 NONAME
+ _ZN14CNSmlAgentBase26InitAskingDeviceInfoStateLEv @ 73 NONAME
+ _ZN14CNSmlAgentBase27ServerModStartMessageStateLEP14sml_sync_hdr_s @ 74 NONAME
+ _ZN14CNSmlAgentBase28CheckStatusCodesAreReceivedLEi @ 75 NONAME
+ _ZN14CNSmlAgentBase29InitStartingMessageStateBaseLEv @ 76 NONAME
+ _ZN14CNSmlAgentBase29ServerAlertNextAlertCmdStateLEP11sml_alert_s @ 77 NONAME
+ _ZN14CNSmlAgentBase30ClientAlertNextMakingMapStateLEv @ 78 NONAME
+ _ZN14CNSmlAgentBase30ServerAlertNextStatusCmdStateLEP12sml_status_s @ 79 NONAME
+ _ZN14CNSmlAgentBase31DataUpdateStatusMakingMapStateLEv @ 80 NONAME
+ _ZN14CNSmlAgentBase31ServerAlertNextEndMessageStateLEi @ 81 NONAME
+ _ZN14CNSmlAgentBase33ServerAlertNextStartMessageStateLEP14sml_sync_hdr_s @ 82 NONAME
+ _ZN14CNSmlAgentBase35DataUpdateStatusMakingResultsStateLEv @ 83 NONAME
+ _ZN14CNSmlAgentBase41DataUpdateStatusStartingMessageStateBaseLEv @ 84 NONAME
+ _ZN14CNSmlAgentBase4RunLEv @ 85 NONAME
+ _ZN14CNSmlAgentBase7SyncLogEv @ 86 NONAME
+ _ZN14CNSmlAgentBase8DoCancelEv @ 87 NONAME
+ _ZN14CNSmlAgentBaseC2Ev @ 88 NONAME
+ _ZN14CNSmlAgentBaseD0Ev @ 89 NONAME
+ _ZN14CNSmlAgentBaseD1Ev @ 90 NONAME
+ _ZN14CNSmlAgentBaseD2Ev @ 91 NONAME
+ _ZN14CNSmlPhoneInfo10SwVersionLEv @ 92 NONAME
+ _ZN14CNSmlPhoneInfo4NewLEv @ 93 NONAME
+ _ZN14CNSmlPhoneInfo5NewLCEv @ 94 NONAME
+ _ZN20CNSmlStatusContainer10SetCmdRefLEiPK12sml_pcdata_s @ 95 NONAME
+ _ZN20CNSmlStatusContainer10StatusItemEi @ 96 NONAME
+ _ZN20CNSmlStatusContainer12AddItemDataLEiPK12sml_pcdata_s @ 97 NONAME
+ _ZN20CNSmlStatusContainer13AddSourceRefLEiPK12sml_source_s @ 98 NONAME
+ _ZN20CNSmlStatusContainer13AddTargetRefLEiPK12sml_target_s @ 99 NONAME
+ _ZN20CNSmlStatusContainer13FillItemDataLERP10sml_item_s @ 100 NONAME
+ _ZN20CNSmlStatusContainer13SetNoResponseEii @ 101 NONAME
+ _ZN20CNSmlStatusContainer14SetStatusCodeLEiii @ 102 NONAME
+ _ZN20CNSmlStatusContainer17NextStatusElementERP12sml_status_si @ 103 NONAME
+ _ZN20CNSmlStatusContainer20SetPerformedInAtomicEi @ 104 NONAME
+ _ZN20CNSmlStatusContainer21SetAtomicOrSequenceIdEii @ 105 NONAME
+ _ZN20CNSmlStatusContainer23CreateNewStatusElementLEv @ 106 NONAME
+ _ZN20CNSmlStatusContainer23SetStatusCodesInAtomicLEiii @ 107 NONAME
+ _ZN20CNSmlStatusContainer35SetStatusCodeToAtomicOrSequenceCmdLEiiRK6TDesC8 @ 108 NONAME
+ _ZN20CNSmlStatusContainer5BeginEv @ 109 NONAME
+ _ZN20CNSmlStatusContainer7SetCmdLEiRK6TDesC8 @ 110 NONAME
+ _ZN20NSmlUnicodeConverter14HBufC8InUTF8LCERK7TDesC16RP6HBufC8 @ 111 NONAME
+ _ZN20NSmlUnicodeConverter17HBufC16InUnicodeLERK6TDesC8RP7HBufC16 @ 112 NONAME
+ _ZN20NSmlUnicodeConverter18HBufC16InUnicodeLCERK6TDesC8RP7HBufC16 @ 113 NONAME
+ _ZN21CNSmlResultsContainer11SetStatusIDEii @ 114 NONAME
+ _ZN21CNSmlResultsContainer13RemoveWrittenEi @ 115 NONAME
+ _ZN21CNSmlResultsContainer17CreateNewResultsLERK6TDesC8S2_PK12sml_target_sPK12sml_source_s @ 116 NONAME
+ _ZN21CNSmlResultsContainer18NextResultsElementERP13sml_results_s @ 117 NONAME
+ _ZN21CNSmlResultsContainer5BeginEv @ 118 NONAME
+ _ZN21CNSmlResultsContainer8AddItemLEiRK8CBufBaseRK6TDesC8S5_ @ 119 NONAME
+ _ZN21CNSmlResultsContainer9SetCmdIDLEiPK12sml_pcdata_s @ 120 NONAME
+ _ZN23CNSmlResponseController11SetAppIndexEii @ 121 NONAME
+ _ZN23CNSmlResponseController11SetMoreDataEi @ 122 NONAME
+ _ZN23CNSmlResponseController17SetResponseDetailEiNS_15TResponseDetailE @ 123 NONAME
+ _ZN23CNSmlResponseController6ResetLEv @ 124 NONAME
+ _ZN23CNSmlResponseController8SetLUIDLEiRK6TDesC8 @ 125 NONAME
+ _ZN8CNSmlURI12SetDatabaseLERK6TDesC8i @ 126 NONAME
+ _ZN8CNSmlURI12SetDatabaseLERK7TDesC16i @ 127 NONAME
+ _ZN8CNSmlURI12SetHostNameLERK6TDesC8i @ 128 NONAME
+ _ZN8CNSmlURI12SetHostNameLERK7TDesC16i @ 129 NONAME
+ _ZN8CNSmlURI16DatabaseMatchesLERK7TDesC16 @ 130 NONAME
+ _ZN8CNSmlURI17HostNameWithPortLEi @ 131 NONAME
+ _ZN8CNSmlURI21HostNameInUTF8AllocLCEv @ 132 NONAME
+ _ZN8CNSmlURI21SyncMLDatabaseAllocLCEv @ 133 NONAME
+ _ZN8CNSmlURI29DataBaseWithoutRelativePrefixEv @ 134 NONAME
+ _ZN8CNSmlURI4NewLERK6TDesC8i @ 135 NONAME
+ _ZN8CNSmlURI4NewLERK7TDesC16i @ 136 NONAME
+ _ZN8CNSmlURI4NewLEv @ 137 NONAME
+ _ZN8CNSmlURI5NewLCERK6TDesC8i @ 138 NONAME
+ _ZN8CNSmlURI5NewLCERK7TDesC16i @ 139 NONAME
+ _ZN8CNSmlURI5NewLCEv @ 140 NONAME
+ _ZN8CNSmlURI7SetPortEi @ 141 NONAME
+ _ZN8CNSmlURI8DatabaseEv @ 142 NONAME
+ _ZN8CNSmlURI8HostNameEv @ 143 NONAME
+ _ZN8CNSmlURI8IsEqualLERKS_i @ 144 NONAME
+ _ZN8CNSmlURIaSERKS_ @ 145 NONAME
+ _ZN9CNSmlAuth12SetSyncAgentEP14CNSmlAgentBase @ 146 NONAME
+ _ZN9CNSmlAuth14SetCredentialLERK6TDesC8 @ 147 NONAME
+ _ZN9CNSmlAuth16SetAuthRequiredLEv @ 148 NONAME
+ _ZN9CNSmlAuth4NewLEv @ 149 NONAME
+ _ZNK13CNSmlCmdsBase10BusyStatusEv @ 150 NONAME
+ _ZNK13CNSmlCmdsBase10DoAnchorsLER19sml_metinf_metinf_sPK6TDesC8S4_ @ 151 NONAME
+ _ZNK13CNSmlCmdsBase10DoMetInfLCERP19sml_metinf_metinf_s @ 152 NONAME
+ _ZNK13CNSmlCmdsBase10MetaTypeLCEPK12sml_pcdata_s @ 153 NONAME
+ _ZNK13CNSmlCmdsBase10PcdataNewLERP12sml_pcdata_sRK6TDesC8 @ 154 NONAME
+ _ZNK13CNSmlCmdsBase10ServerAuthEv @ 155 NONAME
+ _ZNK13CNSmlCmdsBase13DoMaxObjSizeLER19sml_metinf_metinf_si @ 156 NONAME
+ _ZNK13CNSmlCmdsBase15StatusContainerEv @ 157 NONAME
+ _ZNK13CNSmlCmdsBase16MetaTypeInUtf8LCEPK12sml_pcdata_s @ 158 NONAME
+ _ZNK13CNSmlCmdsBase16ResultsContainerEv @ 159 NONAME
+ _ZNK13CNSmlCmdsBase16ServerMaxObjSizeEPK12sml_pcdata_s @ 160 NONAME
+ _ZNK13CNSmlCmdsBase16ServerObjectSizeEPK12sml_pcdata_s @ 161 NONAME
+ _ZNK13CNSmlCmdsBase17PCDATAToUnicodeLCERK12sml_pcdata_sRP7HBufC16 @ 162 NONAME
+ _ZNK13CNSmlCmdsBase17SourceIsUnderItemEPK15sml_item_list_s @ 163 NONAME
+ _ZNK13CNSmlCmdsBase17TargetIsUnderItemEPK15sml_item_list_s @ 164 NONAME
+ _ZNK13CNSmlCmdsBase18MetaFormatInUtf8LCEPK12sml_pcdata_s @ 165 NONAME
+ _ZNK13CNSmlCmdsBase18ResponseControllerEv @ 166 NONAME
+ _ZNK13CNSmlCmdsBase19EndOfServerMessageLEv @ 167 NONAME
+ _ZNK13CNSmlCmdsBase21TrimRightSpaceAndNullER5TDes8 @ 168 NONAME
+ _ZNK13CNSmlCmdsBase21WriteMappingInfoToDbLEv @ 169 NONAME
+ _ZNK13CNSmlCmdsBase23WaitingLargeObjectChunkEv @ 170 NONAME
+ _ZNK13CNSmlCmdsBase7DoMetaLERP12sml_pcdata_sPK19sml_metinf_metinf_s @ 171 NONAME
+ _ZNK13CNSmlCmdsBase7RespURIEv @ 172 NONAME
+ _ZNK13CNSmlCmdsBase9AlertCodeEP11sml_alert_s @ 173 NONAME
+ _ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK6TDesC8 @ 174 NONAME
+ _ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16 @ 175 NONAME
+ _ZNK13CNSmlCmdsBase9DoSourceLERP12sml_source_sRK7TDesC16S5_ @ 176 NONAME
+ _ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK6TDesC8 @ 177 NONAME
+ _ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16 @ 178 NONAME
+ _ZNK13CNSmlCmdsBase9DoTargetLERP12sml_target_sRK7TDesC16S5_ @ 179 NONAME
+ _ZNK13CNSmlCmdsBase9IsFlagSetERKjS1_ @ 180 NONAME
+ _ZNK14CNSmlAgentBase12SaveIfNonceLERK23CNSmlResponseControlleri @ 181 NONAME
+ _ZNK14CNSmlAgentBase14CallbackCalledEv @ 182 NONAME
+ _ZNK14CNSmlAgentBase14ServerPasswordEv @ 183 NONAME
+ _ZNK14CNSmlAgentBase14ServerUserNameEv @ 184 NONAME
+ _ZNK14CNSmlAgentBase15SetServerNonceLERK7TDesC16 @ 185 NONAME
+ _ZNK14CNSmlAgentBase17ServerNonceAllocLEv @ 186 NONAME
+ _ZNK14CNSmlAgentBase9ProfileIdEv @ 187 NONAME
+ _ZNK14CNSmlPhoneInfo10PhoneDataLENS_12TPhoneIdTypeER6TDes16 @ 188 NONAME
+ _ZNK20CNSmlStatusContainer11LastEntryIDEv @ 189 NONAME
+ _ZNK21CNSmlResultsContainer10AnyResultsEv @ 190 NONAME
+ _ZNK21CNSmlResultsContainer14CurrentEntryIDEv @ 191 NONAME
+ _ZNK21CNSmlResultsContainer8StatusIDEi @ 192 NONAME
+ _ZNK23CNSmlResponseController10StatusCodeEi @ 193 NONAME
+ _ZNK23CNSmlResponseController14ResponseDetailEi @ 194 NONAME
+ _ZNK23CNSmlResponseController3CmdEi @ 195 NONAME
+ _ZNK23CNSmlResponseController4LUIDEi @ 196 NONAME
+ _ZNK23CNSmlResponseController7EntryIDEii @ 197 NONAME
+ _ZNK23CNSmlResponseController8AppIndexEi @ 198 NONAME
+ _ZNK23CNSmlResponseController8ChalTypeEi @ 199 NONAME
+ _ZNK23CNSmlResponseController8MoreDataEi @ 200 NONAME
+ _ZNK9CNSmlAuth10ChallengedEv @ 201 NONAME
+ _ZTI10TNSmlError @ 202 NONAME
+ _ZTI13CNSmlCmdsBase @ 203 NONAME
+ _ZTI14CNSmlAgentBase @ 204 NONAME
+ _ZTI14CNSmlPhoneInfo @ 205 NONAME
+ _ZTI20CNSmlStatusContainer @ 206 NONAME
+ _ZTI21CNSmlResultsContainer @ 207 NONAME
+ _ZTI23CNSmlResponseController @ 208 NONAME
+ _ZTI8CNSmlURI @ 209 NONAME
+ _ZTI9CNSmlAuth @ 210 NONAME
+ _ZTV10TNSmlError @ 211 NONAME
+ _ZTV13CNSmlCmdsBase @ 212 NONAME
+ _ZTV14CNSmlAgentBase @ 213 NONAME
+ _ZTV14CNSmlPhoneInfo @ 214 NONAME
+ _ZTV20CNSmlStatusContainer @ 215 NONAME
+ _ZTV21CNSmlResultsContainer @ 216 NONAME
+ _ZTV23CNSmlResponseController @ 217 NONAME
+ _ZTV8CNSmlURI @ 218 NONAME
+ _ZTV9CNSmlAuth @ 219 NONAME
+ _ZThn28_N14CNSmlAgentBase14smlAddCmdFuncLEP13sml_generic_s @ 220 NONAME
+ _ZThn28_N14CNSmlAgentBase14smlMapCmdFuncLEP9sml_map_s @ 221 NONAME
+ _ZThn28_N14CNSmlAgentBase15smlCopyCmdFuncLEP13sml_generic_s @ 222 NONAME
+ _ZThn28_N14CNSmlAgentBase15smlExecCmdFuncLEP10sml_exec_s @ 223 NONAME
+ _ZThn28_N14CNSmlAgentBase15smlMoveCmdFuncLEP13sml_generic_s @ 224 NONAME
+ _ZThn28_N14CNSmlAgentBase17smlDeleteCmdFuncLEP13sml_generic_s @ 225 NONAME
+ _ZThn28_N14CNSmlAgentBase17smlSearchCmdFuncLEP12sml_search_s @ 226 NONAME
+ _ZThn28_N14CNSmlAgentBase18smlReplaceCmdFuncLEP13sml_generic_s @ 227 NONAME
--- a/syncmlfw/common/syncagent/inc/NSmlStatusContainer.h Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/common/syncagent/inc/NSmlStatusContainer.h Thu Aug 19 10:44:50 2010 +0300
@@ -70,6 +70,11 @@
//
TBool AnyOtherThanOkSyncHdrStatus() const;
+ // Populates the Item structure
+ IMPORT_C void FillItemDataL( SmlItem_t*& aItem );
+ // Retrieve the Status element bearing the ID provided
+ IMPORT_C SmlStatus_t* StatusItem( TInt aStatusID );
+
private:
void ConstructL( TBool aClearText);
CNSmlStatusContainer();
--- a/syncmlfw/common/syncagent/src/nsmlstatuscontainer.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/common/syncagent/src/nsmlstatuscontainer.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -25,6 +25,9 @@
#include "nsmlerror.h"
#include "smlmetinfdtd.h"
+// CONSTANTS
+_LIT8(KDbPersonal, "100000" );
+
// ---------------------------------------------------------
// CNSmlStatusContainer::CNSmlStatusContainer
// Constructor, nothing special in here.
@@ -220,32 +223,28 @@
{
TPtrC8 sourcePath( (TUint8*) (*iStatusArray)[aEntryID-1].status->targetRefList->targetRef->content, (*iStatusArray)[aEntryID-1].status->targetRefList->targetRef->length );
- SmlSource_t* source = new( ELeave ) SmlSource_t;
- source->locURI = new( ELeave ) SmlPcdata_t;
- source->locURI->SetDataL( sourcePath );
- source->locURI->contentType = SML_PCDATA_OPAQUE;
- source->locURI->extension = SML_EXT_UNDEFINED;
- source->locName = NULL;
+ (*iStatusArray)[aEntryID-1].status->itemList = new ( ELeave ) SmlItemList_t;
+ (*iStatusArray)[aEntryID-1].status->itemList->item = new( ELeave ) SmlItem_t;
+
+ (*iStatusArray)[aEntryID-1].status->itemList->item->source = new( ELeave ) SmlSource_t;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->source->locURI = new( ELeave ) SmlPcdata_t;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->source->locURI->SetDataL( sourcePath );
+ (*iStatusArray)[aEntryID-1].status->itemList->item->source->locURI->contentType = SML_PCDATA_OPAQUE;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->source->locURI->extension = SML_EXT_UNDEFINED;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->source->locName = NULL;
- SmlTarget_t* target = new( ELeave ) SmlTarget_t;
- target->locURI = new( ELeave ) SmlPcdata_t;
- target->locURI->SetDataL( targetPath );
- target->locURI->contentType = SML_PCDATA_OPAQUE;
- target->locURI->extension = SML_EXT_UNDEFINED;
- target->locName = NULL;
- AddSourceRefL( aEntryID, source );
-
- SmlTargetRefList_t** targetRefList;
- targetRefList = &(*iStatusArray)[aEntryID-1].status->targetRefList;
- while( *targetRefList )
- {
- if ((*targetRefList)->next == NULL )
- break;
- targetRefList = &(*targetRefList)->next;
- }
- *targetRefList = new( ELeave ) SmlTargetRefList_t;
- CreateTargetRefL( target, (*targetRefList)->targetRef );
-
+ _LIT8( KNSmlNull, "null" );
+ if(targetPath.Compare( KNSmlNull )!= 0)
+ {
+ (*iStatusArray)[aEntryID-1].status->itemList->item->target = new( ELeave ) SmlTarget_t;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->target->locURI = new( ELeave ) SmlPcdata_t;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->target->locURI->SetDataL( targetPath );
+ (*iStatusArray)[aEntryID-1].status->itemList->item->target->locURI->contentType = SML_PCDATA_OPAQUE;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->target->locURI->extension = SML_EXT_UNDEFINED;
+ (*iStatusArray)[aEntryID-1].status->itemList->item->target->locName = NULL;
+ }
+ (*iStatusArray)[aEntryID-1].status->targetRefList = NULL;
+
_LIT8(KNullString, "");
result = cenrep->Set( KNSmlDMSCOMOTargetRef, KNullString );
}
@@ -254,6 +253,8 @@
}
}
+ // TargertUri Fix Ends
+
CleanupStack::PopAndDestroy(); //statusCode
}
}
@@ -536,6 +537,44 @@
return statusPresents;
}
// ---------------------------------------------------------
+// CNSmlStatusContainer::FillItemDataL()
+// Populates the Item structure
+// ---------------------------------------------------------
+EXPORT_C void CNSmlStatusContainer::FillItemDataL( SmlItem_t*& aItem )
+ {
+ //Source
+ aItem->source = new( ELeave ) SmlSource_t;
+ SmlPcdata_t* srcdata = new( ELeave ) SmlPcdata_t;
+ srcdata->SetDataL( KDbPersonal );
+ srcdata->contentType = SML_PCDATA_OPAQUE;
+ srcdata->extension = SML_EXT_UNDEFINED;
+ CopyPcdataL( srcdata, aItem->source->locURI );
+
+ // Source Parent
+ aItem->sourceParent = new( ELeave ) SmlSourceParent_t;
+ SmlPcdata_t* srcprntdata = new( ELeave ) SmlPcdata_t;
+ srcprntdata->SetDataL( _L8("/") );
+ srcprntdata->contentType = SML_PCDATA_OPAQUE;
+ srcprntdata->extension = SML_EXT_UNDEFINED;
+ CopyPcdataL( srcprntdata, aItem->sourceParent->locURI );
+ }
+// ---------------------------------------------------------
+// CNSmlStatusContainer::StatusItem()
+// Retrieve the Status element bearing the ID provided
+// ---------------------------------------------------------
+EXPORT_C SmlStatus_t* CNSmlStatusContainer::StatusItem( TInt aStatusID )
+ {
+
+ if( ( iStatusArray ) &&
+ ( iStatusArray->Count() <= aStatusID ) )
+ {
+
+ return (*iStatusArray)[aStatusID-1].status;
+ }
+
+ return NULL;
+ }
+// ---------------------------------------------------------
// CNSmlStatusContainer::CreatePcdataL()
// Creates Pcdata
// Created element is not pushed to Cleanup stack
Binary file syncmlfw/conf/datasync.confml has changed
Binary file syncmlfw/conf/datasync_2000CF7E.crml has changed
Binary file syncmlfw/conf/devman.confml has changed
Binary file syncmlfw/conf/devman_101F9A0A.crml has changed
--- a/syncmlfw/dm/adapters/inc/nsmldmimpluids.h Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/dm/adapters/inc/nsmldmimpluids.h Thu Aug 19 10:44:50 2010 +0300
@@ -39,4 +39,5 @@
const TUint KNSmlDMFotaAdapterImplUid = 0x101F9A09;
const TUint KNSmlDMAMAdapterImplUid = 0x20021336;
const TUint KNSmlDMConnMOAdapterImplUid = 0x2001FE5F;
+const TUint KNSmlDMLawMoAdapterImplUid = 0x2002EA23;
#endif // __CNSMLDMIMPLUIDS_H__
--- a/syncmlfw/dm/settings/src/DMProfileContentHandler.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/dm/settings/src/DMProfileContentHandler.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -22,8 +22,10 @@
#include <commdb.h>
#include <nsmldebug.h>
#include <featmgr.h>
+#include <centralrepository.h>
#include "DMprofileContentHandler.h"
#include "nsmldmsettings.h"
+#include "DevManInternalCRKeys.h"
#define DES_AS_8_BIT(str) (TPtrC8((TText8*)((str).Ptr()), (str).Size()))
@@ -178,7 +180,8 @@
RemoveRSCEntryL();
TInt iapId = 0;
- for ( TInt i = 0; i < iProfileArray->Count(); i++ )
+ TInt count = iProfileArray->Count();
+ for ( TInt i = 0; i < count; i++ )
{
if(iProfileArray->At(i)->iAccessPoint)
{
@@ -210,6 +213,19 @@
CleanupStack::PopAndDestroy(); // profile
}
+ CRepository* centrep = NULL;
+ TRAPD( err, centrep = CRepository::NewL(KCRUidDeviceManagementInternalKeys));
+ if (err==KErrNone )
+ {
+ TInt num(-1);
+ TInt err = centrep->Get( KMaxFactoryDMProfileId , num );
+ if( num >= 0 )
+ err = centrep->Set( KMaxFactoryDMProfileId , (count + num ) );
+ else
+ err = centrep->Set( KMaxFactoryDMProfileId , count - 1);
+ delete centrep;
+ centrep = NULL;
+ }
_DBG_FILE("CDMProfileContentHandler::SaveProfilesL(): end");
}
// -----------------------------------------------------------------------------
--- a/syncmlfw/dm/settings/src/NSmlDMResourceProfiles.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/dm/settings/src/NSmlDMResourceProfiles.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -18,9 +18,11 @@
// INCLUDE FILES
+#include <featmgr.h>
+#include <centralrepository.h>
#include "nsmldmsettings.h"
#include "NSmlDMResourceProfile.h"
-#include <featmgr.h>
+#include "DevManInternalCRKeys.h"
const TInt KNSmlDmBluetoothType = 0x101F99F1;
// ----------------------------------------------------------
// CNSmlDMResourceProfiles implementation
@@ -77,7 +79,8 @@
{
RemoveDuplicateEntry();
RemoveObexEntryL();
- for ( TInt i = 0; i < iProfileArray->Count(); i++ )
+ TInt count = iProfileArray->Count();
+ for ( TInt i = 0; i < count ; i++ )
{
CNSmlDMProfile* profile = iSettings->CreateProfileL();
CleanupStack::PushL( profile );
@@ -85,6 +88,14 @@
profile->SaveL();
CleanupStack::PopAndDestroy(); // profile
}
+ CRepository* centrep = NULL;
+ TRAPD( err, centrep = CRepository::NewL(KCRUidDeviceManagementInternalKeys));
+ if (err==KErrNone )
+ {
+ TInt err = centrep->Set( KMaxFactoryDMProfileId , count-1 );
+ delete centrep;
+ centrep = NULL;
+ }
}
// ----------------------------------------------------------
--- a/syncmlfw/dm/syncagent/src/nsmldmcmds.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/dm/syncagent/src/nsmldmcmds.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -656,6 +656,7 @@
TPtr8 targeturi = HBufC8::NewLC ( (*aItemList[i].iTarget).Length())->Des();
targeturi.Append ( *aItemList[i].iTarget);
+ if(targeturi.Compare(KNullDesC8)!=0)
DoTargetL ( itemPtr->item->target, targeturi );
CleanupStack::PopAndDestroy(); // targeturi
--- a/syncmlfw/dm/treemodule/src/nsmldmddf.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/dm/treemodule/src/nsmldmddf.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -634,7 +634,8 @@
// FOTA
// For the FOTA adapter put the correlator to aObject instead of
// data.
- if ( iAdapterId == KNSmlDMFotaAdapterImplUid || iAdapterId == KNSmlDMAMAdapterImplUid)
+ if ( iAdapterId == KNSmlDMFotaAdapterImplUid || iAdapterId == KNSmlDMAMAdapterImplUid
+ || iAdapterId == KNSmlDMLawMoAdapterImplUid)
{
iSessionArray[iSessionId-1].ExecuteCommandL(iAdapterId,*luid,
aStatusRef,aURI,aCorrelator,aType,aLargeItem);
--- a/syncmlfw/ds/syncagent/src/nsmldsagent.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/ds/syncagent/src/nsmldsagent.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -3104,6 +3104,17 @@
}
//RD_SUSPEND_RESUME
break;
+
+ /* Implementation of CMCC PIM v3 begins*/
+ case TNSmlError::ESmlStatusDeviceFull: // 420
+ if ( FeatureManager::FeatureSupported(KFeatureIdFfTdCmccpimpromptserverfullwhenreceive420statuscodefromserver) )
+ {
+ // CMCC server full error enabled
+ iDSObserver->OnSyncMLSyncError( MSyncMLProgressObserver::ESmlFatalError, SyncMLError::KErrServerFull, 0, 0, 0);
+ error = ETrue;
+ }
+ break;
+ /* Implementation of CMCC PIM v3 ends*/
default:
error = ETrue;
--- a/syncmlfw/ds/syncagent/src/nsmldscmds.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/ds/syncagent/src/nsmldscmds.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -65,6 +65,8 @@
// CONSTANTS
_LIT8( KNSmlRoot, "/" );
static const TInt KMaxLength = 255;
+const TUid KRepositoryId = { 0x2000CF7E };
+const TInt KNsmlDsOrphanEvent = 0xB ;
// ============================ MEMBER FUNCTIONS ===============================
@@ -3618,7 +3620,9 @@
}
iItemOpened = EFalse;
-
+ SmlStatus_t* status = NULL;
+ SmlItemList_t** itemList;
+ CRepository* rep = NULL;
switch ( returnCode )
{
case KErrNone:
@@ -3654,6 +3658,57 @@
statusId = StatusDataToGenericCommandL( aCmd, aContent, aItem, TNSmlError::ESmlStatusUnsupportedMediaTypeOrFormat );
break;
+ case KErrPathNotFound:
+ // Read the Orphan Event ID from the cenrep
+ rep = CRepository::NewLC(KRepositoryId);
+ TRAPD( err, rep->Get(KNsmlDsOrphanEvent, iNewUid) );
+ DBG_ARGS(_S("read the cenrep %d %d"), err, iNewUid);
+ User::LeaveIfError(err);
+ CleanupStack::PopAndDestroy(rep);
+
+ _DBG_FILE(_S8("CNSmlDSCmds::ADD UpdateL : Invalid Parent"));
+ statusId = StatusDataToGenericCommandL( aCmd, aContent, aItem, TNSmlError::ESmlStatusMovedPermanently );
+ DBG_ARGS(_S("Invalid parent: statusid %d"), statusId);
+ status = iStatusToServer->StatusItem( statusId );
+ DBG_ARGS(_S("Invalid parent: status %d"), status);
+ if( status )
+ {
+ SmlItemList_t* newItemList = new( ELeave ) SmlItemList_t;
+ _DBG_FILE(_S8("CNSmlDSCmds::ADD UpdateL : creating a new item"));
+ newItemList->item = new( ELeave ) SmlItem_t;
+ _DBG_FILE(_S8("CNSmlDSCmds::ADD UpdateL : creating a new data"));
+ iStatusToServer->FillItemDataL( newItemList->item );
+ _DBG_FILE(_S8("CNSmlDSCmds::ADD UpdateL : updating"));
+
+ itemList = &(status->itemList);
+ while ( *itemList )
+ {
+ itemList = &(*itemList)->next;
+ }
+ *itemList = newItemList;
+ _DBG_FILE(_S8("CNSmlDSCmds::ADD UpdateL : updated"));
+ }
+ if ( !iBatchModeOn )
+ {
+ iDSContent.IncreaseServerItemsAdded();
+ clientModifications.iNumAdded = 1;
+
+ if ( !iAtomicModeOn )
+ {
+ iDSContent.CreateNewMapItemL( iNewUid, aUID, 0 );
+ }
+ else
+ {
+ iDSContent.CreateNewMapItemL( iNewUid, aUID, iAtomicId );
+ }
+ }
+ else
+ {
+ clientModifications.iNumAdded = 1;
+ iBatchBuffer->SetStatusEntryId( statusId );
+ }
+ break;
+
default:
statusId = StatusDataToGenericCommandL( aCmd, aContent, aItem, TNSmlError::ESmlStatusCommandFailed );
break;
@@ -3811,6 +3866,11 @@
statusId = StatusDataToGenericCommandL( aCmd, aContent, aItem, TNSmlError::ESmlStatusUnsupportedMediaTypeOrFormat );
break;
+ case KErrPathNotFound:
+ _DBG_FILE(_S8("CNSmlDSCmds:: REPLACE UpdateL : Invalid Parent"));
+ statusId = StatusDataToGenericCommandL( aCmd, aContent, aItem, TNSmlError::ESmlStatusMovedPermanently );
+ break;
+
default:
statusId = StatusDataToGenericCommandL( aCmd, aContent, aItem, TNSmlError::ESmlStatusCommandFailed );
break;
--- a/syncmlfw/syncmlnotifier/src/SyncMLDlgNotifier.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/syncmlnotifier/src/SyncMLDlgNotifier.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -168,16 +168,6 @@
{
User::Leave( KErrInUse );
}
-
- if ( AutoLockOnL() )
- {
- // The phone is locked, access denied.
- // Write results back to caller and complete message.
- aMessage.Complete( KErrLocked );
- iNeedToCompleteMessage = EFalse;
- return;
- }
-
iMessage = aMessage;
iNeedToCompleteMessage = ETrue;
iReplySlot = aReplySlot;
--- a/syncmlfw/syncmlnotifier/src/SyncMLTimedInputTextQuery.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/syncmlfw/syncmlnotifier/src/SyncMLTimedInputTextQuery.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -153,38 +153,43 @@
// CSyncMLTimedInputTextQuery::HandleQueryEditorStateEventL
// -----------------------------------------------------------------------------
//
-TBool CSyncMLTimedInputTextQuery::HandleQueryEditorStateEventL(CAknQueryControl* aQueryControl, TQueryControlEvent aEventType, TQueryValidationStatus aStatus)
+TBool CSyncMLTimedInputTextQuery::HandleQueryEditorStateEventL(
+ CAknQueryControl* aQueryControl, TQueryControlEvent aEventType,
+ TQueryValidationStatus aStatus )
{
- if ( aQueryControl )
- {
- if( EPhoneLayout == aQueryControl->QueryType() )
- {
- if (aEventType == EEmergencyCallAttempted)
- {
- TryExitL(EEikBidCancel);
- }
- else
- {
-
- TBuf<KSyncMLMaxDefaultResponseMsgLength> PhoneNo;
- aQueryControl->GetText( PhoneNo );
- TInt posplus = PhoneNo.LocateReverse('+');
- if(posplus==0 || posplus==KErrNotFound )
- {
- CAknQueryDialog::HandleQueryEditorStateEventL(aQueryControl,aEventType,aStatus);
- }
- else
- {
- MakeLeftSoftkeyVisible(EFalse);
- }
- }
- }
- }
- else //For all other layouts
- {
- CAknQueryDialog::HandleQueryEditorStateEventL(aQueryControl,aEventType,aStatus);
- }
- return EFalse;
- }
+ if (aQueryControl)
+ {
+ if (EPhoneLayout == aQueryControl->QueryType())
+ {
+ if (aEventType == EEmergencyCallAttempted)
+ {
+ TryExitL(EEikBidCancel);
+ }
+ else
+ {
+
+ TBuf<KSyncMLMaxDefaultResponseMsgLength> PhoneNo;
+ aQueryControl->GetText(PhoneNo);
+ TInt posplus = PhoneNo.LocateReverse('+');
+ if (posplus == 0 || posplus == KErrNotFound)
+ {
+ CAknQueryDialog::HandleQueryEditorStateEventL(
+ aQueryControl, aEventType, aStatus);
+ }
+ else
+ {
+ MakeLeftSoftkeyVisible(EFalse);
+ }
+ }
+ }
+
+ else //For all other layouts
+ {
+ CAknQueryDialog::HandleQueryEditorStateEventL(aQueryControl,
+ aEventType, aStatus);
+ }
+ }
+ return EFalse;
+ }
// End of File
--- a/terminalsecurity/SCP/SCPClient/data/SCPNotifier.rss Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/data/SCPNotifier.rss Thu Aug 19 10:44:50 2010 +0300
@@ -109,5 +109,29 @@
{
buf = qtn_set_sec_code_setting_query_server;
}
+
+RESOURCE TBUF r_scp_lawmo_locked
+ {
+ buf = qtn_device_locked_remotely;
+ }
+
+RESOURCE DIALOG r_dialog_warning
+{
+ flags = EAknWarningNoteFlags | EEikDialogFlagWait;
+ buttons = R_AVKON_SOFTKEYS_EMPTY;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtNote;
+ id = EGeneralNote;
+ control = AVKON_NOTE
+ {
+ layout = EGeneralLayout;
+ animation = R_QGN_NOTE_WARNING_ANIM;
+ };
+ }
+ };
+}
// end of file
--- a/terminalsecurity/SCP/SCPClient/group/SCPClient.mmp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/group/SCPClient.mmp Thu Aug 19 10:44:50 2010 +0300
@@ -66,6 +66,7 @@
LIBRARY centralrepository.lib // CenRep
LIBRARY aknnotify.lib
LIBRARY estor.lib
+LIBRARY apgrfx.lib
SMPSAFE
--- a/terminalsecurity/SCP/SCPClient/inc/SCPQueryDialog.h Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/inc/SCPQueryDialog.h Thu Aug 19 10:44:50 2010 +0300
@@ -137,6 +137,7 @@
TInt iKeyUsed;
CSCPLockObserver* iDeviceLockStatusObserver;
CSCPLockObserver* iCallStatusObserver;
+ TBool iLockedByLawMo;
};
#endif
--- a/terminalsecurity/SCP/SCPClient/loc/SCPNotifier.loc Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/loc/SCPNotifier.loc Thu Aug 19 10:44:50 2010 +0300
@@ -41,6 +41,8 @@
//l: popup_info_list_pane_t2/opt1
//r: 5.2
#define qtn_set_sec_code_setting_query_server "Lock Code has not been set. Please set the Lock Code."
-
+//d: The text informing user that phone is locked by an Operator server
+//l: popup_query_data_window
+#define qtn_device_locked_remotely "Locked by %U"
// End of File
--- a/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -19,8 +19,10 @@
// INCLUDE FILES
#include <e32svr.h>
+#include <bautils.h>
#include <e32math.h>
#include <e32uid.h>
+#include <barsc.h>
#include <AknGlobalNote.h>
#include <aknnotewrappers.h>
#include <AknQueryDialog.h>
@@ -39,14 +41,22 @@
#include <TerminalControl3rdPartyAPI.h>
#include <SCPServerInterface.h>
#include <SecUi.rsg>
+#include <scptimestamppluginlang.rsg>
#include <secui.hrh>
#include <StringLoader.h>
#include <bautils.h>
//#endif // DEVICE_LOCK_ENHANCEMENTS
+#include <DevManInternalCRKeys.h>
#include <featmgr.h>
#include "SCPDebug.h"
#include <e32property.h>
+#include <SCPPServerPluginDefs.hrh>
+#include <apgtask.h>
+#include <e32property.h>
+#include <PSVariables.h>
+#include <coreapplicationuisdomainpskeys.h>
+
/*#ifdef _DEBUG
#define __SCP_DEBUG
#endif // _DEBUG
@@ -63,12 +73,13 @@
static const TUint KDefaultMessageSlots = 3;
static const TInt KSCPConnectRetries( 2 );
-
+const TInt KLockedbyLawmo (30);
//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS
_LIT( KDriveZ, "Z:" );
_LIT( KSCPResourceFilename, "\\Resource\\SCPNotifier.RSC" );
_LIT( KSCPSecUIResourceFilename, "\\Resource\\SecUi.RSC" );
+_LIT( KSCPTimestampPluginResFilename, "\\Resource\\SCPTimestampPluginLang.rsc");
//#endif // __SAP_DEVICE_LOCK_ENHANCEMENTS
// Uid for the application; this should match the mmp file
@@ -187,7 +198,7 @@
TUint aResId = 0,
TDesC* aPrompt = NULL,
TBool aECSSupport = EFalse,
- CSCPQueryDialog :: TKeypadContext aContext = CSCPQueryDialog :: EContextSensitive
+ CSCPQueryDialog :: TKeypadContext aContext = CSCPQueryDialog :: ENumeric
)
{
Dprint(_L("[RSCPClient]-> RunDialogL() >>> "));
@@ -465,13 +476,76 @@
EXPORT_C TInt RSCPClient::SetPhoneLock( TBool aLocked )
{
Dprint( (_L("--> RSCPClient::SetPhoneLock( %d)"), aLocked ));
-
+ TInt autolockState = -1;
+ RProperty aProperty;
+ aProperty.Get(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, autolockState);
+ Dprint( (_L("RSCPClient::SetPhoneLock()Autolock state before %d"), autolockState ));
+
+ if((aLocked==0)&&(autolockState != EAutolockStatusUninitialized))
+ InformAutolockTask();
+ Dprint( (_L("RSCPClient sendreceive") ));
TInt ret = SendReceive(ESCPServSetPhoneLock, TIpcArgs( aLocked ) );
-
+ Dprint( (_L("RSCPClient sendreceive done") ));
+ aProperty.Get(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, autolockState);
+ Dprint( (_L("RSCPClient::SetPhoneLock()Autolock state after %d"), autolockState ));
+ // Put it here because, we cant change autolock status before sendreceive
+ // Uninitialised state is Only at Bootup.
+ if((autolockState == EAutolockStatusUninitialized)&&(aLocked==0)&&(ret==KErrNone))
+ {
+ Dprint( (_L("RSCPClient::SetPhoneLock()setting autolock status") ));
+ aProperty.Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockOff);
+ // This is startup and we are done with ISA unlock
+ // So set the Startup cenrep key so tht it is used in SeccodeQuery
+ CRepository* lRepository = NULL;
+ TInt returnv;
+ TRAP(returnv, lRepository = CRepository :: NewL(KCRUidSCPLockCode));
+ returnv = lRepository->Set(KSCPStartupQuery, 1);
+ if(returnv==KErrNone)
+ Dprint( (_L("RSCPClient::SetPhoneLock()setting KSCPStartupQuery") ));
+ delete lRepository;
+ }
Dprint( (_L("<-- RSCPClient::SetPhoneLock(): %d"), ret ));
return ret;
}
+void RSCPClient::InformAutolockTask()
+ {
+ Dprint( (_L("RSCPClient::InformAutolockTask") ));
+ // Deactivation call, send the deactivation message to Autolock
+ RWsSession wsSession;
+ if ( wsSession.Connect() != KErrNone )
+ {
+ Dprint( (_L("RSCPClient::InformAutolockTask():\
+ WsSession connection failed") ));
+ User::Leave( KErrGeneral );
+ }
+ CleanupClosePushL( wsSession );
+
+ TApaTaskList taskList( wsSession );
+ TApaTask task = taskList.FindApp( TUid::Uid( 0x100059B5 ) ); // Autolock
+
+ if ( task.Exists() )
+ {
+ Dprint( (_L("RSCPClient::InformAutolockTask():\
+ Autolock task found, sending msg") ));
+ // No parameters, just a dummy buffer
+ TBuf8<8> buf;
+ buf.Zero();
+ const TPtrC8& message = buf;
+ User::LeaveIfError(
+ task.SendMessage( TUid::Uid( SCP_CMDUID_UNLOCK+1 ), message )
+ );
+ }
+ else
+ {
+ Dprint( (_L("RSCPClient::InformAutolockTask():\
+ Autolock task not found") ));
+ User::Leave( KErrNotFound );
+ }
+
+ CleanupStack::PopAndDestroy(); // wsSession
+ }
+
// ---------------------------------------------------------
// TBool RSCPClient::QueryAdminCmd( TSCPAdminCommand aCommand )
// Packs the command parameter into a buffer, and propagates
@@ -586,6 +660,23 @@
}
Dprint((_L("<-- RSCPClient::SecCodeQuery(): lStatus= %d, lErr= %d"), lStatus, lErr));
+ CRepository* lRepository = NULL;
+ TInt startup = 0;
+ TInt returnv;
+ TRAP(returnv, lRepository = CRepository :: NewL(KCRUidSCPLockCode));
+ returnv = lRepository->Get(KSCPStartupQuery, startup);
+ if(returnv == KErrNone)
+ Dprint( (_L("RSCPClient::SecCodeQuery()KSCPStartupQuery get done")));
+ lRepository->Set(KSCPStartupQuery, 0);
+ delete lRepository;
+ Dprint((_L("RSCPClient::SecCodeQuery(): startup ? %d"), startup ));
+ //Check if this is Startup Query and tht device is remote unlocked now ?
+ if(startup)
+ {
+ Dprint((_L("[RSCPClient] SecCodeQuery() startup remote Unlocked")));
+ return KErrNone;
+ }
+ else
return (lErr != KErrNone) ? lErr : lStatus;
}
@@ -761,6 +852,7 @@
return ret;
}
EXPORT_C TInt RSCPClient :: PerformCleanupL(RArray<TUid>& aAppIDs) {
+ Dprint((_L("RSCPClient::PerformCleanupL() >>>")));
TInt lCount = aAppIDs.Count();
if(lCount < 1) {
@@ -779,6 +871,7 @@
lWriteStream.CommitL();
TInt lStatus = SendReceive(ESCPApplicationUninstalled, TIpcArgs(ESCPApplicationUninstalled, &lBuff->Des()));
CleanupStack :: PopAndDestroy(2); // lBuff, lWriteStream
+ Dprint((_L("RSCPClient::PerformCleanupL() <<<")));
return lStatus;
}
// ---------------------------------------------------------
@@ -898,16 +991,15 @@
maxLen,
R_SECUI_TEXT_ENTER_NEW_SEC_CODE,
NULL,
- ecSupport,
- CSCPQueryDialog :: EAlphaNumeric) );
+ ecSupport) );
if ( ( ret ) && ( ret != ESecUiEmergencyCall ) && ( err == KErrNone ) )
{
verifyCodeBuffer.Zero();
- TChar ch = static_cast<TChar>(newCodeBuffer[0]);
-
- CSCPQueryDialog :: TKeypadContext lKPContext =
- (ch.IsDigit() ? CSCPQueryDialog :: ENumeric : CSCPQueryDialog :: EAlphaNumeric);
+ /*TChar ch = static_cast<TChar>(newCodeBuffer[0]);
+
+ CSCPQueryDialog :: TKeypadContext lKPContext =
+ (ch.IsDigit() ? CSCPQueryDialog :: ENumeric : CSCPQueryDialog :: EAlphaNumeric);*/
TRAP( err, ret = RunDialogL( verifyCodeBuffer,
bConfig,
@@ -915,8 +1007,7 @@
maxLen,
R_SECUI_TEXT_VERIFY_NEW_SEC_CODE,
NULL,
- ecSupport,
- lKPContext));
+ ecSupport));
}
if ( ( !ret ) || ( err != KErrNone ) || ( ret == ESecUiEmergencyCall ) )
@@ -1070,8 +1161,28 @@
codeBuf.Zero();
ret = theParams->Get( KSCPParamPassword, codeBuf );
+
if ( ret == KErrNone )
{
+ TInt lResFile = 0;
+ TFileName resFile;
+ resFile.Copy( KDriveZ );
+ resFile.Append( KSCPTimestampPluginResFilename );
+ BaflUtils :: NearestLanguageFile( CCoeEnv :: Static()->FsSession(), resFile );
+ lResFile = CCoeEnv :: Static()->AddResourceFileL(resFile);
+
+ CAknNoteDialog* lNoteDlg = new (ELeave) CAknNoteDialog(CAknNoteDialog :: ENoTone, CAknNoteDialog :: ELongTimeout);
+ CleanupStack :: PushL(lNoteDlg);
+
+ HBufC* lExpNoteMsg = CEikonEnv :: Static()->AllocReadResourceLC(R_SET_SEC_CODE_AGING);
+ lNoteDlg->SetTextL(lExpNoteMsg->Des());
+
+ lNoteDlg->ExecuteLD(R_DIALOG_WARNING);
+ CleanupStack :: PopAndDestroy(1); //lExpNoteMsg
+ CleanupStack :: Pop(1); //lNoteDlg
+
+ CCoeEnv :: Static()->DeleteResourceFile( lResFile );
+
TSCPSecCode newDOSCode;
ret = GetNewCodeAndChange( codeBuf, KSCPForcedChange, &newDOSCode );
@@ -1233,13 +1344,55 @@
CleanupStack :: PopAndDestroy(lRepository);
return lRet;
}
-
+ TInt currentLawmoState(0);
+ Dprint( (_L("CSCPClient::lawmo cenrep") ));
+ CRepository* crep = CRepository::NewLC( KCRUidDeviceManagementInternalKeys );
+ TInt reterr = crep->Get( KLAWMOPhoneLock, currentLawmoState );
+ Dprint( (_L("CSCPClient::lawmo cenrep done") ));
+ if(reterr != KErrNone)
+ {
+ Dprint(_L("[RSCPClient]-> ERROR: Unable to perform get on CenRep lawmo, lErr=%d"), lRet);
+ CleanupStack :: PopAndDestroy(crep);
+ return reterr;
+ }
HBufC* codeHBuf = HBufC :: NewLC(KSCPPasscodeMaxLength + 1);
HBufC8* addParamsHBuf = HBufC8 :: NewLC(KSCPMaxTARMNotifParamLen);
TPtr codeBuffer = codeHBuf->Des();
TPtr8 addParams = addParamsHBuf->Des();
+ if(currentLawmoState!=KLockedbyLawmo)
+ {
+ // rundialog with a new resource file
+ Dprint((_L("[RSCPClient]-> lawmo current state !=30")));
+ TBuf<255> serverId;
+ serverId.Zero();
+ reterr = crep->Get( KLAWMOfactoryDmServerName, serverId );
+ Dprint( (_L("RSCPClient::SetSecurityCode serverid: %s"), serverId.PtrZ() ));
+ HBufC* prompt = StringLoader::LoadLC(R_SCP_LAWMO_LOCKED, serverId);
+ Dprint( (_L("RSCPClient::SetSecurityCode stringval: %s"), (prompt->Des()).PtrZ() ));
- if(lDefCode == 0) {
+ lRet = RunDialogL(codeBuffer, aButtonsShown, KSCPPasscodeMinLength, KSCPPasscodeMaxLength,
+ 0, prompt, aECSSupport);
+ if((lRet) && (lRet != ESecUiEmergencyCall) && (lRet != EAknSoftkeyEmergencyCall))
+ {
+ Dprint(_L("[RSCPClient]-> INFO: LL User has updated the lock code..."));
+
+ lRet = SendReceive( ESCPServAuthenticateS60, TIpcArgs( &codeBuffer, &aPassword, &addParams, aFlags));
+
+ Dprint((_L("[RSCPClient]-> INFO: LL addParams.Length()=%d")), addParams.Length());
+ Dprint((_L("[RSCPClient]-> INFO: LL lRet=%d")), lRet);
+ }
+ else
+ {
+ switch(lRet)
+ {
+ case 0:
+ lRet = KErrCancel;
+ break;
+ }
+ }
+ CleanupStack::PopAndDestroy(1);
+ }
+ else if(lDefCode == 0) {
Dprint(_L("[RSCPClient]-> INFO: Default lock code has been set already by the user..."));
lRet = RunDialogL(codeBuffer, aButtonsShown, KSCPPasscodeMinLength, KSCPPasscodeMaxLength,
@@ -1353,7 +1506,13 @@
if(lTempRet == KErrNone) {
CSCPParamObject* outParams = NULL;
- ProcessServerCommandsL(addParams, &outParams);
+ /*
+ * aECSSupport when passed to ProcessServerCommandsL decides if the expiry note and subsequently change device lock
+ * code has to be shown or not. Normally if the lock code has expired, the same has to be prompted from the user and
+ * has to be done only during device unlock. aECSSupport value is being passed to ensure that new lock code is prompted
+ * only during device unlock.
+ */
+ ProcessServerCommandsL(addParams, &outParams, !aECSSupport);
if(outParams != NULL) {
TSCPSecCode newSecCode;
@@ -1369,7 +1528,7 @@
CleanupStack :: PopAndDestroy(tmp);
}
- CleanupStack :: PopAndDestroy(3); // repository, addParamsHBuf, codeHBuf
+ CleanupStack :: PopAndDestroy(4); // repository * 2, addParamsHBuf, codeHBuf
Dprint(_L("[RSCPClient]-> SetSecurityCodeL() <<< lRet=%d"), lRet);
return lRet;
}
--- a/terminalsecurity/SCP/SCPClient/src/SCPLockObserver.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/src/SCPLockObserver.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -170,6 +170,12 @@
iDialog->TryCancelQueryL(ESecUiDeviceLocked);
iSubscribedToEvent = EFalse;
}
+ else if((autolockState == EAutolockOff)||(autolockState == EAutolockStatusUninitialized))
+ {
+ Dprint(_L("CSCPLockObserver::RunL() TryCancelQueryL Device UnLocked"));
+ iDialog->TryCancelQueryL(ESecUiNone);
+ iSubscribedToEvent = EFalse;
+ }
break;
case ESecUiCallStateObserver: {
TInt callState;
--- a/terminalsecurity/SCP/SCPClient/src/SCPQueryDialog.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/src/SCPQueryDialog.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -33,6 +33,7 @@
#include <e32property.h>
#include <ctsydomainpskeys.h>
#include "SCPCodePrivateCRKeys.h"
+#include <DevManInternalCRKeys.h>
#include <featmgr.h>
/*#ifdef _DEBUG
@@ -50,7 +51,7 @@
#endif // _DEBUG*/
const TInt KSCPSpecialDeleteEvent( 63529 );
-
+const TInt KLockedbyLawmo (30);
// ================= MEMBER FUNCTIONS =======================
//
// ----------------------------------------------------------
@@ -77,6 +78,7 @@
iPreviousCharacterWasInvalid( EFalse ),
iPrioritySet( EFalse ),
iPriorityDropped( EFalse ),
+ iLockedByLawMo( EFalse ),
iKeyUsed ( NULL ),
iContextSensitive(aContextSensitive)
{
@@ -336,6 +338,28 @@
static_cast<CAknAppUi*>(iEikonEnv->EikAppUi())->KeySounds()->LockContext();
iFront = ETrue;
+ TInt currentLawmoState(0);
+ Dprint( (_L("CSCPQueryDialog::lawmo cenrep") ));
+ CRepository* crep = CRepository::NewLC( KCRUidDeviceManagementInternalKeys );
+ TInt reterr = crep->Get( KLAWMOPhoneLock, currentLawmoState );
+ Dprint( (_L("CSCPQueryDialog::lawmo cenrep done") ));
+
+ if(reterr != KErrNone)
+ {
+ Dprint(_L("[RSCPClient]-> ERROR: Unable to perform get on CenRep lawmo, lErr=%d"), reterr);
+ CleanupStack :: PopAndDestroy(crep);
+ return;
+ }
+
+ if(currentLawmoState!=KLockedbyLawmo)
+ {
+ // Hide the OK key
+ Dprint( (_L("CSCPQueryDialog::lawmo state !=30, dim key") ));
+ iLockedByLawMo = ETrue;
+ ButtonGroupContainer().MakeCommandVisible( EAknSoftkeyOk, ETrue );
+ ButtonGroupContainer().DimCommand(EAknSoftkeyOk, ETrue);
+ }
+ CleanupStack::PopAndDestroy();
}
//
// ---------------------------------------------------------
@@ -630,6 +654,11 @@
ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk);
}
TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0,EAknSoftkeyOk,*cbaLabel) );
+ if(iLockedByLawMo)
+ {
+ ButtonGroupContainer().MakeCommandVisible( EAknSoftkeyOk, ETrue );
+ ButtonGroupContainer().DimCommand(EAknSoftkeyOk, ETrue);
+ }
ButtonGroupContainer().DrawDeferred();
delete cbaLabel;
}
@@ -647,6 +676,13 @@
else
{
return CAknTextQueryDialog::OfferKeyEventL(aKeyEvent,aType);
+ }
+
+ if(iLockedByLawMo)
+ {
+ Dprint( (_L("dim key hit 2") ));
+ ButtonGroupContainer().MakeCommandVisible( EAknSoftkeyOk, ETrue );
+ ButtonGroupContainer().DimCommand(EAknSoftkeyOk, ETrue);
}
}
//
@@ -765,6 +801,11 @@
ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk);
}
TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0, EAknSoftkeyOk, *cbaLabel) );
+ if(iLockedByLawMo)
+ {
+ ButtonGroupContainer().MakeCommandVisible( EAknSoftkeyOk, ETrue );
+ ButtonGroupContainer().DimCommand(EAknSoftkeyOk, ETrue);
+ }
ButtonGroupContainer().DrawDeferred();
delete cbaLabel;
}
@@ -799,7 +840,7 @@
}
void CSCPQueryDialog::TryCancelQueryL(TInt aReason) {
- Dprint( (_L("CSCPQueryDialog::TryCancelQueryL()")) );
+ Dprint( (_L("CSCPQueryDialog::TryCancelQueryL() >>>")) );
switch(aReason) {
case CSCPLockObserver :: EEnded:
@@ -828,8 +869,14 @@
Dprint(_L("[CSCPQueryDialog]-> TryExitL 4"));
TryExitL(EAknSoftkeyCancel);
break;
+ case ESecUiNone:
+ Dprint(_L("[CSCPQueryDialog]-> TryExitL 5"));
+ TryExitL(EAknSoftkeyOk);
+ break;
default:
break;
}
+
+ Dprint( (_L("CSCPQueryDialog::TryCancelQueryL() <<<")) );
}
// End of file
--- a/terminalsecurity/SCP/SCPDatabase/src/SCPParamDBController.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPDatabase/src/SCPParamDBController.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -106,6 +106,7 @@
EXPORT_C TInt CSCPParamDBController :: SetValueL(TInt aParamID, const TInt32 aValue, const TInt32 aApp) {
switch(aParamID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
case RTerminalControl3rdPartySession :: EMaxTimeout:
case RTerminalControl3rdPartySession :: EPasscodeMinLength:
case RTerminalControl3rdPartySession :: EPasscodeMaxLength:
@@ -146,6 +147,7 @@
EXPORT_C TInt CSCPParamDBController :: GetValueL(TInt aParamID, TInt32& aValue, TInt32& aApp) {
switch(aParamID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
case RTerminalControl3rdPartySession :: EMaxTimeout:
case RTerminalControl3rdPartySession :: EPasscodeMinLength:
case RTerminalControl3rdPartySession :: EPasscodeMaxLength:
@@ -190,6 +192,7 @@
EXPORT_C TInt CSCPParamDBController :: DropValuesL(TInt aParamID, const TInt32 aApp) {
switch(aParamID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
case RTerminalControl3rdPartySession :: EMaxTimeout:
case RTerminalControl3rdPartySession :: EPasscodeMinLength:
case RTerminalControl3rdPartySession :: EPasscodeMaxLength:
@@ -216,6 +219,7 @@
EXPORT_C TInt CSCPParamDBController :: DropValuesL(TInt aParamID, RPointerArray <HBufC>& aParamValues, const TInt32 aApp) {
switch(aParamID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
case RTerminalControl3rdPartySession :: EMaxTimeout:
case RTerminalControl3rdPartySession :: EPasscodeMinLength:
case RTerminalControl3rdPartySession :: EPasscodeMaxLength:
--- a/terminalsecurity/SCP/SCPServer/inc/SCPConfiguration.h Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPServer/inc/SCPConfiguration.h Thu Aug 19 10:44:50 2010 +0300
@@ -29,9 +29,8 @@
enum TSCPParamType
{
EParTypeInt = 0,
- EParTypeDesc,
- EParTypeBool
- };
+ EParTypeDesc
+ };
// LOCAL CONSTANTS
@@ -57,11 +56,10 @@
const TInt KParamIDBlockedInOOS = 7;
// ID number for the encrypted security code.
const TInt KParamIDCryptoCode = 8;
-//ID number for the boolean for the configuartion check
-const TInt KParamIDConfigChecked = 9;
+
// Total number of Param IDs
-const TInt KTotalParamIDs = 9;
+const TInt KTotalParamIDs = 8;
//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS
#define SCP_PARAMETERS_WithFlag { &iConfigFlag, \
@@ -71,9 +69,8 @@
&iFailedAttempts, \
&iBlockedAtTime, \
&iBlockedInOOS, \
- &iCryptoCode, \
- &iConfigChecked \
- };
+ &iCryptoCode \
+ };
#define SCP_PARAMIDS_WithFlag { KParamIDConfigFlag, \
KParamIDMaxTimeout, \
@@ -82,9 +79,8 @@
KParamIDFailedAttempts, \
KParamIDBlockedAtTime, \
KParamIDBlockedInOOS, \
- KParamIDCryptoCode, \
- KParamIDConfigChecked \
- };
+ KParamIDCryptoCode \
+ };
#define SCP_PARAMTYPES_WithFlag { EParTypeInt, \
EParTypeInt, \
@@ -93,9 +89,8 @@
EParTypeInt, \
EParTypeDesc, \
EParTypeInt, \
- EParTypeDesc, \
- EParTypeBool \
- };
+ EParTypeDesc\
+ };
//#else // !__SAP_DEVICE_LOCK_ENHANCEMENTS
@@ -189,10 +184,7 @@
/** The name of the main configuration file */
TFileName iConfigFileName;
TInt iBlockedInOOS;
-
- //Flag to check whether Configuration checked already
- TBool iConfigChecked;
-
+
/** A ptr to a connected RFs, not owned */
RFs* iFsSession;
--- a/terminalsecurity/SCP/SCPServer/inc/SCPServer.h Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPServer/inc/SCPServer.h Thu Aug 19 10:44:50 2010 +0300
@@ -136,7 +136,7 @@
// Only Autolock allowed for the Check configuration call
},
{
- _INIT_SECURITY_POLICY_S0( KSCPEvntHndlrUid ),
+ _INIT_SECURITY_POLICY_C1( ECapability_None ),
CPolicyServer::EFailClient
},
{
--- a/terminalsecurity/SCP/SCPServer/src/SCPConfiguration.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPServer/src/SCPConfiguration.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -155,12 +155,6 @@
break;
}
- case ( EParTypeBool ):
- {
- ret = params->Get( KParamIDs[i], *(reinterpret_cast<TBool*>( KParameters[i] )) );
- break;
- }
-
default:
// No implementation needed
break;
@@ -301,13 +295,7 @@
ret = params->Set( KParamIDs[i], *(reinterpret_cast<TDes*>( KParameters[i] )) );
break;
}
-
- case ( EParTypeBool ):
- {
- ret = params->Set( KParamIDs[i], *(reinterpret_cast<TBool*>( KParameters[i] )) );
- break;
- }
-
+
default:
// No implementation needed
break;
--- a/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -129,7 +129,7 @@
// Assign default config flag
iConfiguration.iConfigFlag = KSCPConfigUnknown;
- iConfiguration.iConfigChecked = EFalse;
+
// Assign the default codes
iConfiguration.iSecCode.Zero();
@@ -169,7 +169,7 @@
//#endif
// Assign the default max timeout
- iConfiguration.iMaxTimeout = KSCPDefaultMaxTO;
+ iConfiguration.iMaxTimeout = 0;
iConfiguration.iBlockedInOOS = 0;
// Read the configuration, overwriting the default values
@@ -186,24 +186,8 @@
}
- //If Configuration is not validated already, validate it
-
- if (!iConfiguration.iConfigChecked)
- {
- TInt valerr = KErrNone;
- TRAP( valerr, ValidateConfigurationL( KSCPComplete ));
- if (valerr != KErrNone)
- {
- Dprint( (_L("CSCPServer::ConstructL(): Configuration Validation failed: %d"), valerr ));
- }
- else
- {
- Dprint( (_L("CSCPServer::ConstructL(): Configuration Validation Passed")));
- }
- }
-
-
-
+
+
Dprint( (_L("CSCPServer::ConstructL(): Connecting to CenRep") ));
iALPeriodRep = CRepository::NewL( KCRUidSecuritySettings );
@@ -668,155 +652,91 @@
//
void CSCPServer::ValidateConfigurationL( TInt aMode )
{
- Dprint( (_L("--> CSCPServer::ValidateConfigurationL()") ));
- RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()"));
- TInt startupReason(ENormalStartup);
- RProperty::Get(KPSUidStartup, KPSStartupReason, startupReason);
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): startupReason = %d"), startupReason));
- if((startupReason == ENormalRFSReset)||(startupReason == EDeepRFSReset)||(startupReason == EFirmwareUpdate)||(iConfiguration.iConfigFlag == KSCPConfigUnknown))
- {
+ if (aMode == KSCPInitial) {
+ // Return here, must be checked by complete mode
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@@aMode == KSCPInitial "));
+ User::Leave(KErrAccessDenied);
+ }
- RMobilePhone::TMobilePassword storedCode;
+ RMobilePhone::TMobilePassword storedCode;
storedCode.Zero();
User::LeaveIfError(GetCode(storedCode));
-
-
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): Checking code: %s"), storedCode.PtrZ() ));
- // Check that the ISA code is stored correctly
- TRAPD( err, CheckISACodeL( storedCode ) );
- //Bool for the correction of Defaultlockcode cenrep
- TBool lCorrectDefaultlockcode = EFalse;
-
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): iConfigFlag = %d, iConfigChecked = %d"), iConfiguration.iConfigFlag, iConfiguration.iConfigChecked));
-
- if ((iConfiguration.iConfigFlag == KSCPConfigOK)
- && (iConfiguration.iConfigChecked) && (err == KErrNone))
- {
- // The configuration has already been checked, exit
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): Configuration is non-default.") ));
- User::Leave( KErrNone );
- }
- else if ( aMode == KSCPInitial )
- {
- // Return here, must be checked by complete mode
- User::Leave( KErrAccessDenied );
- }
-
-
- TInt hashedISAcode;
- TSCPSecCode hashedCode;
-//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS
-if(FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements))
-{
- /*TInt*/ hashedISAcode = HashISACode( iConfiguration.iEnhSecCode );
- // TSCPSecCode hashedCode;
- hashedCode.Zero();
- hashedCode.AppendNum( hashedISAcode );
-}
-//#endif // __SAP_DEVICE_LOCK_ENHANCEMENTS
-
-
+ TBool isDefaultLockcode = ETrue;
+ TInt err = KErrNone;
-
- if (err != KErrNone)
- {
- lCorrectDefaultlockcode = ETrue;
+ RMobilePhone::TMobilePassword defaultLockcode;
+ defaultLockcode.Zero();
+ defaultLockcode.Copy(KSCPDefaultSecCode);
+ if (storedCode.Compare(KSCPDefaultSecCode) == 0) {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@config has KSCPDefaultSecCode "));
+ TRAP( err, CheckISACodeL( defaultLockcode ) );
+ if (err == KErrNone) {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@ISA also has KSCPDefaultSecCode "));
+ iConfiguration.iConfigFlag = KSCPConfigOK;
+ isDefaultLockcode = ETrue;
}
- if ( err == KErrNone )
- {
- iConfiguration.iConfigFlag = KSCPConfigOK;
- }
- else if ( err == KErrAccessDenied )
- {
- iConfiguration.iConfigFlag = KSCPConfigInvalid;
- }
- else if ( err == KErrLocked )
- {
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): ISA code locked.") ));
+ else {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@ISA doesn't has KSCPDefaultSecCode "));
+ iConfiguration.iConfigFlag = KSCPConfigInvalid;
+ iConfiguration.iFailedAttempts++;
+ isDefaultLockcode = EFalse;
}
- else
- {
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): ERROR in validation.") ));
+ }
+ else {
+ RDebug::Print(_L("CSCPServer::CheckISACodeL(): config lock code %s"), storedCode.PtrZ());
+ TRAP( err, CheckISACodeL( storedCode ) );
+ if (err == KErrNone) {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@ISA and config are in SYNC !! "));
+ iConfiguration.iConfigFlag = KSCPConfigOK;
+ isDefaultLockcode = EFalse;
}
-
-//#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS
-if(FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements))
-{
- if ( err == KErrNone )
- {
- // Check that the codes are in-sync with each other. Especially the default ISA code must
- // be changed according to the default enhanced code.
- if ( storedCode.Compare( hashedCode ) != 0 )
+ else {
+ iConfiguration.iSecCode.Zero();
+ iConfiguration.iSecCode.Append(KSCPDefaultSecCode);
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@May be ISA has KSCPDefaultSecCode "));
+ TRAP(err,ChangeISACodeL(storedCode));
+ if (err == KErrNone) {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()chnaged ISA code with config value "));
+ iConfiguration.iConfigFlag = KSCPConfigOK;
+ isDefaultLockcode = EFalse;
+ }
+ else
{
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): Correct ISA code stored.\
- Changing ISA code to match enhanced code => %d"), hashedISAcode ));
-
- storedCode.Copy( hashedCode );
- // Change the ISA code to match the hashed code
- ChangeISACodeL( storedCode );
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()it shouldn't reach this :( "));
}
}
- else if ( ( err == KErrAccessDenied ) && ( storedCode.Compare( hashedCode ) != 0 ) )
- {
- // Try again with the hashed code
- TRAP( err, CheckISACodeL( hashedCode ) );
-
- if ( err == KErrNone )
- {
- Dprint( (_L("CSCPServer::ValidateConfigurationL(): Hashed code is correct.\
- Storing hashed code(%d)"), hashedISAcode ));
-
- if ( StoreCode( hashedCode ) == KErrNone )
- {
- iConfiguration.iConfigFlag = KSCPConfigOK;
- lCorrectDefaultlockcode = ETrue;
- }
- }
- }
+ }
+
+ CRepository* repository = CRepository::NewL(KCRUidSCPLockCode);
+ CleanupStack::PushL(repository);
+ if (isDefaultLockcode ) {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()setting def. lockcode to 12345 "));
+ repository->Set(KSCPLockCodeDefaultLockCode, 12345);
+ }
+ else {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()setting def. lockcode to 0 "));
+ repository->Set(KSCPLockCodeDefaultLockCode, 0);
+ }
+ CleanupStack::PopAndDestroy(repository);
- //If Correction of Defaultlockcode cenrep is required for the mismatch between Config and ISA
- if (lCorrectDefaultlockcode)
- {
- TInt lDefCode = -1;
- CRepository* lRepository = CRepository::NewL(KCRUidSCPLockCode);
- CleanupStack::PushL(lRepository);
- TInt lRet = lRepository->Get(KSCPLockCodeDefaultLockCode,
- lDefCode);
- if (lRet == KErrNone && lDefCode != -1)
- {
- if (lDefCode == 12345)
- {
- //Although lock code is already set, due to some unexpected condition
- //like C drive wipe, cenrep status is wrongly shown. Correcting it here.
- lRepository->Set(KSCPLockCodeDefaultLockCode, 0);
- Dprint( (_L("RSCPClient::ValidateConfigurationL(): Corrected the Default lock code cenrep status to 0") ));
- }
- else if (lDefCode == 0)
- {
- //If only ISA side is formatted, then the lock code on ISA side is default;
- //Cenrep status remains wrongly as the lock code is already set. Correcting it here.
- lRepository->Set(KSCPLockCodeDefaultLockCode, 12345);
- Dprint( (_L("RSCPClient::ValidateConfigurationL(): Corrected the Default lock code cenrep status to 12345") ));
- }
- }
- CleanupStack::PopAndDestroy(lRepository);
- }
- }
-//#endif // __SAP_DEVICE_LOCK_ENHANCEMENTS
- //Set the flag to True, after config is validated
- iConfiguration.iConfigChecked = ETrue;
-
- TRAPD( err2, iConfiguration.WriteSetupL() );
- if ( err2 != KErrNone )
- {
+ TRAP( err, iConfiguration.WriteSetupL() );
+ if (err != KErrNone) {
Dprint( (_L("CSCPServer::ValidateConfigurationL(): WARNING: failed to write configuration\
- : %d"), err2 ));
- }
-
- User::LeaveIfError( err );
- }
- Dprint( (_L("<-- CSCPServer::ValidateConfigurationL()") ));
+ : %d"), err ));
+ }
+
+ if (iConfiguration.iConfigFlag == KSCPConfigOK) {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@iConfigFlag == KSCPConfigOK "));
+ err = KErrNone;
}
+ else {
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()@iConfigFlag == KErrAccessDenied "));
+ err = KErrAccessDenied;
+ }
+
+ User::LeaveIfError(err);
+}
+
@@ -837,7 +757,10 @@
(void)aCode;
#endif // __WINS__
-
+
+
+Dprint( (_L("CSCPServer::CheckISACodeL(): current lock code %s"), aCode.PtrZ() ));
+RDebug::Print(_L("CSCPServer::CheckISACodeL(): current lock code %s"), aCode.PtrZ());
RMobilePhone::TMobilePhoneSecurityCode secCodeType;
secCodeType = RMobilePhone::ESecurityCodePhonePassword;
@@ -873,6 +796,7 @@
{
iConfiguration.iBlockedInOOS = 0;
Dprint( (_L("CSCPServer::CheckISACodeL():iBlockedInOOS = 0, KErrAccessDenied") ));
+ RDebug::Print(_L("--> CSCPServer::CheckISACodeL()@@iBlockedInOOS = 0, KErrAccessDenie"));
}
ret = KErrAccessDenied;
}
@@ -881,17 +805,20 @@
Dprint( (_L("CSCPServer::CheckISACodeL(): ISA code BLOCKED") ));
if (ret==KErrGsmSSPasswordAttemptsViolation)
{
- Dprint( (_L("CSCPServer::CheckISACodeL(): KErrGsmSSPasswordAttemptsViolation") ));
+ Dprint( (_L("CSCPServer::CheckISACodeL(): KErrGsmSSPasswordAttemptsViolation") ));
+ RDebug::Print(_L("--> CSCPServer::CheckISACodeL()@@KErrGsmSSPasswordAttemptsViolation"));
}
else
{
Dprint( (_L("CSCPServer::CheckISACodeL(): KErrLocked") ));
+ RDebug::Print(_L("--> CSCPServer::CheckISACodeL()@@KErrLocked"));
}
ret = KErrLocked;
if (iConfiguration.iBlockedInOOS == 0)
{
iConfiguration.iBlockedInOOS = 1;
Dprint( (_L("CSCPServer::CheckISACodeL():iBlockedInOOS = 1, KSCPErrCodeBlockStarted") ));
+ RDebug::Print(_L("--> CSCPServer::CheckISACodeL()@@@@@"));
ret = KSCPErrCodeBlockStarted;
}
}
@@ -899,6 +826,7 @@
{
Dprint( (_L("CSCPServer::CheckISACodeL(): ERROR reply checking ISA code: %d"),
status.Int() ));
+ RDebug::Print(_L("--> CSCPServer::ValidateConfigurationL()"));
}
}
TRAPD( err, iConfiguration.WriteSetupL() );
@@ -1016,6 +944,7 @@
TRAP(err, repository = CRepository :: NewL(KCRUidSCPLockCode));
if(err == KErrNone) {
+ RDebug::Print(_L("<-- CSCPServer::StoreEnhCode() setting KSCPLockCodeDefaultLockCode to 0"));
err = repository->Set(KSCPLockCodeDefaultLockCode, 0);
delete repository;
}
@@ -1351,84 +1280,74 @@
TInt lRetStatus(KErrNone);
Dprint(_L("[CSCPServer]-> Initiating branching on parameter..."));
- switch ( aID )
- {
- case ( ESCPAutolockPeriod ):
- // Flow through
- case ( ESCPMaxAutolockPeriod ):
- {
+ switch(aID) {
+ case ESCPAutolockPeriod:
+ case ESCPMaxAutolockPeriod: {
// Convert the value, and set it
TInt value;
TLex lex(aValue);
lRetStatus = lex.Val(value);
-
if((lRetStatus != KErrNone ) || ( value < 0) || ( value > KSCPAutolockPeriodMaximum )) {
lRetStatus = KErrArgument;
break;
- }
+ }
//Check if the device memory is encrypted or not.
TBool encryptionEnabled = IsDeviceMemoryEncrypted();
+ CSCPParamDBController* lParamDB = CSCPParamDBController :: NewLC();
// Value OK
- if(aID == ESCPMaxAutolockPeriod)
- {
- if ( encryptionEnabled )
- {
- Dprint(_L("Memory is encrypted"));
- if (( 0 == value) || value > KMaxAutolockPeriod)
- {
- Dprint((_L("Denying setting of max auto lock as value is %d"), value));
- User::Leave( KErrPermissionDenied );
- }
-
- }
- else
- {
+ if(aID == ESCPMaxAutolockPeriod) {
+ if( encryptionEnabled ) {
+ Dprint(_L("[CSCPServer]-> Memory is encrypted"));
+
+ if(( 0 == value) || value > KMaxAutolockPeriod) {
+ Dprint((_L("[CSCPServer]-> Denying setting of max auto lock as value is %d"), value));
+ User :: Leave( KErrPermissionDenied );
+ }
+ }
+ else {
Dprint(_L("Memory is decrypted, hence no restrictions to max autolock"));
- }
+ }
- Dprint(_L("[CSCPServer]-> Branched to ESCPMaxAutolockPeriod..."));
- CSCPParamDBController* lParamDB = CSCPParamDBController :: NewLC();
+ Dprint(_L("[CSCPServer]-> Branched to ESCPMaxAutolockPeriod..."));
lRetStatus = SetBestPolicyL(RTerminalControl3rdPartySession :: EMaxTimeout, aValue, aCallerIdentity, lParamDB);
- if(lRetStatus == KErrNone)
- {
+ if(lRetStatus == KErrNone) {
// Do we have to change the Autolock period as well?
TInt currentALperiod;
lRetStatus = GetAutolockPeriodL(currentALperiod);
- if(lRetStatus == KErrNone)
- {
- if((iConfiguration.iMaxTimeout > 0) && ((iConfiguration.iMaxTimeout < currentALperiod) || (currentALperiod == 0)))
- {
+ if(lRetStatus == KErrNone) {
+ if( (iConfiguration.iMaxTimeout > 0) &&
+ ((iConfiguration.iMaxTimeout < currentALperiod) ||
+ (currentALperiod == 0))) {
+
Dprint((_L("[CSCPServer]-> Changing AL period to Max. AL period (Current ALP: %d, Max. ALP: %d)"), currentALperiod, value));
- lRetStatus = SetAutolockPeriodL(value);
+ //lRetStatus = SetAutolockPeriodL(value);
+ /*
+ * Call to SetBestPolicyL will not check for Stronger/Weaker. The value of ETimeout just gets stored in
+ * both the internal DB and the CenRep
+ */
+ lRetStatus = SetBestPolicyL(RTerminalControl3rdPartySession :: ETimeout, aValue, aCallerIdentity, lParamDB);
}
}
- else
- {
+ else {
Dprint((_L("[CSCPServer]-> ERROR: Couldn't get the Autolock period: %d"), lRetStatus));
}
}
+ }
+ // Autolock Period
+ else {
+ //Code is commented as it is already taken care by the below condition #1343 irrespective of the drive encryption state.
+ /* if ( 0 == value ) {
+ if(encryptionEnabled) {
+ Dprint(_L("Permission denied!"));
+ User :: Leave(KErrPermissionDenied);
+ }
+ }*/
- CleanupStack :: PopAndDestroy(); //lParamDB
- }
-
- else
- { // Autolock Period
-
- //Code is commented as it is already taken care by the below condition #1343 irrespective of the drive encryption state.
- /* if ( 0 == value )
- {
- if ( encryptionEnabled )
- {
- Dprint(_L("Permission denied!"));
- User::Leave( KErrPermissionDenied );
- }
- }*/
-
Dprint(_L("[CSCPServer]-> Branched to ESCPAutolockPeriod..."));
// Check if this value is not allowed by the Max. Autolock period
if ((iConfiguration.iMaxTimeout > 0) && ((iConfiguration.iMaxTimeout < value) || (value == 0))) {
@@ -1437,13 +1356,20 @@
lRetStatus = KErrArgument;
}
else {
- lRetStatus = SetAutolockPeriodL(value);
+ //lRetStatus = SetAutolockPeriodL(value);
+ /*
+ * Call to SetBestPolicyL will not check for Stronger/Weaker. The value of ETimeout just gets stored in
+ * both the internal DB and the CenRep
+ */
+ lRetStatus = SetBestPolicyL(RTerminalControl3rdPartySession :: ETimeout, aValue, aCallerIdentity, lParamDB);
if(lRetStatus != KErrNone) {
Dprint((_L("[CSCPServer]-> ERROR: Couldn't set the Autolock period: %d"), lRetStatus));
}
}
}
+
+ CleanupStack :: PopAndDestroy(); //lParamDB
}
break;
case ESCPCodeChangePolicy:
@@ -2083,13 +2009,13 @@
//
TInt CSCPServer::IsCorrectEnhCode( TDes& aCode, TInt aFlags )
{
-
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): ") ));
if(!FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements))
{
return KErrNotSupported;
}
TInt ret = KErrAccessDenied;
-
+
// Hash the code
TBuf<KSCPMaxHashLength> hashBuf;
hashBuf.Zero();
@@ -2104,14 +2030,17 @@
TBool enhancedCodeMatches = EFalse;
if ( hashBuf.Compare( iConfiguration.iEnhSecCode ) == 0 )
{
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): enh code matches.") ));
enhancedCodeMatches = ETrue;
}
// Check if the code is blocked (don't check if we're out-of-sync)
if ( ( iConfiguration.iConfigFlag == KSCPConfigOK ) && ( IsCodeBlocked() ) )
{
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): 1") ));
if ( aFlags & KSCPEtelRequest )
{
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): 2") ));
// Check if the code is correct
if ( enhancedCodeMatches )
{
@@ -2125,6 +2054,7 @@
else
{
// OK, the code is already invalid
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): 3") ));
SendInvalidDOSCode( pswCandidate );
}
}
@@ -2137,6 +2067,7 @@
{
// Normal situation: we have the correct code stored.
// Compare the hashes (hashing error will result in EFalse )
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): 4") ));
if ( enhancedCodeMatches )
{
ret = KErrNone;
@@ -2144,6 +2075,7 @@
if ( aFlags & KSCPEtelRequest )
{
// Send the correct code to DOS side
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): 5") ));
TRAP( ret, CheckISACodeL( pswCandidate ) );
}
@@ -2152,7 +2084,7 @@
if ( iConfiguration.iFailedAttempts > 0 )
{
iConfiguration.iFailedAttempts = 0;
- Dprint( (_L("CSCPServer::IsCorrectEnhCode():KErrAccessDenied: iFailedAttempts (%d)."), iConfiguration.iFailedAttempts ));
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode():: iFailedAttempts (%d)."), iConfiguration.iFailedAttempts ));
writeSetup = ETrue;
}
}
@@ -2167,11 +2099,12 @@
ret = KErrAccessDenied;
iConfiguration.iFailedAttempts++;
- Dprint( (_L("CSCPServer::IsCorrectEnhCode():KErrAccessDenied: iFailedAttempts (%d)."), iConfiguration.iFailedAttempts ));
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode():@@@: iFailedAttempts (%d)."), iConfiguration.iFailedAttempts ));
writeSetup = ETrue;
if ( iConfiguration.iFailedAttempts == KSCPCodeBlockLimit )
{
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): KSCPCodeBlockLimit ") ));
// Block the code
TTime curTime;
curTime.UniversalTime();
@@ -2192,63 +2125,60 @@
else
{
// iConfiguration.iConfigFlag == KSCPConfigInvalid or KSCPConfigUnknown
-
+
// We might be out-of-sync, no idea about the real code.
// Check if the DOS code hashed from the given code is correct.
Dprint( (_L("CSCPServer::IsCorrectEnhCode(): Attempting to correct OoS situation.") ));
-
+ if (IsCodeBlocked()) {
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): OOS ->KErrLocked ") ));
+ return KErrLocked;
+ }
TRAP( ret, CheckISACodeL( pswCandidate ) );
- if ( ret == KErrNone )
- {
+ if (ret == KErrNone) {
// OK, we must assume that this is the correct code, since
// the hashed DOS code is correct. Save the codes, and return OK.
Dprint( (_L("CSCPServer::IsCorrectEnhCode(): Given code has the correct hash (%d)\
, saving codes."), ISACode ));
-
+
iConfiguration.iEnhSecCode.Zero();
- iConfiguration.iEnhSecCode.Copy( hashBuf );
+ iConfiguration.iEnhSecCode.Copy(hashBuf);
iConfiguration.iSecCode.Zero();
- iConfiguration.iSecCode.AppendNum( ISACode );
-
+ iConfiguration.iSecCode.AppendNum(ISACode);
+
// Unset the invalid configuration flag
iConfiguration.iConfigFlag = KSCPConfigOK;
writeSetup = ETrue;
- }
- else
- {
-
- Dprint( (_L("CSCPServer::IsCorrectEnhCode(): Given code does not have the \
- correct hash: ret; %d user enter password: %d"), ret ));
- TRAP( ret, CheckISACodeL( aCode ) );
- if (ret == KErrNone)
- {
- //store this code in our interal storage as it is used as oldpassword while changing at ISA side in next command
- //ChangeISACodeL.
- iConfiguration.iSecCode.Zero();
- iConfiguration.iSecCode.Append( aCode );
- TRAP(ret,ChangeISACodeL(pswCandidate));
- }
- if (ret == KErrNone)
- {
- iConfiguration.iEnhSecCode.Zero();
- iConfiguration.iEnhSecCode.Copy( hashBuf );
+ }
+ else {
+ ret = KErrAccessDenied;
+
+ iConfiguration.iFailedAttempts++;
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode():@@@: iFailedAttempts (%d)."), iConfiguration.iFailedAttempts ));
+ writeSetup = ETrue;
- iConfiguration.iSecCode.Zero();
- iConfiguration.iSecCode.AppendNum( ISACode );
-
- // Unset the invalid configuration flag
- iConfiguration.iConfigFlag = KSCPConfigOK;
- writeSetup = ETrue;
- }
+ if (iConfiguration.iFailedAttempts == KSCPCodeBlockLimit) {
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): KSCPCodeBlockLimit ") ));
+ // Block the code
+ TTime curTime;
+ curTime.UniversalTime();
+
+ iConfiguration.iBlockedAtTime.Zero();
+ iConfiguration.iBlockedAtTime.AppendNum(curTime.Int64());
+
+ // The code will be blocked for now on
+ ret = KSCPErrCodeBlockStarted;
}
}
+
+ }
// Write setup if needed
if ( writeSetup )
{
+ Dprint( (_L("CSCPServer::IsCorrectEnhCode(): 7 ") ));
TRAPD( err, iConfiguration.WriteSetupL() );
if ( err != KErrNone )
{
@@ -2667,9 +2597,10 @@
TBool lFirstTime(EFalse);
TInt32 lNumValue (-1);
TInt32 lNumValDB (-1);
- TInt32 lRetStatus = KErrNone;
+ TInt lRetStatus = KErrNone;
switch(aID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
case RTerminalControl3rdPartySession :: EMaxTimeout:
case RTerminalControl3rdPartySession :: EPasscodeMinLength:
case RTerminalControl3rdPartySession :: EPasscodeMaxLength:
@@ -2711,6 +2642,9 @@
else {
// Fetch the previous value of the parameter from the private database
switch(aID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
+ // No need to fetch previous value for ETimeout since Stronger/Weaker check is not required for it.
+ break;
case RTerminalControl3rdPartySession :: EMaxTimeout:
case RTerminalControl3rdPartySession :: EPasscodeMinLength:
case RTerminalControl3rdPartySession :: EPasscodeMaxLength:
@@ -2779,6 +2713,12 @@
// Decision code that verifies if policy is strongest
switch(aID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
+ /*
+ * No need to check stronger/weaker for ETimeout. The value just has to be maintained in both
+ * DB and the CenRep
+ */
+ break;
case RTerminalControl3rdPartySession :: EMaxTimeout:
case RTerminalControl3rdPartySession :: EPasscodeMaxRepeatedCharacters:
case RTerminalControl3rdPartySession :: EPasscodeExpiration:
@@ -2832,11 +2772,17 @@
*/
if (lRetStatus == KErrNone) {
switch (aID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
+ lRetStatus = SetAutolockPeriodL(TInt(lNumValue));
+ Dprint(_L("[CSCPServer]-> After setting ETimeout lRetStatus = %d "), lRetStatus);
+ break;
+
case RTerminalControl3rdPartySession :: EMaxTimeout:
iConfiguration.iMaxTimeout = lNumValue;
lRetStatus = iConfiguration.WriteSetupL();
Dprint(_L("[CSCPServer]-> After setting EMaxTimeout lRetStatus = %d "), lRetStatus);
break;
+
default:
TUint16* ptr = const_cast<TUint16*>(aValue.Ptr());
TPtr valBuf(ptr, aValue.Length(), aValue.Length());
@@ -2931,14 +2877,31 @@
Dprint(_L("[CSCPServer]-> Old Index of EPasscodeHistoryBuffer=%d"), lHistBuffIndex);
Dprint(_L("[CSCPServer]-> Old Index of EPasscodeMinChangeTolerance=%d"), lMinTolIndex);
}
+
+ /*
+ * If both ETimeout and EMaxTimeout are marked for cleanup then interchange the cleanup order of
+ * ETimeout and EMaxTimeout since AutoLock (ETimeout) cannot be disabled
+ * if MaxAutolock (EMaxTimeout) is still enabled
+ */
+ if( lParamIds[0] == RTerminalControl3rdPartySession :: ETimeout &&
+ lParamIds[1] == RTerminalControl3rdPartySession :: EMaxTimeout) {
+
+ lParamIds[0] = RTerminalControl3rdPartySession :: EMaxTimeout;
+ lParamIds[1] = RTerminalControl3rdPartySession :: ETimeout;
+ }
}
for(TInt j=0; j < lCount; j++) {
TInt lCurrParamID = lParamIds[j];
lDefValueBuf->Des().Zero();
lDefValueBuf->Des().Format(_L("%d "), 0);
+
// Initialize the default values here...
switch(lCurrParamID) {
+ case RTerminalControl3rdPartySession :: ETimeout:
+ // lDefValueBuf already has the default value, 0 initialized...
+ lCurrParamID = ESCPAutolockPeriod;
+ break;
case RTerminalControl3rdPartySession :: EMaxTimeout:
// lDefValueBuf already has the default value, 0 initialized...
lCurrParamID = ESCPMaxAutolockPeriod;
@@ -2967,6 +2930,7 @@
for(TInt k=0; k < lDesCount; k++) {
TRAP(lStatus, lStatus = SetParameterValueL(lCurrParamID, lDesArr[k]->Des(), lAppID));
+
if(KErrNone != lStatus) {
Dprint(_L("[CSCPServer]-> ERROR: Unable to cleanup parameter %d error %d"), lParamIds[j], lStatus);
lSubOpsFailed = ETrue;
@@ -2980,6 +2944,40 @@
CleanupStack :: PopAndDestroy(1); // lDesArray
}
break;
+
+ case ESCPAutolockPeriod: {
+ TInt32 lParamValueDB(0);
+ TInt lParamValueCenRep(0);
+ TInt32 lCurrParamOwner(0);
+
+ lStatus = lParamDB->GetValueL(RTerminalControl3rdPartySession :: ETimeout, lParamValueDB, lCurrParamOwner);
+
+ if(lStatus != KErrNone) {
+ Dprint(_L("[CSCPServer]-> ERROR: Unable to get current value of ETimeout from DB..."));
+ lSubOpsFailed = ETrue;
+ break;
+ }
+
+ lStatus = GetAutolockPeriodL(lParamValueCenRep);
+
+ if(lStatus != KErrNone) {
+ Dprint(_L("[CSCPServer]-> ERROR: Unable to get current value of ETimeout from CenRep..."));
+ lSubOpsFailed = ETrue;
+ break;
+ }
+
+ /*
+ * It is possible that AutoLock set from UI is different. In that case internal DB and CenRep
+ * are not in sync. Compare the two values and if they are same assume that the values are in sync.
+ * Limitation is that if the user sets the AutoLock with the same value as set by the current app then
+ * AutoLock will get disabled.
+ *
+ */
+ if(lParamValueCenRep != lParamValueDB) {
+ break;
+ }
+ }
+
default: {
iOverrideForCleanup = ETrue;
TRAP(lStatus, lStatus = SetParameterValueL(lCurrParamID, lDefValueBuf->Des(), lAppID));
@@ -2996,7 +2994,8 @@
aParamValArray.AppendL(lTmpBuffer);
}
}
- }
+ break;
+ };
if(KErrNone != lStatus) {
Dprint(_L("[CSCPServer]-> ERROR: Unable to cleanup parameter %d error %d"), lParamIds[j], lStatus);
--- a/terminalsecurity/SCP/SCPServer/src/SCPSession.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPServer/src/SCPSession.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -1553,20 +1553,26 @@
Dprint(_L("[CSCPSession]-> NotifyAllStakeHoldersL() <<<"));
return KErrNone;
}
+
TInt CSCPSession :: HandleCleanupL(const RMessage2& aMessage) {
+ Dprint((_L("[CSCPSession]-> HandleCleanupL() >>>")));
+
+ if( (aMessage.SecureId().iId != KSCPServerSIDTerminalControl) &&
+ (aMessage.SecureId().iId != KSCPEvntHndlrUid)) {
+
+ Dprint((_L("[CSCPSession]-> ERROR: caller app id=%ld. Permission denied..."), aMessage.SecureId().iId));
+ User :: Leave(KErrPermissionDenied);
+ }
+
// Copy the client data into a local buffer
TInt32 lCount = aMessage.GetDesLength(1);
-/* // If the caller is not SCPEventHandler the deny access
- if(aMessage.SecureId() != KSCPEvntHndlrUid) {
- return KErrPermissionDenied;
- }*/
-
// Atleast one application id has to be present in the received message (atleast 8 bytes)
if(lCount < sizeof(TInt32)) {
return KErrArgument;
}
+ TInt lStatus = KErrNone;
RArray<const TParamChange> lChangeArray;
CleanupClosePushL(lChangeArray);
@@ -1575,9 +1581,7 @@
HBufC8* lBuffer = HBufC8 :: NewLC(lCount);
TPtr8 bufPtr = lBuffer->Des();
- aMessage.ReadL(1, bufPtr);
-
- TInt lStatus = KErrNone;
+ aMessage.ReadL(1, bufPtr);
TRAPD(lErr, lStatus = iServer.PerformCleanupL(lBuffer, lChangeArray, lParamValArray));
@@ -1601,8 +1605,10 @@
lParamValArray.ResetAndDestroy();
CleanupStack :: PopAndDestroy(3); // lParamIDArray lParamValArray lBuffer
+ Dprint((_L("[CSCPSession]-> HandleCleanupL() <<<")));
return lStatus;
}
+
TInt CSCPSession :: HandleSetALPeriodL( const RMessage2& aMessage ) {
Dprint((_L("[CSCPSession]-> HandleSetParamMessageL() >>>")));
TBool oldALState = EFalse;
--- a/terminalsecurity/SCP/SCPTimestampPlugin/src/SCPTimestampPlugin.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/SCPTimestampPlugin/src/SCPTimestampPlugin.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -26,7 +26,6 @@
#include <bautils.h>
#include <hal.h>
#include <AknGlobalNote.h>
-#include <AknGlobalConfirmationQuery.h>
// For wipe
//#include <StarterClient.h>
//#include <sysutil.h>
@@ -583,27 +582,6 @@
if ( ( IsAfter( KSCPLastChangeTime, iExpiration, KSCPTypeDays ) == KSCPIsAfter ) ||
( expireNow ) )
{
- // Force password change
-
- HBufC16* resText = NULL;
- TRAPD( err, resText = LoadResourceL( R_SET_SEC_CODE_AGING ) );
- FormatResourceString(*resText);
- if ( err == KErrNone ) // If this fails, go on anyway to signal the psw change
- {
- TPtr16 bufDes = resText->Des();
-
- TRAP_IGNORE(
- CAknGlobalNote* note = CAknGlobalNote::NewLC();
- note->ShowNoteL( EAknGlobalWarningNote, bufDes );
- CleanupStack::PopAndDestroy( note );
- );
-
- // Wait here a while so the dialog won't appear on top of the note
- User::After( KSCPNoteTimeout );
-
- delete resText;
- }
-
// Refill the parameters to inform the client that the password
// should be changed.
aRetParams = CSCPParamObject::NewL();
--- a/terminalsecurity/SCP/inc/SCPLockCode.h Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/SCP/inc/SCPLockCode.h Thu Aug 19 10:44:50 2010 +0300
@@ -36,7 +36,13 @@
* Default value: 12345
*/
const TUint32 KSCPLockCodeDefaultLockCode = 0x00000001;
-
+/**
+ *
+ * The value assigned to this key is used to get and set ifits startup
+ * Possible values: 0 or 1
+ * Default value: 0
+*/
+const TUint32 KSCPStartupQuery = 0x00000002;
#endif// End of File
--- a/terminalsecurity/client/BWINS/TerminalControlu.def Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/client/BWINS/TerminalControlu.def Thu Aug 19 10:44:50 2010 +0300
@@ -60,4 +60,5 @@
?GetPasscodeMinSpecialCharacters@RTerminalControlSession@@QAEHAAJ@Z @ 59 NONAME ; int RTerminalControlSession::GetPasscodeMinSpecialCharacters(long &)
?GetPasscodeDisallowSimple@RTerminalControlSession@@QAEHAAH@Z @ 60 NONAME ; int RTerminalControlSession::GetPasscodeDisallowSimple(int &)
?SetPasscodeDisallowSimple@RTerminalControlSession@@QAEHH@Z @ 61 NONAME ; int RTerminalControlSession::SetPasscodeDisallowSimple(int)
+ ?ResetDeviceLockParameters@RTerminalControl3rdPartySession@@QAEHXZ @ 62 NONAME ; int RTerminalControl3rdPartySession::ResetDeviceLockParameters(void)
--- a/terminalsecurity/client/eabi/TerminalControlu.def Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/client/eabi/TerminalControlu.def Thu Aug 19 10:44:50 2010 +0300
@@ -60,4 +60,5 @@
_ZN23RTerminalControlSession31SetPasscodeMinSpecialCharactersEl @ 59 NONAME
_ZN23RTerminalControlSession25GetPasscodeDisallowSimpleERi @ 60 NONAME
_ZN23RTerminalControlSession25SetPasscodeDisallowSimpleEi @ 61 NONAME
+ _ZN31RTerminalControl3rdPartySession25ResetDeviceLockParametersEv @ 62 NONAME
--- a/terminalsecurity/client/src/TerminalControlClient.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/client/src/TerminalControlClient.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -1317,4 +1317,9 @@
return SendReceive( E3rdPartySetterGet, args1 );
}
+EXPORT_C TInt RTerminalControl3rdPartySession :: ResetDeviceLockParameters() {
+ RDEBUG("RTerminalControl3rdPartySession::SetDeviceLockParameter");
+ TIpcArgs args1;
+ return SendReceive(E3rdPartySetterReset, args1);
+}
Binary file terminalsecurity/conf/Keys_SCPLockCode.confml has changed
Binary file terminalsecurity/conf/Keys_SCPLockCode_2002677B.crml has changed
--- a/terminalsecurity/inc/TerminalControlClientServer.h Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/inc/TerminalControlClientServer.h Thu Aug 19 10:44:50 2010 +0300
@@ -97,6 +97,7 @@
E3rdPartySetterGet,
E3rdPartySetterGetSize,
E3rdPartySetterSet,
+ E3rdPartySetterReset
};
#endif// __TERMINALCONTROLCLIENTSERVER_H__
--- a/terminalsecurity/server/inc/TerminalControlServer.h Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/server/inc/TerminalControlServer.h Thu Aug 19 10:44:50 2010 +0300
@@ -158,6 +158,7 @@
void StopProcessByFullNameL ( const TDesC8& aName );
TBool GetPasscodePolicyL ( );
void SetPasscodePolicyL ( TBool aIsSet );
+ void ResetParametersL(TInt32 aAppID);
private:
void SetIntValueL( TInt avalue, TInt aSCPCommandEnum );
--- a/terminalsecurity/server/src/TerminalControlServer.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/server/src/TerminalControlServer.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -1195,5 +1195,14 @@
,policySet, this->Message().SecureId().iId));
}
+void CTerminalControlServer :: ResetParametersL(TInt32 aAppID) {
+ RDEBUG("CTerminalControlServer::ResetParametersL >>>");
+ RArray <TUid> lAppIdArray;
+ CleanupClosePushL(lAppIdArray);
+ lAppIdArray.AppendL(TUid :: Uid(aAppID));
+ User :: LeaveIfError(iSCPClient.PerformCleanupL(lAppIdArray));
+ CleanupStack :: PopAndDestroy(1); //lAppIdArray
+ RDEBUG("CTerminalControlServer::ResetParametersL <<<");
+}
// ----------------------------------------------------------------------------------------
// End of file
--- a/terminalsecurity/server/src/TerminalControlSession.cpp Thu Jul 15 19:36:11 2010 +0300
+++ b/terminalsecurity/server/src/TerminalControlSession.cpp Thu Aug 19 10:44:50 2010 +0300
@@ -177,6 +177,10 @@
case E3rdPartySetterSet:
SetDeviceLockParameterL( aMessage );
break;
+
+ case E3rdPartySetterReset:
+ Server().ResetParametersL(aMessage.SecureId().iId);
+ break;
}
}