# HG changeset patch # User hgs # Date 1284733755 -19800 # Node ID 08c8318ec9cb2dea9692dd7951fa5de7dfb8b0a4 # Parent 910464db1b655ad73d65815292f224a3b87ef6e3 201037 diff -r 910464db1b65 -r 08c8318ec9cb fotaapplication/fotaserver/fotaserver.pro --- a/fotaapplication/fotaserver/fotaserver.pro Fri Sep 03 22:35:56 2010 +0530 +++ b/fotaapplication/fotaserver/fotaserver.pro Fri Sep 17 19:59:15 2010 +0530 @@ -12,8 +12,6 @@ TEMPLATE = app TARGET = fotaserver -RSS_RULES += "hidden = KAppIsHidden;" - DEPENDPATH += . \ ./inc \ ./src \ @@ -107,11 +105,12 @@ /epoc32/include/mw/hb/hbwidgets \ /epoc32/include/mw/hb/hbutils \ tmp + +RSS_RULES += "hidden = KAppIsHidden;" LIBS += -laknskins \ -lapgrfx \ -lapparc \ - -lapsettingshandlerui \ -lavkon \ -lbafl \ -lcone \ diff -r 910464db1b65 -r 08c8318ec9cb fotaapplication/fotaserver/inc/fsview.h --- a/fotaapplication/fotaserver/inc/fsview.h Fri Sep 03 22:35:56 2010 +0530 +++ b/fotaapplication/fotaserver/inc/fsview.h Fri Sep 17 19:59:15 2010 +0530 @@ -30,7 +30,12 @@ public: FSView(); ~FSView(); - +signals : + /** + * applicationReady() - To emit the application ready signal for matti tool. + */ + void applicationReady(); +public: void SetServer(CFotaServer * aServer); //Handles the incoming events @@ -38,5 +43,6 @@ private: CFotaServer *iServer; + TBool Initilized; }; #endif /* FSVIEW_H_ */ diff -r 910464db1b65 -r 08c8318ec9cb fotaapplication/fotaserver/src/fsview.cpp --- a/fotaapplication/fotaserver/src/fsview.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/fotaapplication/fotaserver/src/fsview.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -23,7 +23,7 @@ // ------------------------------------------------------------------------------------------------ FSView::FSView() { - + Initilized = EFalse; } // ------------------------------------------------------------------------------------------------ // FSView::~FSView() @@ -37,6 +37,11 @@ // ------------------------------------------------------------------------------------------------ bool FSView::eventFilter(QObject *object, QEvent *event) { + if( Initilized == EFalse ) + { + emit applicationReady(); + Initilized = ETrue; + } switch (event->type()) { case QEvent::ApplicationActivate: diff -r 910464db1b65 -r 08c8318ec9cb omaprovisioning/pnputil/src/PnpProvUtil.cpp --- a/omaprovisioning/pnputil/src/PnpProvUtil.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/omaprovisioning/pnputil/src/PnpProvUtil.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -350,7 +350,7 @@ HBufC *buf18 = aPtr.AllocL(); - array.Append(buf18); + array.AppendL(buf18); if(aLex.Peek()=='\x00') // end of string break; diff -r 910464db1b65 -r 08c8318ec9cb omaprovisioning/provisioning/Group/bld.inf --- a/omaprovisioning/provisioning/Group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ b/omaprovisioning/provisioning/Group/bld.inf Fri Sep 17 19:59:15 2010 +0530 @@ -44,7 +44,7 @@ ../Rom/Provisioning.iby CORE_MW_LAYER_IBY_EXPORT_PATH(provisioning.iby) ../Rom/ProvisioningResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(provisioningresources.iby) ../loc/Provisioning.loc MW_LAYER_LOC_EXPORT_PATH(provisioning.loc) - +../loc/prov.rsc /epoc32/data/z/resource/messaging/bif/prov.rsc PRJ_EXTENSIONS PRJ_MMPFILES diff -r 910464db1b65 -r 08c8318ec9cb omaprovisioning/provisioning/Rom/Provisioning.iby --- a/omaprovisioning/provisioning/Rom/Provisioning.iby Fri Sep 03 22:35:56 2010 +0530 +++ b/omaprovisioning/provisioning/Rom/Provisioning.iby Fri Sep 17 19:59:15 2010 +0530 @@ -19,7 +19,7 @@ #ifndef __PROVISIONING_IBY__ #define __PROVISIONING_IBY__ - +data=DATAZ_\BIOFILE_DIR\prov.rsc BIOFILE_DIR\prov.rsc // Engine file=ABI_DIR\BUILD_DIR\ProvisioningEngine.dll SHARED_LIB_DIR\ProvisioningEngine.dll // Parser diff -r 910464db1b65 -r 08c8318ec9cb omaprovisioning/provisioning/loc/prov.rsc Binary file omaprovisioning/provisioning/loc/prov.rsc has changed diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/conf/policy_management.confml Binary file policymanagement/conf/policy_management.confml has changed diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/conf/policy_management_10207843.crml Binary file policymanagement/conf/policy_management_10207843.crml has changed diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/dmutilserver/inc/PMUtilInternalCRKeys.h --- a/policymanagement/dmutilserver/inc/PMUtilInternalCRKeys.h Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/dmutilserver/inc/PMUtilInternalCRKeys.h Fri Sep 17 19:59:15 2010 +0530 @@ -118,5 +118,32 @@ */ const TUint32 KSyncMLForcedCertificateCheckKey = 0x00000006; +/** +* CenRep key for certificate label counter: +* Indicates current label value of certificate. +* +* Possible integer values: +* Positive numbers +* +* Default value: 0 (not defined) +* +* +*/ +const TUint32 KCertificateCounter = 0x00000007; + +/** +* CenRep key for server id: +* Indicates current trusted server id. +* +* Possible string values: +* some string names +* +* Default value: NULL(not defined) +* +* +*/ +const TUint32 KTrustedServerId = 0x00000008; + + #endif // PM_UTIL_PRIVATE_CR_KEYS_H diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/dmutilserver/src/DMUtilObserver.cpp --- a/policymanagement/dmutilserver/src/DMUtilObserver.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/dmutilserver/src/DMUtilObserver.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -224,7 +224,7 @@ void CActiveObserver::SubscribeEventL( MActiveCallBackObserver* aDynamicCallBackObserver) { //add subsribers info to list - iSubcribers.Append( aDynamicCallBackObserver); + iSubcribers.AppendL( aDynamicCallBackObserver); if ( !iSubscribed) { diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/bwins/PolicyEngineu.def --- a/policymanagement/policyengine/bwins/PolicyEngineu.def Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/bwins/PolicyEngineu.def Fri Sep 17 19:59:15 2010 +0530 @@ -40,4 +40,6 @@ ?SetResponseValue@TResponse@@QAEXW4TResponseValue@@@Z @ 39 NONAME ; void TResponse::SetResponseValue(enum TResponseValue) ?Zero@TParserResponse@@QAEXXZ @ 40 NONAME ; void TParserResponse::Zero(void) ?EnforcementActiveL@CSettingEnforcementInfo@@QAEXABVTDesC8@@AAH@Z @ 41 NONAME ; void CSettingEnforcementInfo::EnforcementActiveL(class TDesC8 const &, int &) + ?RemoveServerCert@RPolicyManagement@@QAEHABVTDesC16@@@Z @ 42 NONAME ; int RPolicyManagement::RemoveServerCert(class TDesC16 const &) + ?AddServerCert@RPolicyManagement@@QAEHABVCX509Certificate@@AAVTDes16@@@Z @ 43 NONAME ; int RPolicyManagement::AddServerCert(class CX509Certificate const &, class TDes16 &) diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/centreptoolserver/src/RepositorySession.cpp --- a/policymanagement/policyengine/centreptoolserver/src/RepositorySession.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/centreptoolserver/src/RepositorySession.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -423,8 +423,27 @@ if ( !aSettings.Count() ) { CRangeMeta * setting = CRangeMeta::NewL( aCompareValue, 0, aMask, KBackupBitMask); - aSettings.AppendL( setting ); - iRangeMetas.AppendL( setting); + TInt err = KErrNone; + TRAP(err, aSettings.AppendL( setting )); + if(err != KErrNone) + { + delete setting; + User::Leave( err ); + } + else + { + TRAP(err, iRangeMetas.AppendL( setting)); + if(err != KErrNone) + { + TInt indx = aSettings.Find( setting ); + if(indx != KErrNotFound) + { + aSettings.Remove(indx); + User::Leave( err ); + } + + } + } } } @@ -533,8 +552,27 @@ if ( !aSettings.Count() ) { CRangeSetting * setting = CRangeSetting::NewL( aRangeStart, aRangeEnd, 0); - aSettings.Append( setting ); - iRangeSettings.Append( setting); + TInt err = KErrNone; + TRAP(err, aSettings.AppendL( setting )); + if(err != KErrNone) + { + delete setting; + User::Leave( err ); + } + else + { + TRAP(err, iRangeSettings.AppendL( setting)); + if(err != KErrNone) + { + TInt indx = aSettings.Find( setting ); + if(indx != KErrNotFound) + { + aSettings.Remove(indx); + User::Leave( err ); + } + + } + } } iRangeSettings.Sort( linearOrder); @@ -572,8 +610,27 @@ if ( !aSettings.Count() ) { CRangeSetting * setting = CRangeSetting::NewL( aCompareValue, 0, aMask); - aSettings.Append( setting ); - iRangeSettings.Append( setting); + TInt err = KErrNone; + TRAP(err, aSettings.AppendL( setting )); + if(err != KErrNone) + { + delete setting; + User::Leave( err ); + } + else + { + TRAP(err, iRangeSettings.AppendL( setting)); + if(err != KErrNone) + { + TInt indx = aSettings.Find( setting ); + if(indx != KErrNotFound) + { + aSettings.Remove(indx); + User::Leave( err ); + } + + } + } } diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/eabi/PolicyEngineu.def --- a/policymanagement/policyengine/eabi/PolicyEngineu.def Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/eabi/PolicyEngineu.def Fri Sep 17 19:59:15 2010 +0530 @@ -50,4 +50,6 @@ _ZTI23CSettingEnforcementInfo @ 49 NONAME ; ## _ZTV23CSettingEnforcementInfo @ 50 NONAME ; ## _ZN23CSettingEnforcementInfo18EnforcementActiveLERK6TDesC8Ri @ 51 NONAME + _ZN17RPolicyManagement13AddServerCertERK16CX509CertificateR6TDes16 @ 52 NONAME + _ZN17RPolicyManagement16RemoveServerCertERK7TDesC16 @ 53 NONAME diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/group/PolicyEngineClient.mmp --- a/policymanagement/policyengine/group/PolicyEngineClient.mmp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/group/PolicyEngineClient.mmp Fri Sep 17 19:59:15 2010 +0530 @@ -45,7 +45,7 @@ LIBRARY centralrepository.lib LIBRARY featmgr.lib library inetprotutil.lib -LIBRARY dmutil.lib +LIBRARY dmutil.lib x509.lib ctframework.lib crypto.lib efsrv.lib SMPSAFE diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/group/PolicyEngineServer.mmp --- a/policymanagement/policyengine/group/PolicyEngineServer.mmp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/group/PolicyEngineServer.mmp Fri Sep 17 19:59:15 2010 +0530 @@ -80,6 +80,7 @@ LIBRARY flogger.lib LIBRARY featmgr.lib LIBRARY HbWidgets.lib HbCore.lib +LIBRARY certstore.lib ctframework.lib LIBRARY inetprotutil.lib SMPSAFE diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineclient/inc/PolicyEngineClientServerDefs.h --- a/policymanagement/policyengine/policyengineclient/inc/PolicyEngineClientServerDefs.h Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineclient/inc/PolicyEngineClientServerDefs.h Fri Sep 17 19:59:15 2010 +0530 @@ -49,7 +49,11 @@ //Policy request operations EPolicyRequest, ECreateRequestSubSession, - ECloseRequestSubSessio + ECloseRequestSubSessio, + + + EServerCertAddRequest, + EServerCertRemoveRequest }; diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineclient/src/PolicyEngineClient.cpp --- a/policymanagement/policyengine/policyengineclient/src/PolicyEngineClient.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineclient/src/PolicyEngineClient.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -29,7 +29,10 @@ #include "ErrorCodes.h" #include "debug.h" +#include +#include +const TInt KMaxLabelIdLength = 25; //take 25 from cert store or some header file // Standard server startup code @@ -268,6 +271,41 @@ return SendReceive( EAddSessionTrust, TIpcArgs( &certInfoPck)); } +EXPORT_C TInt RPolicyManagement::AddServerCert(const CX509Certificate& aCert, TDes& aLabel) +{ + RDEBUG("RPolicyManagement::AddServerCert()" ); + + TPtrC8 ptr(aCert.Encoding()); + TInt size =ptr.Length(); + + TBuf<1024> certData; + certData.Copy(ptr); + //label buffer to be written by server + TBuf cLabel; + + TIpcArgs args(&certData,size,&cLabel); + + TInt err = SendReceive(EServerCertAddRequest, args); + // copy returned label + aLabel.Append(cLabel); + + return err; + +} + + +EXPORT_C TInt RPolicyManagement:: RemoveServerCert(const TDesC& aLabel) +{ + RDEBUG("RPolicyManagement:: RemoveServerCert"); + + TBuf labelData; + labelData.Copy(aLabel); + + TInt err = SendReceive(EServerCertRemoveRequest, TIpcArgs(&labelData)); + return err; +} + + EXPORT_C TInt RPolicyManagement::IsAllowedServerId( const TDesC& aServerID) { RDEBUG_2("RPolicyManagement::IsAllowedServerId( %S )", &aServerID ); diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineserver/inc/PlatformSecurityPolicies.h --- a/policymanagement/policyengine/policyengineserver/inc/PlatformSecurityPolicies.h Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/inc/PlatformSecurityPolicies.h Fri Sep 17 19:59:15 2010 +0530 @@ -27,7 +27,7 @@ #include "PolicyEngineClientServerDefs.h" // CONSTANTS -const TUint KPolicyEngineRangeCount = 6; +const TUint KPolicyEngineRangeCount = 7; const TInt KPolicyEngineRanges[KPolicyEngineRangeCount] = { @@ -62,8 +62,12 @@ // EPolicyRequest // ECreateRequestSubSession // ECloseRequestSubSessio - - ECloseRequestSubSessio + 1 + + EServerCertAddRequest, +// 6th range function ids +// EServerCertRemoveRequest, + + EServerCertRemoveRequest+1 //ENotSupported }; @@ -76,6 +80,7 @@ 1, //applies to 3rd range 2, //applies to 4rd range 3, //applies to 5rd range + 4, //applies to 6rd range CPolicyServer::ENotSupported }; @@ -85,7 +90,8 @@ {_INIT_SECURITY_POLICY_S2( 0x101f9a02, ECapabilityWriteDeviceData, ECapabilityReadDeviceData), CPolicyServer::EPanicClient}, {_INIT_SECURITY_POLICY_S0( 0x102073EA /*RFS SID*/), CPolicyServer::EPanicClient}, {_INIT_SECURITY_POLICY_C2(ECapabilityReadDeviceData, ECapabilityWriteDeviceData), CPolicyServer::EPanicClient}, - {_INIT_SECURITY_POLICY_C2(ECapabilityReadDeviceData, ECapabilityWriteDeviceData), CPolicyServer::EPanicClient} + {_INIT_SECURITY_POLICY_C2(ECapabilityReadDeviceData, ECapabilityWriteDeviceData), CPolicyServer::EPanicClient} , + {_INIT_SECURITY_POLICY_C1( ECapability_None ), CPolicyServer::EFailClient} }; //Package all the above together into a policy diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineserver/inc/PolicyProcessor.h --- a/policymanagement/policyengine/policyengineserver/inc/PolicyProcessor.h Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/inc/PolicyProcessor.h Fri Sep 17 19:59:15 2010 +0530 @@ -31,12 +31,17 @@ #include #include #include - +#include +#include +#include +#include // CONSTANTS // MACROS // DATA TYPES // FUNCTION PROTOTYPES // FORWARD DECLARATIONS +class CCertStore; +class CRepository; class CDataType; class CAttribute; @@ -107,6 +112,15 @@ //For management functions void SetTargetElement( CElementBase * aElement); void SetSessionTrust( CTrustedSession * aTrustedSession); + + //certificate store functions + TInt AddCertificateToStoreL(const RMessage2& aMessage); + //Read that counter value from central repository + TInt GetCertCounterValue(); + TInt RemoveCertificateFromStoreL(const RMessage2& aMessage); + void UpdateSilentTrustServerId(); + TInt CheckCurrentServerIdFromCR(); + protected: //From CActive void RunL(); @@ -143,7 +157,75 @@ const RMessage2 * iMessage; HBufC8 * iRequestBuffer; TInt iProcessorState; -}; + + //cert store pointer + CCertStore* iStore; + HBufC8 *iCertBuffer; + + }; + + +class CCertStore:public CActive + { + enum TCertState + { + EReady, + EInitializeStore, + EGetFPrint, + EAddCert, + ERemoveCert, + EExistsInStore + } iCertState; + public: + + static CCertStore* NewL(); + + ~CCertStore(); + + + void InitializeCertStore(); + TInt AddCert(HBufC8 *aCertBuffer); + void GetWritableCertStoreIndex(); + TInt GenerateNewCertLabel(); + void UpdateLabelCounterInCR(); + HBufC* GetCurrentCertLabel(); + TInt RemoveCert(const TDesC& aCertLabel); + const TDesC8& RetrieveCertFPrint(const TDesC& aCertLabel); + TBool CheckCertInStore( const TDesC& aLabel ); + void WaitUntilOperationDone(); + + protected: + virtual void RunL(); + virtual void DoCancel(); + + private: + CCertStore(); + void ConstructL(); + + private: + // Data + CUnifiedCertStore* iCertStore; + TInt iStoreIndex; + RMPointerArray< CCTCertInfo > iCertInfoArray; + CCTCertInfo* iCertInfoRetrieved; + HBufC8* iCertData; + + // to track the counter of cert labels + TInt iLabelCounter; + + //cert data from SCCM cerver + HBufC8 *iCertBuffer; + + //cert Label to be used for storage and removal + HBufC *iCertLabel; + + //Waits for the operation to complete. Owned. + CActiveSchedulerWait* iWait; + TBuf8<40> iFingerPrint; + + }; + + //Class to launch PolicyEngine Dialog diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineserver/src/PolicyEngineServer.cpp --- a/policymanagement/policyengine/policyengineserver/src/PolicyEngineServer.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/src/PolicyEngineServer.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -583,6 +583,18 @@ subSession->iPolicyManager->IsServerIdValidL( aMessage); return; } + + case EServerCertAddRequest: + { + subSession->iPolicyProcessor->AddCertificateToStoreL(aMessage); + return; + } + case EServerCertRemoveRequest: + { + subSession->iPolicyProcessor->RemoveCertificateFromStoreL(aMessage); + return; + } + case ECertificateRole : { subSession->iPolicyManager->GetCertificateRoleL( aMessage); diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineserver/src/PolicyProcessor.cpp --- a/policymanagement/policyengine/policyengineserver/src/PolicyProcessor.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineserver/src/PolicyProcessor.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -33,11 +33,27 @@ #include #include #include + +#include "DMUtilClient.h" +#include "PMUtilInternalCRKeys.h" + +#include +#include + +#include // CONSTANTS const TUid KUidPolicyEngineUi = { 0x10207817 }; const TUint KDelimeterChar = '|'; _LIT8( KUserAcceptMark, "A"); +const TInt KMaxServerIdLength = 250; +const TInt KMaxLabelIdLength = 25; +const TInt KMaxCertSize = 1024; + +_LIT(KSymbianCertificateStoreLabel, "Software certificate store"); +_LIT(KDMTrustedCertLabel,"DMTrustedServer_"); +_LIT8(KNoKeyFound,""); + enum TUserResponse { EUserAccept, @@ -121,8 +137,12 @@ // CPolicyProcessor::~CPolicyProcessor() -{ - ResetRequestContext(); +{ + delete iCertBuffer; + iCertBuffer=NULL; + delete iStore; + //// + ResetRequestContext(); delete iRequestBuffer; CPolicyEngineServer::RemoveActiveObject( this); @@ -139,6 +159,123 @@ } // ----------------------------------------------------------------------------- +// CPolicyProcessor::AddCertificateToStoreL() +// ----------------------------------------------------------------------------- +// + +TInt CPolicyProcessor::AddCertificateToStoreL(const RMessage2& aMessage) + { + RDEBUG("CPolicyProcessor::AddCertificateToStore" ); + TInt size = aMessage.Int1(); + TBuf certData; + + aMessage.ReadL(0, certData, 0); + iCertBuffer = HBufC8::NewL(size); + iCertBuffer->Des().Copy(certData); + + //check if the trust already exists with same server + TInt result = CheckCurrentServerIdFromCR(); + if(result == KErrInUse) + { + return KErrInUse; + } + + iStore = CCertStore::NewL(); + iStore->InitializeCertStore(); + TInt res = iStore->AddCert(iCertBuffer); + if(res == KErrNone) + { + //update the new counter value in CR + iStore->UpdateLabelCounterInCR(); + // return the newly generated label + aMessage.WriteL( 2, iStore->GetCurrentCertLabel()->Des() ); + } + + return res; + } + + + +// ----------------------------------------------------------------------------- +// CPolicyProcessor::RemoveCertificateFromStoreL() +// ----------------------------------------------------------------------------- +// +TInt CPolicyProcessor::RemoveCertificateFromStoreL(const RMessage2& aMessage) + { + RDEBUG("CPolicyProcessor::RemoveCertificateFromStoreL" ); + TBuf<128> certLabel; + aMessage.ReadL(0, certLabel, 0); + + HBufC *label = HBufC::NewL(aMessage.GetDesLength(0)); + label->Des().Copy(certLabel); + TInt result = CheckCurrentServerIdFromCR(); + + //check if the trust already exists with same server + if(result == KErrInUse) + { + RDEBUG("CPolicyProcessor::RemoveCertificateFromStore -14" ); + return KErrInUse; + } + + if ( iStore != NULL ) + { + delete iStore; + iStore = NULL; + } + iStore = CCertStore::NewL(); + iStore->InitializeCertStore(); + + TInt res; + if(label->Des() == KNullDesC) + { + // If NULL is passed for removing label then remove the current label + HBufC* rLabel = iStore->GetCurrentCertLabel()->AllocL(); + res = iStore->RemoveCert(*rLabel); + delete rLabel; + } + else + { + res = iStore->RemoveCert(*label); + } + + delete label; + label = NULL; + return res; + } + +// ----------------------------------------------------------------------------- +// CPolicyProcessor::CheckCurrentServerIdFromCR() +// ----------------------------------------------------------------------------- +// +TInt CPolicyProcessor::CheckCurrentServerIdFromCR() + { + RDEBUG("CPolicyProcessor::CheckCurrentServerIdFromCR" ); + TBuf8 serverIdCR; + TRAPD( err, + { + CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); + CleanupStack::PushL( rep ); + rep->Get( KTrustedServerId, serverIdCR ); + CleanupStack::PopAndDestroy( rep ); + } ); + + if(err!=KErrNone) + { + return err; + } + TBool result = CPolicyStorage::PolicyStorage()->IsServerIdValid(serverIdCR); + if(result) + { + return KErrInUse; + } + else + { + return KErrNone; + } + + } + +// ----------------------------------------------------------------------------- // CPolicyProcessor::HandleErrorL() // ----------------------------------------------------------------------------- // @@ -733,6 +870,57 @@ // ----------------------------------------------------------------------------- +// CPolicyProcessor::GetCertCounterValue() +// ----------------------------------------------------------------------------- +// +TInt CPolicyProcessor::GetCertCounterValue() + { + RDEBUG("CPolicyProcessor::GetCertCounterValue" ); + + TInt counter = -1; + + TRAPD( err, + { + CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); + CleanupStack::PushL( rep ); + rep->Get( KCertificateCounter, counter ); + CleanupStack::PopAndDestroy( rep ); + } ); + + return counter; + } + + +// ----------------------------------------------------------------------------- +// CPolicyProcessor::UpdateSilentTrustServerId() +// ----------------------------------------------------------------------------- +// +void CPolicyProcessor::UpdateSilentTrustServerId() + { + RDEBUG("CPolicyProcessor::UpdateSilentTrustServerId" ); + //get server id and store in cenrep + //connect to DM util client... + RDMUtil dmutil; + dmutil.Connect(); + CleanupClosePushL( dmutil); + + //..and get server id + TBuf8 serverid; + dmutil.GetDMSessionServerId( serverid); + CleanupStack::PopAndDestroy( &dmutil); + + TInt ret; + TRAPD( err, + { + CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); + CleanupStack::PushL( rep ); + ret = rep->Set( KTrustedServerId, serverid ); + CleanupStack::PopAndDestroy( rep ); + } ); + + } + +// ----------------------------------------------------------------------------- // CPolicyProcessor::CorporateUserAcceptFunctionL() // ----------------------------------------------------------------------------- // @@ -762,14 +950,56 @@ RDEBUG8_2("CPolicyProcessor::fingerPrint: %S", &ptr); TUserResponse response = EUserDeny; + + TBool showUserScreen = ETrue; + + if(GetCertCounterValue() > 0) + { + if ( iStore != NULL ) + { + delete iStore; + iStore = NULL; + } + iStore = CCertStore::NewL(); + iStore->InitializeCertStore(); + HBufC* certLabel = iStore->GetCurrentCertLabel(); + const TDesC8& fingerPrintSilent = iStore->RetrieveCertFPrint(*certLabel); + + // Compare the fingerprints of cert stored with received from server + TInt result = fingerPrintSilent.Compare(fingerPrint); + RDEBUG_2("CorporateUserAcceptFunction FP Match ( %d )", result ); + + if(result==KErrNone) + { + UpdateSilentTrustServerId(); + response = EUserAccept; + showUserScreen = EFalse; + + // call device dialog to show notification + _LIT(KDialogText, "Silent Trust Done!"); + _LIT(KDialogTitle, "TRUST"); + _LIT(KDialogIcon, "qtg_large_info"); + CHbDeviceNotificationDialogSymbian* dialog = CHbDeviceNotificationDialogSymbian::NewL(); + CleanupStack::PushL(dialog); + dialog->SetTextL(KDialogText); + dialog->SetTitleL(KDialogTitle); + dialog->SetIconNameL(KDialogIcon); + dialog->ShowL(); + CleanupStack::PopAndDestroy(dialog); + } + + } - CProcessorClient *client = new CProcessorClient(); - TInt res = client->LaunchDialog(ptr, name); - - if(res == 0) - response = EUserAccept; - else - response = EUserDeny; + if(showUserScreen) + { + CProcessorClient *client = new CProcessorClient(); + TInt res = client->LaunchDialog(ptr, name); + + if(res == 0) + response = EUserAccept; + else + response = EUserDeny; + } MakeBooleanResponseL( response == EUserAccept, aResponseElement); @@ -1384,4 +1614,349 @@ return response; } - + + +void CCertStore::ConstructL() + { + RDEBUG("CCertStore::ConstructL" ); + + } + +CCertStore::CCertStore():CActive(EPriorityStandard) + { + RDEBUG("CCertStore::CCertStore" ); + iCertState = EReady; + iCertStore = NULL; + + CActiveScheduler::Add(this); + iWait = new CActiveSchedulerWait(); + } + +CCertStore::~CCertStore() + { + RDEBUG("CCertStore::~CCertStore" ); + + delete iWait; + delete iCertLabel; + iCertLabel = NULL; + delete iCertBuffer; + iCertBuffer = NULL; + delete iCertStore; + iCertStore = NULL; + + } + +CCertStore* CCertStore::NewL() + { + RDEBUG("CCertStore::NewL" ); + + CCertStore* self = new(ELeave) CCertStore(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + + +void CCertStore::InitializeCertStore() + { + RDEBUG("CCertStore::InitializeCertStore"); + if(iCertStore == NULL) + { + RFs* fs = new RFs(); + fs->Connect(); + iCertStore = CUnifiedCertStore::NewL(*fs, ETrue); + + iCertStore->Initialize(iStatus); + iCertState = EInitializeStore; + + SetActive(); + iWait->Start(); + TInt res = iStatus.Int(); + } + } + + + +// Checks for the existence of a certificate + // ----------------------------------------------------------------------------- + TBool CCertStore::CheckCertInStore( const TDesC& aLabel ) + { + RDEBUG("CCertStore::CheckCertInStore"); + + // Create filter + CCertAttributeFilter* filter = CCertAttributeFilter::NewL(); + TCertLabel label( aLabel ); + filter->SetLabel( label ); + filter->SetFormat(EX509Certificate); + filter->SetOwnerType(ECACertificate); + iCertState = EExistsInStore; + + iCertStore->List( iCertInfoArray, *filter, iStatus ); + SetActive(); + iWait->Start(); + + delete filter; + TBool retVal = ( iCertInfoArray.Count() > 0 ); + + if(retVal) + { + iCertInfoRetrieved = iCertInfoArray[0]; + } + return retVal; + } + + +TInt CCertStore::RemoveCert(const TDesC& aCertLabel) + { + RDEBUG("CCertStore::RemoveCert"); + if(CheckCertInStore(aCertLabel)) + { + MCTWritableCertStore& writableStore = iCertStore->WritableCertStore(iStoreIndex); + writableStore.Remove(*iCertInfoRetrieved, iStatus); + iCertState = ERemoveCert; + WaitUntilOperationDone(); + return KErrNone; + } + else + return KErrNotFound; + } + + +TInt CCertStore::GenerateNewCertLabel() + { + RDEBUG("CCertStore::GenerateNewCertLabel"); + TInt result = KErrNone; + TInt counter=0; + + TRAPD( err, + { + CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); + CleanupStack::PushL( rep ); + result = rep->Get( KCertificateCounter, counter ); + RDEBUG_2("CCertStore::GenerateNewCertLabel( %d )", result ); + CleanupStack::PopAndDestroy( rep ); + } ); + if( err != KErrNone ) + { + result = err; + return err; + } + iCertLabel=HBufC::NewL(KMaxLabelIdLength); + // use central repository to generte new label each time for addition + *iCertLabel = KDMTrustedCertLabel; + TPtr ptr = iCertLabel->Des(); + counter++; + ptr.AppendNum(counter); + iLabelCounter = counter; + + return result; + } + + + + +void CCertStore::UpdateLabelCounterInCR() + { + RDEBUG("CCertStore::UpdateLabelCounterInCR"); + + TInt res; + //update the CR with new counter value + TRAPD( err1, + { + CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); + CleanupStack::PushL( rep ); + res = rep->Set( KCertificateCounter, iLabelCounter ); + RDEBUG_2("CCertStore::UpdateLabelCounterInCR( %d )", res ); + CleanupStack::PopAndDestroy( rep ); + } ); + + } + + +HBufC* CCertStore::GetCurrentCertLabel() + { + RDEBUG("CCertStore::GetCurrentCertLabel"); + + TInt counter; + TRAPD( err, + { + CRepository* rep = CRepository::NewL( KCRUidPolicyManagementUtilInternalKeys ); + CleanupStack::PushL( rep ); + TInt res = rep->Get( KCertificateCounter, counter ); + CleanupStack::PopAndDestroy( rep ); + } ); + if(iCertLabel) + { + delete iCertLabel; + iCertLabel = NULL; + } + iCertLabel=HBufC::NewL(KMaxLabelIdLength); + // use central repository to generte new label each time for addition + *iCertLabel = KDMTrustedCertLabel; + TPtr ptr = iCertLabel->Des(); + ptr.AppendNum(counter); + return iCertLabel; + } + + +TInt CCertStore::AddCert(HBufC8 *aCertBuffer) + { + RDEBUG("CCertStore::AddCert"); + + GenerateNewCertLabel(); + //create object of writable certificate store + MCTWritableCertStore& writableStore = iCertStore->WritableCertStore(iStoreIndex); + + writableStore.Add(*iCertLabel,EX509Certificate, ECACertificate, NULL, NULL, *aCertBuffer,EFalse,iStatus); + iCertState = EAddCert; + //SetActive(); + WaitUntilOperationDone(); + return iStatus.Int(); + } + + +void CCertStore::WaitUntilOperationDone() + { + SetActive(); + iWait->Start(); + } + + +//Sets the writable certificate store index used for addition and removal +void CCertStore::GetWritableCertStoreIndex() + { + RDEBUG("CCertStore::GetWritableCertStoreIndex"); + + //count total availiable cert stores. + TInt count = iCertStore->WritableCertStoreCount(); + + TBool found = EFalse; + TInt i = 0; + TPtrC pElementID(KSymbianCertificateStoreLabel()); + + for (i = 0; (i < count) && (!found); i++) + { + // Select the first store with the specified label. + const TDesC& storeLabel = iCertStore->WritableCertStore(i).Token().Label(); + if (storeLabel == pElementID) + { + found = ETrue; + iStoreIndex = i; + } + } + + } + +const TDesC8& CCertStore::RetrieveCertFPrint(const TDesC& aCertLabel) + { + RDEBUG("CCertStore::RetrieveCertFPrint"); + + if(CheckCertInStore(aCertLabel)) + { + MCTWritableCertStore& WritableStore = iCertStore->WritableCertStore(iStoreIndex); + + iCertData = HBufC8::NewMaxL(iCertInfoRetrieved->Size()); + TPtr8 ptr = iCertData->Des(); + + WritableStore.Retrieve(*iCertInfoRetrieved,ptr,iStatus); + + iCertState = EGetFPrint; + + WaitUntilOperationDone(); + RDEBUG("CCertStore::RetrieveCertFPrint"); + return iFingerPrint; + + } + else + + RDEBUG("CCertStore::RetrieveCertFPrint-- not Found"); + return TDesC8(KNoKeyFound) ; + + + + } + +void CCertStore::RunL() + { + RDEBUG("CCertStore::RunL"); + + TInt result = iStatus.Int(); + if (iStatus == KErrNone) + { + switch (iCertState) { + + case EInitializeStore: + { + GetWritableCertStoreIndex(); + iWait->AsyncStop(); + break; + } + case ERemoveCert: + case EAddCert: + case EExistsInStore: + { + iWait->AsyncStop(); + break; + } + + case EGetFPrint: + { + iWait->AsyncStop(); + CX509Certificate* certR = CX509Certificate::NewL(*iCertData); + + HBufC8* fingerprint = certR->Fingerprint().AllocL(); + + TBuf8<20> fingerP; + fingerP.Copy(fingerprint->Des()); + + + iFingerPrint.Zero(); + + //convert fingerprint to plain text + for ( TInt i(0); i < fingerP.Length(); i++) + { + iFingerPrint.AppendNumFixedWidth(fingerP[i] , EHex,2); + iFingerPrint.UpperCase(); + } + + delete fingerprint; + delete certR; + certR = NULL; + break; + } + + default: + break; + } + + } + else + { + if(iWait) + { + iWait->AsyncStop(); + } + } + + + } + +void CCertStore::DoCancel() + { + RDEBUG("CCertStore::DoCancel"); + + if (iWait && iWait->IsStarted() && iWait->CanStopNow()) + { + iWait->AsyncStop(); + } + switch( iCertState ) + { + case EInitializeStore: + { + iCertStore->CancelInitialize(); + break; + } + } + + } diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineui/PolicyEngineUI.pro --- a/policymanagement/policyengine/policyengineui/PolicyEngineUI.pro Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineui/PolicyEngineUI.pro Fri Sep 17 19:59:15 2010 +0530 @@ -35,7 +35,7 @@ TARGET.UID3 = 0x10207817 hblib.sources = Hb.dll - hblib.path = \sys\bin + hblib.path = /sys/bin hblib.depends = "(0xEEF9EA38), 1, 0, 0, {\"Hb\"}" pluginstub.sources = PolicyEngUINotifiersplugin.dll diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineui/inc/PolicyEngineUI.h --- a/policymanagement/policyengine/policyengineui/inc/PolicyEngineUI.h Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineui/inc/PolicyEngineUI.h Fri Sep 17 19:59:15 2010 +0530 @@ -53,7 +53,10 @@ //signal to be sent to client void deviceDialogClosed(); void deviceDialogData(QVariantMap data); - + /** + * applicationReady() - To emit the application ready signal for matti tool. + */ + void applicationReady(); private: // number of tries user does int estbTrustCount; diff -r 910464db1b65 -r 08c8318ec9cb policymanagement/policyengine/policyengineui/src/PolicyEngineUI.cpp --- a/policymanagement/policyengine/policyengineui/src/PolicyEngineUI.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/policymanagement/policyengine/policyengineui/src/PolicyEngineUI.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -131,6 +131,7 @@ QObject::connect(secondaryAction, SIGNAL(triggered()), this, SLOT(onCancelSelected())); + emit applicationReady(); if (dialog1) dialog1->show(); diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_api/adaptive_history_list_api.metaxml --- a/remotemgmt_plat/adaptive_history_list_api/adaptive_history_list_api.metaxml Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ - - - Adaptive History List API - API providing basic list data structure. Order of items in the list is based on access frequency. - c++ - ahle - - - - - - - - - yes - no - - diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_api/group/bld.inf --- a/remotemgmt_plat/adaptive_history_list_api/group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: File that exports the files belonging to -: Adaptive History List API -* -*/ - - -#include - -PRJ_PLATFORMS -DEFAULT - -PRJ_EXPORTS - -../inc/ahlegenericapi.h MW_LAYER_PLATFORM_EXPORT_PATH(ahlegenericapi.h) -../inc/ahleobserver.h MW_LAYER_PLATFORM_EXPORT_PATH(ahleobserver.h) -../inc/ahlededicatedapi.h MW_LAYER_PLATFORM_EXPORT_PATH(ahlededicatedapi.h) -../inc/ahlegenericapi.inl MW_LAYER_PLATFORM_EXPORT_PATH(ahlegenericapi.inl) -../inc/ahlededicatedapi.inl MW_LAYER_PLATFORM_EXPORT_PATH(ahlededicatedapi.inl) diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_api/inc/ahlededicatedapi.h --- a/remotemgmt_plat/adaptive_history_list_api/inc/ahlededicatedapi.h Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,493 +0,0 @@ -/* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: API definition for dedicated clients. -* -*/ - -#ifndef MAHLEDEDICATEDAPI_H -#define MAHLEDEDICATEDAPI_H - -#include -#include - -class MAHLEObserver; - -/** -* AHLE API for dedicated clients. -* Provides API interface for dedicated clients -* -* @lib AHLE2CLIENT.lib -* @since Series 60 3.1 -*/ -class MAHLEDedicatedAPI - { - public: - - /** - * Destructor. - */ - inline virtual ~MAHLEDedicatedAPI(); - - /** - * Check if the client has been connected to the server - * - * @return ETrue if connected, otherwise EFalse - */ - virtual TBool IsConnected() = 0; - - /** - * Set client observer - * - * @param aObserver client observer - */ - virtual void SetObserverL(const MAHLEObserver* aObserver) = 0; - - /** - * Cancel client observer - */ - virtual void CancelObserver() = 0; - - /** - * Engine reconfiguration. - * New storage sizes have to be explicitly specified. - * - * @param aPrimarySize New primary storage size. - * @param aSecondarySize New secondary storage size. - * @param aAdaptationSpeed New adaptation speed. - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if one of parameters is out of range. - */ - virtual TInt Reconfigure( - TUint aPrimarySize, - TUint aSecondarySize, - TReal32 aAdaptationSpeed) = 0; - - /** - * Current engine configuration. - * - * @param aPrimarySize Current primary storage size. - * @param aSecondarySize Current secondary storage size. - * @param aAdaptationSpeed Current adaptation speed. - */ - virtual TInt GetConfiguration( - TUint& aPrimarySize, - TUint& aSecondarySize, - TReal32& aAdaptationSpeed) = 0; - - /** - * Logging new access synchronously. - * Used by Browser, Emails, Logs, Messaging, Phonebook - * - * @param aItem Access descriptor, key value in adaptive list - * Browser - url. URLs should follow URI Generic Syntax - * described in RFC 2396 - * Emails - email address - * Logs - telephone number - * Messaging - linkID - * Phonebook - linkID - * @param aDescription specific information about aItem - * Browser - name (e.g. Content of WML/HTML title tag) - * (defaults to empty string) - * Emails - defaults to empty string - * Logs - defaults to empty string - * Messaging - telephone number or e-mail address - * (second part of key value) - * Phonebook - telephone number (second part of key value) - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is in use (e.g. reading or writing file) and - * KErrArgument if size of one of parameters is out of range. - */ - virtual TInt NewAccess( - const TDesC& aItem, - const TDesC& aDescription = KAHLEItemDefaultDescription) = 0; - - /** - * Logging new access asynchronously. - * Used by Browser, Emails, Logs, Messaging, Phonebook - * - * @param aStatus Asychronous request status. - * @param aItem Access descriptor, key value in adaptive list - * Browser - url. URLs should follow URI Generic Syntax - * described in RFC 2396 - * Emails - email address - * Logs - telephone number - * Messaging - linkID - * Phonebook - linkID - * @param aDescription Name or telephone number - * Browser - name (e.g. Content of WML/HTML title tag) - * (defaults to empty string) - * Emails - defaults to empty string - * Logs - defaults to empty string - * Messaging - telephone number or e-mail address - * (second part of key value) - * Phonebook - telephone number (second key value) - */ - virtual void NewAccessL( - TRequestStatus& aStatus, - const TDesC& aItem, - const TDesC& aDescription = KAHLEItemDefaultDescription) = 0; - - /** - * Get adaptive list synchronously. Used by Emails and Logs. - * - * @param aItems Descriptor array containing items in ranked order. - * Emails - email addresses - * Logs - telephone numbers - * @param aSize Maximum length of returned list - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file). - */ - virtual TInt AdaptiveListL( - CDesCArray& aItems, - const TUint aSize) = 0; - - /** - * Get adaptive list asynchronously. Used by Emails and Logs. - * - * @param aStatus Asynchronous request status. - * @param aItems Descriptor array containing items in ranked order. - * Emails - email addresses - * Logs - telephone numbers - * @param aSize Maximum length of returned list - */ - virtual void AdaptiveListL( - TRequestStatus& aStatus, - CDesCArray& aItems, - const TUint aSize) = 0; - - /** - * Get adaptive list synchronously. - * Used by Browser, Messaging and Phonebook. - * For Browser there is an option of selecting sites/groups or details - * (e.g. All the urls within a site or members of a group) for a - * site/group. In case of auto-complete, parameter - * EAHLEAdaptiveAutoComplete as aState should be used. - * - * @param aItems Descriptor array containing key items in ranked order - * Browser - array of URLs - * Messaging - array of linkIDs - * Phonebook - array of linkIDs - * @param aDescription Descriptor array containing names or telephone - * numbers in ranked order - * Browser - array of URL names - * Messaging - array of telephone numbers or - * e-mail addresses (indirectly thrue phonebook) - * Phonebook - array of telephone numbers - * @param aSize Maximum length of returned list - * @param aMatch - * Browser - Substring to match beginnings of adaptive list - * items. Matching is case insensitive. - * Messaging - default value - * Phonebook - default value - * @param aState - * Browser - Details of adaptive list items - possible - * values: - * EAHLEAdaptiveSiteList, - * EAHLEAdaptiveSiteDetails and - * EAHLEAdaptiveAutoComplete. - * Messaging - default value - * Phonebook - default value - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if size of one of parameters is incorrect. - */ - virtual TInt AdaptiveListL( - CDesCArray& aItems, - CDesCArray& aDescription, - const TUint aSize, - const TDesC& aMatch = KAHLENoMatch, - const TAHLEState aState = EAHLEAdaptiveSiteList) = 0; - - /** - * Get adaptive list asynchronously. - * Used by Browser, Messaging and Phonebook. - * For Browser there is an option of selecting sites/groups or details - * (e.g. All the urls within a site or members of a group) for a - * site/group. In case of auto-complete, parameter - * EAHLEAdaptiveAutoComplete as aState should be used. - * - * @param aStatus Asynchronous request status. - * @param aItems Descriptor array containing key items in ranked order - * Browser - array of URLs - * Messaging - array of linkIDs - * Phonebook - array of linkIDs - * @param aDescription Descriptor array containing names or telephone - * numbers in ranked order - * Browser - array of URL names - * Messaging - array of telephone numbers or - * e-mail addresses (indirectly thrue phonebook) - * Phonebook - array of telephone numbers - * @param aSize Maximum length of returned list - * @param aMatch - * Browser - Substring to match beginnings of adaptive list - * items. Matching is case insensitive. - * Messaging - default value - * Phonebook - default value - * @param aState - * Browser - Details of adaptive list items - possible - * values: - * EAHLEAdaptiveSiteList, - * EAHLEAdaptiveSiteDetails and - * EAHLEAdaptiveAutoComplete. - * Messaging - default value - * Phonebook - default value - */ - virtual void AdaptiveListL( - TRequestStatus& aStatus, - CDesCArray& aItems, - CDesCArray& aDescription, - const TUint aSize, - const TDesC& aMatch = KAHLENoMatch, - const TAHLEState aState = EAHLEAdaptiveSiteList) = 0; - - /** - * Remove item synchronously. - * Used by Browser, Emails, Logs, Messaging, Phonebook - * - * @param aItem Item to be removed - * Browser - a url - * Emails - an email - * Logs - a telephone number - * Messaging - linkID - * Phonebook - linkID - * @param aPhoneNumber telephone number to be removed from a contact - * Browser - defaults to empty string - * Emails - defaults to empty string - * Logs - defaults to empty string - * Messaging - telephone number or e-mail address - * Phonebook - telephone number - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if size of one of parameters is to long. - */ - virtual TInt Remove( - const TDesC& aItem, - const TDesC& aPhoneNumber = KAHLEItemDefaultDescription) = 0; - - /** - * Remove item asynchronously. - * Used by Browser, Emails, Logs, Messaging, Phonebook - * - * @param aStatus Request status (in asynchronous versions) - * @param aItem Item to be removed - * Browser - a url - * Emails - an email - * Logs - a telephone number - * Messaging - linkID - * Phonebook - linkID - * @param aPhoneNumber telephone number to be removed from a contact - * Browser - defaults to empty string - * Emails - defaults to empty string - * Logs - defaults to empty string - * Messaging - telephone number or e-mail address - * Phonebook - telephone number - */ - virtual void RemoveL( - TRequestStatus& aStatus, - const TDesC& aItem, - const TDesC& aPhoneNumber = KAHLEItemDefaultDescription) = 0; - - /** - * Remove items synchronously. - * Used by Browser, Emails, Logs - * - * @param aItems Items to be removed - * Browser - array of urls - * Emails - array of emails - * Logs - array of telephone numbers - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if table is empty or one of items in table is - * empty. - */ - virtual TInt RemoveL(const CDesCArray& aItems) = 0; - - /** - * Remove items asynchronously. - * Used by Browser, Emails, Logs - * - * @param aStatus Request status - * @param aItems Items to be removed - * Browser - array of urls - * Emails - array of emails - * Logs - array of telephone numbers - */ - virtual void RemoveL( - TRequestStatus& aStatus, - const CDesCArray& aItems) = 0; - - - /** - * Remove items synchronously. - * Used by Messaging, Phonebook - * - * @param aItems Array of linkIDs to be removed - * @param aPhoneNumbers Array of telephone numbers or/and - * e-mail addresses to be removed - * from a contact. - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if table is empty or one of items in table is - * empty. - */ - virtual TInt RemoveL( - const CDesCArray& aItems, - const CDesCArray& aPhoneNumbers) = 0; - - /** - * Remove items asynchronously. - * Used by Messaging, Phonebook - * - * @param aStatus Request status - * @param aItems Array of linkIDs to be removed - * @param aPhoneNumbers Array of telephone numbers or/and - * e-mail addresses to be removed - */ - virtual void RemoveL( - TRequestStatus& aStatus, - const CDesCArray& aItems, - const CDesCArray& aPhoneNumbers) = 0; - - /** - * Remove matching items synchronously. - * Used by Browser, Messaging, Phonebook - * - * @param aMatch Match for items to be removed. - * Browser - matching string. Removes all items that match - * the given string. Matching is case sensitive. - * Messaging - linkID. Removes all items corresponding to - * the linkID - * Phonebook - linkID. Removes all items corresponding to - * the linkID - * @returns The number of removed items, or otherwise an error code. - * Returns KErrInUse if AHLE server is busy (e.g. reading or - * writing file) and KErrArgument if match is to long. - */ - virtual TInt RemoveMatching(const TDesC& aMatch) = 0; - - /** - * Remove matching items asynchronously. - * Used by Browser, Messaging, Phonebook - * - * @param aStatus Request status - * @param aMatch Match for items to be removed. - * Browser - matching string. Removes all items that match - * the given string. Matching is case sensitive. - * Messaging - linkID. Removes all items corresponding to - * the linkID - * Phonebook - linkID. Removes all items corresponding to - * the linkID - */ - virtual void RemoveMatchingL( - TRequestStatus& aStatus, - const TDesC& aMatch) = 0; - - /** - * Rename item synchronously - * Used by Browser, Messaging, Phonebook - * - * @param aItem Item to be renamed - * Browser - a url - * Messaging - linkID - * Phonebook - linkID - * @param aNewDescription New description. - * Browser - new name of url - * Messaging - new telephone number or e-mail address - * Phonebook - new telephone number - * @param aDescription Description to be renamed. - * Browser - defaults to empty string - * Messaging - old telephone number or e-mail address - * Phonebook - old telephone number - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if size of one of parameters is to long. - */ - virtual TInt RenameL( - const TDesC& aItem, - const TDesC& aNewDescription, - const TDesC& aDescription = KAHLEItemDefaultDescription) = 0; - - /** - * Rename item asynchronously - * Used by Browser, Messaging, Phonebook - * - * @param aStatus Request status - * @param aItem Item to be renamed - * Browser - a url - * Messaging - linkID - * Phonebook - linkID - * @param aNewDescription New description. - * Browser - new name of url - * Messaging - new telephone number or e-mail address - * Phonebook - new telephone number - * @param aDescription Description to be renamed. - * Browser - defaults to empty string - * Messaging - old telephone number or e-mail address - * Phonebook - old telephone number - */ - virtual void RenameL( - TRequestStatus& aStatus, - const TDesC& aItem, - const TDesC& aNewDescription, - const TDesC& aDescription = KAHLEItemDefaultDescription) = 0; - - /** - * Clear all adaptive list items synchronously - * - * @returns KErrNone if ok, otherwise an error code. - * Returns KErrInUse if AHLE server is busy - * (e.g. reading or writing file). - */ - virtual TInt Clear() = 0; - - /** - * Clear all adaptive list items asynchronously - * - * @param aStatus Request status - */ - virtual void Clear(TRequestStatus& aStatus) = 0; - - /** - * Flush cached items to persistent storage synchronously - * - * @returns KErrNone if ok, otherwise an error code. - * Returns KErrInUse if AHLE server is busy - * (e.g. reading or writing file). - */ - virtual TInt Flush() = 0; - - /** - * Flush cached items to persistent storage asynchronously - * - * @param aStatus Request status - * @returns KErrNone if ok, otherwise an error code. - * Returns KErrInUse if AHLE server is busy - * (e.g. reading or writing file). - */ - virtual void Flush(TRequestStatus& aStatus) = 0; - }; - -#include "ahlededicatedapi.inl" - -/** -* AHLE Client API constructor -* @param aClientType AHLE client type -* @return MAHLEDedicatedAPI pointer to AHLE Client API -*/ -IMPORT_C MAHLEDedicatedAPI* NewAHLEClientL(TAHLEClientType aClientType); - -#endif // MAHLEDEDICATEDAPI_H - -// End of File diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_api/inc/ahlededicatedapi.inl --- a/remotemgmt_plat/adaptive_history_list_api/inc/ahlededicatedapi.inl Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -/* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: AHLE dedicated API inline destructor -* -*/ - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// MAHLEDedicatedAPI::~MAHLEDedicatedAPI -// Virtual destructor. -// ----------------------------------------------------------------------------- -// -inline MAHLEDedicatedAPI::~MAHLEDedicatedAPI() - { - } - -// End of File diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_api/inc/ahlegenericapi.h --- a/remotemgmt_plat/adaptive_history_list_api/inc/ahlegenericapi.h Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,293 +0,0 @@ -/* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: API ddefinition for generic clients and SDK. -* -*/ - -#ifndef MAHLEGENERICAPI_H -#define MAHLEGENERICAPI_H - -#include -#include - -class MAHLEObserver; - -class MAHLEGenericAPI - { - public: - - /** - * Destructor. - */ - inline virtual ~MAHLEGenericAPI(); - - /** - * Check if the client has been connected to the server - * - * @return ETrue if connected, otherwise EFalse - */ - virtual TBool IsConnected() = 0; - - /** - * Set client observer - * - * @param aObserver client observer - */ - virtual void SetObserverL(const MAHLEObserver* aObserver) = 0; - - /** - * Cancel client observer - */ - virtual void CancelObserver() = 0; - - /** - * Engine reconfiguration. - * New storage sizes have to be explicitly specified. - * - * @param aPrimarySize New primary storage size. - * @param aSecondarySize New secondary storage size. - * @param aAdaptationSpeed New adaptation speed. - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if one of parameters is out of range. - */ - virtual TInt Reconfigure( - TUint aPrimarySize, - TUint aSecondarySize, - TReal32 aAdaptationSpeed) = 0; - - /** - * Current engine configuration. - * - * @param aPrimarySize Current primary storage size. - * @param aSecondarySize Current secondary storage size. - * @param aAdaptationSpeed Current adaptation speed. - */ - virtual TInt GetConfiguration( - TUint& aPrimarySize, - TUint& aSecondarySize, - TReal32& aAdaptationSpeed) = 0; - - /** - * Logging new access synchronously. - * - * @param aItem Access descriptor, key value in adaptive list - * @param aName Name descriptor (defaults to empty string). - * @param aWeight Weight of an item (defaults to 1). - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is in use (e.g. reading or writing file) and - * KErrArgument if size of one of parameters is out of range. - */ - virtual TInt NewAccess( - const TDesC& aItem, - const TDesC& aName = KAHLEItemDefaultName, - TReal32 aWeight = KAHLEDefaultWeight) = 0; - - /** - * Logging new access asynchronously. - * - * @param aStatus Asychronous request status. - * @param aItem Access descriptor, key value in adaptive list - * @param aName Name descriptor (defaults to empty string). - * @param aWeight Weight of an item (defaults to 1). - */ - virtual void NewAccessL( - TRequestStatus& aStatus, - const TDesC& aItem, - const TDesC& aName = KAHLEItemDefaultName, - TReal32 aWeight = KAHLEDefaultWeight) = 0; - - /** - * Get adaptive list synchronously. - * - * @param aItems Descriptor array containing items in ranked order. - * @param aNames Descriptor array containing aItems names - * @param aSize Maximum length of returned list - * @param aMatch Substring to match beginnings of adaptive list items - * (optional, default is to match everything). Matching is case - * sensitive. - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if aMatch is to long. - */ - virtual TInt AdaptiveListL( - CDesCArray& aItems, - CDesCArray& aNames, - const TUint aSize, - const TDesC& aMatch = KAHLENoMatch) = 0; - - /** - * Get adaptive list asynchronously. - * - * @param aStatus Asynchronous request status. - * @param aItems Descriptor array containing items in ranked order. - * @param aNames Descriptor array containing aItems names - * @param aSize Maximum length of returned list - * @param aMatch Substring to match beginnings of adaptive list items - * (optional, default is to match everything). Matching is case - * sensitive. - */ - virtual void AdaptiveListL( - TRequestStatus& aStatus, - CDesCArray& aItems, - CDesCArray& aNames, - const TUint aSize, - const TDesC& aMatch = KAHLENoMatch) = 0; - - /** - * Remove item synchronously. - * - * @param aItem Item to be removed - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) - * and KErrArgument if size of parameter is out of range. - */ - virtual TInt Remove(const TDesC& aItem) = 0; - - /** - * Remove item asynchronously. - * - * @param aStatus Request status (in asynchronous versions) - * @param aItem Item to be removed - */ - virtual void RemoveL(TRequestStatus& aStatus, const TDesC& aItem) = 0; - - /** - * Remove items synchronously. - * - * @param aItems Items to be removed - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) and - * KErrArgument if table is empty or one of items in table is - * empty. - */ - virtual TInt RemoveL(const CDesCArray& aItems) = 0; - - /** - * Remove items asynchronously. - * - * @param aStatus Request status - * @param aItems Items to be removed - */ - virtual void RemoveL( - TRequestStatus& aStatus, - const CDesCArray& aItems) = 0; - - /** - * Remove matching items synchronously. - * - * @param aMatch Match for items to be removed. Matching is case - * sensitive. - * @returns The number of removed items, or otherwise an error code. - * Returns KErrInUse if AHLE server is busy (e.g. reading or - * writing file) and KErrArgument if match is to long. - */ - virtual TInt RemoveMatching(const TDesC& aMatch) = 0; - - /** - * Remove matching items asynchronously. - * - * @param aStatus Request status - * @param aMatch Match for items to be removed. Matching is case - * sensitive. - */ - virtual void RemoveMatchingL( - TRequestStatus& aStatus, - const TDesC& aMatch) = 0; - - /** - * Rename item synchronously - * - * @param aItem Item to be renamed - * @param aNewName New name for the item. - * @returns KErrNone if ok, otherwise an error code. Returns KErrInUse - * if AHLE server is busy (e.g. reading or writing file) - * and KErrArgument if size of one of parameters is to long. - */ - virtual TInt RenameL(const TDesC& aItem, const TDesC& aNewName) = 0; - - /** - * Rename item asynchronously - * - * @param aItem Item to be renamed - * @param aNewName New name for the item. - */ - virtual void RenameL( - TRequestStatus& aStatus, - const TDesC& aItem, - const TDesC& aNewName) = 0; - - /** - * Clear all adaptive list items synchronously - * - * @returns KErrNone if ok, otherwise an error code. - * Returns KErrInUse if AHLE server is busy - * (e.g. reading or writing file). - */ - virtual TInt Clear() = 0; - - /** - * Clear all adaptive list items asynchronously - * - * @param aStatus Request status - */ - virtual void Clear(TRequestStatus& aStatus) = 0; - - /** - * Flush cached items to persistent storage synchronously - * - * @returns KErrNone if ok, otherwise an error code. - * Returns KErrInUse if AHLE server is busy - * (e.g. reading or writing file). - */ - virtual TInt Flush() = 0; - - /** - * Flush cached items to persistent storage asynchronously - * - * @param aStatus Request status - * @returns KErrNone if ok, otherwise an error code. - * Returns KErrInUse if AHLE server is busy - * (e.g. reading or writing file). - */ - virtual void Flush(TRequestStatus& aStatus) = 0; - - /** - * Sorts items by their weights. - * @param aItems Descriptor array containing items to be sorted. - * @param aItemsSorted Array containing those indexes of items from - * aItems array that are also found from Adaptive History List - * Engine ordered by their weight - * (in Adaptive History List Engine). - * @param aSortOrder Sorting items order (ascending or descending) - * @return KErrNone if ok, otherwise an error code. - */ - virtual TInt OrderByWeightL( - const CDesCArray& aItems, - RArray& aItemsSorted, - TAHLESortOrder aSortOrder = EAHLEAscending) = 0; - }; - -#include - -/** -* AHLE Client API constructor -* @param aDatabaseName Name of the database. -* @return MAHLEGenericAPI pointer to AHLE Client API -*/ -IMPORT_C MAHLEGenericAPI* NewAHLEClientL(const TDesC& aDatabaseName); - -#endif // MAHLEGENERICAPI_H - -// End of File diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_api/inc/ahlegenericapi.inl --- a/remotemgmt_plat/adaptive_history_list_api/inc/ahlegenericapi.inl Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -/* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: AHLE generic API inline destructor -* -*/ - - -// ============================ MEMBER FUNCTIONS =============================== - -// ----------------------------------------------------------------------------- -// MAHLEGenericAPI::~MAHLEGenericAPI -// Virtual destructor. -// ----------------------------------------------------------------------------- -// -inline MAHLEGenericAPI::~MAHLEGenericAPI() - { - } - -// End of File diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_api/inc/ahleobserver.h --- a/remotemgmt_plat/adaptive_history_list_api/inc/ahleobserver.h Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -/* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Interface for AHLE engine observer class. -* -*/ - -#ifndef MAHLEOBSERVER_H -#define MAHLEOBSERVER_H - -#include "e32def.h" - -/** -* Interface for AHLE engine observer class. -* -* @lib AHLE2CLIENT.dll -* @since Series 60 3.1 -*/ -class MAHLEObserver - { - public: - - /** - * Observer method invoked when primary storage is changed. - * - * @param anError KErrNone if ok, otherwise an other error code. - */ - virtual void AdaptiveListChanged(const TInt aError) = 0; - }; - -#endif // MAHLEOBSERVER_H - -// End of File diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_session_api/adaptive_history_list_session_api.metaxml --- a/remotemgmt_plat/adaptive_history_list_session_api/adaptive_history_list_session_api.metaxml Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - Adaptive History List Session API - - c++ - ahle - - - - - - - - yes - no - - diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_session_api/group/bld.inf --- a/remotemgmt_plat/adaptive_history_list_session_api/group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -/* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: File that exports the files belonging to -: Adaptive History List Session API -* -*/ - - -#include - -PRJ_PLATFORMS -DEFAULT - -PRJ_EXPORTS - -../inc/ahlegeneric.h MW_LAYER_PLATFORM_EXPORT_PATH(ahlegeneric.h) -../inc/ahlededicated.h MW_LAYER_PLATFORM_EXPORT_PATH(ahlededicated.h) diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_session_api/inc/ahlededicated.h --- a/remotemgmt_plat/adaptive_history_list_session_api/inc/ahlededicated.h Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Common definitions for dedicated clients. -* -*/ - -#ifndef AHLEDEDICATED_H -#define AHLEDEDICATED_H - -#include -#include -#include "ahlegeneric.h" - -_LIT(KAHLEItemDefaultDescription, ""); - -enum TAHLEClientType -{ - EAHLEGeneric, - EAHLEBrowser, - EAHLEPhonebook, - EAHLEMessaging, - EAHLELogs, - EAHLEEmail -}; - -enum TAHLEState -{ - EAHLEAdaptiveSiteList, - EAHLEAdaptiveSiteDetails, - EAHLEAdaptiveAutoComplete -}; - - -#endif // AHLEDEDICATED_H - -// End of File diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/adaptive_history_list_session_api/inc/ahlegeneric.h --- a/remotemgmt_plat/adaptive_history_list_session_api/inc/ahlegeneric.h Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Common definitions for generic clients. -* -*/ - -#ifndef AHLEGENERIC_H -#define AHLEGENERIC_H - -_LIT(KAHLEItemDefaultName, ""); -_LIT(KAHLENoMatch, ""); - -const TUint KAHLEMaxItemLength = 1024; -const TUint KAHLEMaxDescriptionLength = 256; - -const static TReal32 KAHLEDefaultWeight = 1; - -enum TAHLESortOrder - { - EAHLEAscending, - EAHLEDescending - }; - -#endif // AHLEGENERIC_H - -// End of File diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/data_synchronization_plugin_api/group/bld.inf --- a/remotemgmt_plat/data_synchronization_plugin_api/group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/data_synchronization_plugin_api/group/bld.inf Fri Sep 17 19:59:15 2010 +0530 @@ -24,20 +24,11 @@ PRJ_EXPORTS -//../inc/SmlDataProvider.h MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataProvider.h) -//../inc/SyncMLDataFilter.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDataFilter.h) -//../inc/SmlDataFormat.hrh MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataFormat.hrh) -//../inc/SyncMLDataFilter.hrh MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDataFilter.hrh) -//../inc/SyncMLDataFilter.rh MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDataFilter.rh) -//../inc/syncml/SmlDataSyncDefs.h MW_LAYER_PLATFORM_EXPORT_PATH(syncml/SmlDataSyncDefs.h) -//../inc/SmlDataFormat.h MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataFormat.h) -//../inc/SmlDataFormat.rh MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataFormat.rh) - -../inc/SmlDataProvider.h /epoc32/include/SmlDataProvider.h -../inc/SmlDataFormat.hrh /epoc32/include/SmlDataFormat.hrh -../inc/SyncMLDataFilter.h /epoc32/include/SyncMLDataFilter.h -../inc/SyncMLDataFilter.rh /epoc32/include/SyncMLDataFilter.rh -../inc/SyncMLDataFilter.hrh /epoc32/include/SyncMLDataFilter.hrh -../inc/syncml/SmlDataSyncDefs.h /epoc32/include/syncml/SmlDataSyncDefs.h -../inc/SmlDataFormat.h /epoc32/include/SmlDataFormat.h -../inc/SmlDataFormat.rh /epoc32/include/SmlDataFormat.rh +../inc/SmlDataProvider.h MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataProvider.h) +../inc/SmlDataFormat.hrh MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataFormat.hrh) +../inc/SyncMLDataFilter.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDataFilter.h) +../inc/SyncMLDataFilter.rh MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDataFilter.rh) +../inc/SyncMLDataFilter.hrh MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDataFilter.hrh) +../inc/syncml/SmlDataSyncDefs.h MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataSyncDefs.h) +../inc/SmlDataFormat.h MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataFormat.h) +../inc/SmlDataFormat.rh MW_LAYER_PLATFORM_EXPORT_PATH(SmlDataFormat.rh) diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/data_synchronization_plugin_api/inc/SmlDataProvider.h --- a/remotemgmt_plat/data_synchronization_plugin_api/inc/SmlDataProvider.h Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/data_synchronization_plugin_api/inc/SmlDataProvider.h Fri Sep 17 19:59:15 2010 +0530 @@ -21,7 +21,7 @@ // #include #include -#include +#include #include // /** diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/device_management_plugin_api/group/bld.inf --- a/remotemgmt_plat/device_management_plugin_api/group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/device_management_plugin_api/group/bld.inf Fri Sep 17 19:59:15 2010 +0530 @@ -24,9 +24,6 @@ PRJ_EXPORTS -//../inc/smldmadapter.inl MW_LAYER_PLATFORM_EXPORT_PATH(smldmadapter.inl) -//../inc/smldmadapter.h MW_LAYER_PLATFORM_EXPORT_PATH(smldmadapter.h) +../inc/smldmadapter.inl MW_LAYER_PLATFORM_EXPORT_PATH(smldmadapter.inl) +../inc/smldmadapter.h MW_LAYER_PLATFORM_EXPORT_PATH(smldmadapter.h) - -../inc/smldmadapter.inl /epoc32/include/smldmadapter.inl -../inc/smldmadapter.h /epoc32/include/smldmadapter.h \ No newline at end of file diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/group/bld.inf --- a/remotemgmt_plat/group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/group/bld.inf Fri Sep 17 19:59:15 2010 +0530 @@ -40,10 +40,7 @@ #include "../dm_constant_definitions_api/group/bld.inf" #include "../oma_ds_extensions_api/group/bld.inf" #include "../pnpms_utils_api/group/bld.inf" -#include "../adaptive_history_list_api/group/bld.inf" -#include "../adaptive_history_list_session_api/group/bld.inf" #include "../fota_engine_api/group/bld.inf" -#include "../update_package_storage_plugin_api/group/bld.inf" #include "../dcmo_adapter_api/group/bld.inf" #include "../dcmo_control_api/group/bld.inf" #include "../ds_capability_mgmt_plugin_api/group/bld.inf" diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/oma_ds_extensions_api/inc/nsmlsnapshotitem.h --- a/remotemgmt_plat/oma_ds_extensions_api/inc/nsmlsnapshotitem.h Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/oma_ds_extensions_api/inc/nsmlsnapshotitem.h Fri Sep 17 19:59:15 2010 +0530 @@ -21,7 +21,7 @@ // INCLUDES #include -#include +#include // CLASS DECLARATION diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/policy_management_request_api/inc/PolicyEngineClient.h --- a/remotemgmt_plat/policy_management_request_api/inc/PolicyEngineClient.h Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/policy_management_request_api/inc/PolicyEngineClient.h Fri Sep 17 19:59:15 2010 +0530 @@ -28,6 +28,7 @@ #include #include +#include // CONSTANTS // MACROS @@ -144,6 +145,23 @@ * @return Symbian error code */ IMPORT_C TInt CertificateRole( TCertInfo& aCertInfo, TRole& aRole); + + /** + * AddServerCert sets the certificate received from + * server and makes it as trusted. + * @param aCert certificate recieved for storage + * @return KErrNone Symbian error code + */ + IMPORT_C TInt AddServerCert(const CX509Certificate& aCert, TDes& aLabel); + + + /** + * RemoveServerCert removes the certificate stored + * in the cert store. + * @param aLabel label of certificate to be removed + * @return KErrNone Symbian error code + */ + IMPORT_C TInt RemoveServerCert(const TDesC& aLabel = KNullDesC); }; /** diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/policy_management_request_api/tsrc/conf/PolicyEngineClient.cfg --- a/remotemgmt_plat/policy_management_request_api/tsrc/conf/PolicyEngineClient.cfg Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/policy_management_request_api/tsrc/conf/PolicyEngineClient.cfg Fri Sep 17 19:59:15 2010 +0530 @@ -93,4 +93,18 @@ create policy_management_request_api foobar foobar GetXACMLDescription root_element delete foobar +[Endtest] + +[Test] +title AddServerCert +create policy_management_request_api foobar +foobar AddServerCert root_element +delete foobar +[Endtest] + +[Test] +title RemoveServerCert +create policy_management_request_api foobar +foobar RemoveServerCert root_element +delete foobar [Endtest] \ No newline at end of file diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/policy_management_request_api/tsrc/group/policy_management_request_api.mmp --- a/remotemgmt_plat/policy_management_request_api/tsrc/group/policy_management_request_api.mmp Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/policy_management_request_api/tsrc/group/policy_management_request_api.mmp Fri Sep 17 19:59:15 2010 +0530 @@ -55,6 +55,7 @@ LIBRARY PMRFSClient.lib LIBRARY TrustClient.lib LIBRARY efsrv.lib +LIBRARY x509.lib LANG SC /* diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/policy_management_request_api/tsrc/inc/policy_management_request_api.h --- a/remotemgmt_plat/policy_management_request_api/tsrc/inc/policy_management_request_api.h Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/policy_management_request_api/tsrc/inc/policy_management_request_api.h Fri Sep 17 19:59:15 2010 +0530 @@ -169,6 +169,9 @@ TInt GetElememtListL( CStifItemParser& aItem ); TInt GetElememtL (CStifItemParser& aItem); TInt GetXACMLDescriptionL(CStifItemParser& aItem); + TInt AddServerCertL(CStifItemParser& aItem); + TInt RemoveServerCertL(CStifItemParser& aItem); + public: // Data // ?one_line_short_description_of_data //?data_declaration; diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/policy_management_request_api/tsrc/src/policy_management_request_apiBlocks.cpp --- a/remotemgmt_plat/policy_management_request_api/tsrc/src/policy_management_request_apiBlocks.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/policy_management_request_api/tsrc/src/policy_management_request_apiBlocks.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -30,12 +30,13 @@ #include #include +#include _LIT( KServerID, "TarmBlr"); //_LIT( KTarmBlrCer, "TarmBlrcer"); _LIT( KTestFilePath, "E:\\testing\\data\\"); - +const TInt KMaxLabelIdLength = 25; // ============================ MEMBER FUNCTIONS =============================== @@ -77,6 +78,9 @@ ENTRY( "GetElememtList", Cpolicy_management_request_api::GetElememtListL ), ENTRY( "GetElememt", Cpolicy_management_request_api::GetElememtL ), ENTRY( "GetXACMLDescription", Cpolicy_management_request_api::GetXACMLDescriptionL ), + + ENTRY( "AddServerCert", Cpolicy_management_request_api::AddServerCertL ), + ENTRY( "RemoveServerCert", Cpolicy_management_request_api::RemoveServerCertL ), //ADD NEW ENTRY HERE // [test cases entries] - Do not remove @@ -200,6 +204,71 @@ return err; } +TInt Cpolicy_management_request_api::AddServerCertL(CStifItemParser& aItem) + { + //Load X.509 certificate + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + + RFile certFile; + User::LeaveIfError(certFile.Open(fs, _L("c:\\dm2.blrtesting.der"), EFileRead)); + CleanupClosePushL(certFile); + + TInt size(0); + User::LeaveIfError(certFile.Size(size)); + + HBufC8* certData = HBufC8::NewLC(size); + TPtr8 buf = certData->Des(); + User::LeaveIfError(certFile.Read(buf,size)); + CX509Certificate* cert = CX509Certificate::NewLC(*certData); + //create the empty label to be filled later with certificate name after adding to store. + HBufC *testLabel = HBufC::NewL(KMaxLabelIdLength); + testLabel->Des().Zero(); + + //connect to policy engine + RPolicyEngine engine; + User::LeaveIfError(engine.Connect()); + + RPolicyManagement management; + User::LeaveIfError(management.Open(engine)); + + TPtr ptr = testLabel->Des(); + TInt err = management.AddServerCert(*cert,ptr); + + management.Close(); + engine.Close(); + + + CleanupStack::PopAndDestroy(4, &fs); + delete testLabel; + + return err; + } + + +TInt Cpolicy_management_request_api::RemoveServerCertL(CStifItemParser& aItem) + { + RPolicyEngine engine; + User::LeaveIfError(engine.Connect()); + + RPolicyManagement management; + User::LeaveIfError(management.Open(engine)); + + //create the empty label + HBufC *testLabel = HBufC::NewL(KMaxLabelIdLength); + testLabel->Des().Zero(); + TInt err = management.RemoveServerCert(*testLabel); + + management.Close(); + engine.Close(); + + delete testLabel; + + return err; + } + + TInt Cpolicy_management_request_api::CertificateRoleL( CStifItemParser& aItem ) { RPolicyEngine engine; diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/syncml_client_api/group/bld.inf --- a/remotemgmt_plat/syncml_client_api/group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ b/remotemgmt_plat/syncml_client_api/group/bld.inf Fri Sep 17 19:59:15 2010 +0530 @@ -24,24 +24,14 @@ PRJ_EXPORTS -//../inc/SyncMLHistory.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLHistory.h) -//../inc/SyncMLErr.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLErr.h) -//../inc/SyncMLClientDM.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLClientDM.h) -//../inc/SyncMLAlertInfo.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLAlertInfo.h) -//../inc/SyncMLDef.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDef.h) -//../inc/SyncMLClient.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLClient.h) -//../inc/SyncMLTransportProperties.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLTransportProperties.h) -//../inc/SyncMLObservers.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLObservers.h) -//../inc/SyncMLClientDS.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLClientDS.h) - -../inc/SyncMLHistory.h /epoc32/include/SyncMLHistory.h -../inc/SyncMLErr.h /epoc32/include/SyncMLErr.h -../inc/SyncMLClientDM.h /epoc32/include/SyncMLClientDM.h -../inc/SyncMLAlertInfo.h /epoc32/include/SyncMLAlertInfo.h -../inc/SyncMLDef.h /epoc32/include/SyncMLDef.h -../inc/SyncMLClient.h /epoc32/include/SyncMLClient.h -../inc/SyncMLContactSuiteProgressClient.h /epoc32/include/SyncMLContactSuiteProgressClient.h -../inc/SyncMLTransportProperties.h /epoc32/include/SyncMLTransportProperties.h -../inc/SyncMLObservers.h /epoc32/include/SyncMLObservers.h -../inc/SyncMLClientDS.h /epoc32/include/SyncMLClientDS.h +../inc/SyncMLHistory.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLHistory.h) +../inc/SyncMLErr.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLErr.h) +../inc/SyncMLClientDM.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLClientDM.h) +../inc/SyncMLAlertInfo.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLAlertInfo.h) +../inc/SyncMLDef.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLDef.h) +../inc/SyncMLClient.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLClient.h) +../inc/SyncMLContactSuiteProgressClient.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLContactSuiteProgressClient.h) +../inc/SyncMLTransportProperties.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLTransportProperties.h) +../inc/SyncMLObservers.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLObservers.h) +../inc/SyncMLClientDS.h MW_LAYER_PLATFORM_EXPORT_PATH(SyncMLClientDS.h) diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/update_package_storage_plugin_api/group/bld.inf --- a/remotemgmt_plat/update_package_storage_plugin_api/group/bld.inf Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -/* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: File that exports the files belonging to -: Update Package Storage Plug-in API -* -*/ - - -#include - -PRJ_PLATFORMS -DEFAULT - -PRJ_EXPORTS - -../inc/fotastorage.h MW_LAYER_PLATFORM_EXPORT_PATH(fotastorage.h) diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/update_package_storage_plugin_api/inc/fotastorage.h --- a/remotemgmt_plat/update_package_storage_plugin_api/inc/fotastorage.h Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -/* -* 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: Handles storing of update pkg -* -*/ - - -#ifndef __FOTASTORAGE_H_ -#define __FOTASTORAGE_H_ - -#include - - -/* -* Handles all package storing and space reservation functionality. -* This class is used by fotaserver and rfs. -* -*/ -class CFotaStorage : public CBase -{ - - public: - - enum TFreeSpace - { - EFitsToReservation, // fits to space reservation - EFitsToFileSystem, // doesn't fit to reservation,fits to FS - EDoesntFitToFileSystem // doesn't fit to fs - }; - - // This func is used to reserve storage space for future packages - virtual TInt AdjustDummyStorageL() = 0; - - // This function is used to get the filestream pointer for writing the package. - virtual TInt OpenUpdatePackageStoreL(const TInt aPkgId,TInt aNewDummySize - , RWriteStream*& aPkgStore) = 0; - - // This function is used to get the downloaded update package size. - virtual void GetDownloadedUpdatePackageSizeL (const TInt aPkgId, TInt& aSize ) = 0; - virtual void UpdatePackageDownloadCompleteL(const TInt aPkgId) = 0; - - // Get update package location. - virtual void GetUpdatePackageLocationL(const TInt aPkgId - , TDes8& aPath ) = 0; - - virtual void GetUpdatePackageIdsL(TDes16& aPackageIdList) = 0; - - // does the pkg fit to storage? - virtual TFreeSpace IsPackageStoreSizeAvailableL (TInt& aSize) = 0; - - virtual void DeleteUpdatePackageL ( const TInt aPkgId ) = 0; - - protected: - - - public: - - // Bytes written to store, client must update - TInt iBytesWritten; - - TUid iDtor_ID_Key; - -}; -#endif //__FOTASTORAGE_H_ diff -r 910464db1b65 -r 08c8318ec9cb remotemgmt_plat/update_package_storage_plugin_api/update_package_storage_plugin_api.metaxml --- a/remotemgmt_plat/update_package_storage_plugin_api/update_package_storage_plugin_api.metaxml Fri Sep 03 22:35:56 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - Update Package Storage Plug-in API - ECOM plug-in API for update package storage implementation - c++ - fotaapplication - - - - - - - - yes - no - - diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/common/http/bld/nsmlhttp.mmp --- a/syncmlfw/common/http/bld/nsmlhttp.mmp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/common/http/bld/nsmlhttp.mmp Fri Sep 17 19:59:15 2010 +0530 @@ -56,7 +56,7 @@ USERINCLUDE ../../../../inc // internal header include path -LIBRARY euser.lib +LIBRARY euser.lib LIBRARY commdb.lib LIBRARY nsmldebug.lib LIBRARY http.lib @@ -65,12 +65,12 @@ LIBRARY nsmlxml.lib LIBRARY esock.lib LIBRARY ecom.lib -LIBRARY centralrepository.lib +LIBRARY centralrepository.lib LIBRARY nsmlagentcommon.lib LIBRARY featmgr.lib LIBRARY cmmanager.lib LIBRARY ezlib.lib LIBRARY connmon.lib -LIBRARY connmonext.lib +LIBRARY ConnMonExt.lib SMPSAFE diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/common/obex/obexdmplugin/bld/nsmlobexdmplugin.mmp --- a/syncmlfw/common/obex/obexdmplugin/bld/nsmlobexdmplugin.mmp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/common/obex/obexdmplugin/bld/nsmlobexdmplugin.mmp Fri Sep 17 19:59:15 2010 +0530 @@ -77,7 +77,7 @@ LIBRARY nsmlobexcommserver.lib LIBRARY ecom.lib LIBRARY nsmlxml.lib -LIBRARY nsmlprivateapi.lib +LIBRARY NSmlPrivateAPI.lib diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/common/sosserver_clientapi/src/NSmlClientAPIUtils.cpp --- a/syncmlfw/common/sosserver_clientapi/src/NSmlClientAPIUtils.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/common/sosserver_clientapi/src/NSmlClientAPIUtils.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -1601,12 +1601,42 @@ TInt mimeCount = aStream.ReadInt32L(); for ( TInt i = 0; i < mimeCount; ++i ) { - iMimeTypes.Append( HBufC::NewL( aStream, aStream.ReadInt32L() ) ); + TRAPD(err, iMimeTypes.AppendL( HBufC::NewL( aStream, aStream.ReadInt32L() ) )); + if(err != KErrNone) + { + delete iDisplayName; + iDisplayName = NULL; + User::Leave( err ); + } } for ( TInt j = 0; j < mimeCount; ++j ) { - iMimeVersions.Append( HBufC::NewL( aStream, aStream.ReadInt32L() ) ); + TRAPD(err, iMimeVersions.AppendL( HBufC::NewL( aStream, aStream.ReadInt32L() ) )); + if(err != KErrNone) + { + delete iDisplayName; + iDisplayName = NULL; + //rolling back the previous iMimeTypes append. + TInt total = iMimeTypes.Count(); + for(TInt k = 1; k<= mimeCount; k++ ) + { + if((total - k) >= 0) + { + iMimeTypes.Remove(total - k); + } + } + + total = iMimeVersions.Count(); + for(TInt l=1; l= 0) + { + iMimeVersions.Remove(total - l); + } + } + User::Leave( err ); + } } TInt dataStoreCount = aStream.ReadInt8L(); diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/dm/callbackServer/src/nsmldmcallbacksession.cpp --- a/syncmlfw/dm/callbackServer/src/nsmldmcallbacksession.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/dm/callbackServer/src/nsmldmcallbacksession.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -682,7 +682,15 @@ childUriPtr.Append ( uriPtr ); childUriPtr.Append ( KNSmlDmLitSeparator ); childUriPtr.Append ( tmpDesc.Left ( segEnds ) ); - currentUris.Append ( childUri ); + TRAPD(err, currentUris.AppendL ( childUri )); + if(err != KErrNone) + { + delete childUri; + ret = err; + CleanupStack::PopAndDestroy(3); + aMessage.Complete(ret); + return; + } startPos += segEnds + 1; } TBool aclUpdated(EFalse); diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/dm/hostserver/dmhostserverbase/src/nsmldmhostsession.cpp --- a/syncmlfw/dm/hostserver/dmhostserverbase/src/nsmldmhostsession.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/dm/hostserver/dmhostserverbase/src/nsmldmhostsession.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -1277,7 +1277,7 @@ CleanupClosePushL ( someResults ); for ( TInt i(0); i result; CleanupClosePushL ( result ); - result.Append ( iResultList[0] ); + result.AppendL ( iResultList[0] ); NSmlDmCmdArgHandler::PacketResultsL ( writeStream, result ); largeTotSize = iResultReadStream->Source()->SizeL(); @@ -1335,7 +1335,7 @@ RPointerArray truncResult; CleanupClosePushL ( truncResult ); - truncResult.Append ( iResultList[0] ); + truncResult.AppendL ( iResultList[0] ); NSmlDmCmdArgHandler::PacketResultsL ( writeStream, truncResult ); CleanupStack::PopAndDestroy(2); // truncResult, newBuffer diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/dm/treedbhandler/src/nsmldmdbhandler.cpp --- a/syncmlfw/dm/treedbhandler/src/nsmldmdbhandler.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/dm/treedbhandler/src/nsmldmdbhandler.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -884,7 +884,14 @@ childUriPtr.Append ( aURI ); childUriPtr.Append ( KNSmlDmLitSeparator ); childUriPtr.Append ( tmpDesc.Left ( segEnds ) ); - currentUris.Append ( childUri ); + + TRAPD(err, currentUris.AppendL ( childUri )); + if(err != KErrNone) + { + delete childUri; + User::Leave( err ); + } + startPos += segEnds + 1; } diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/ds/agentlog/src/nsmlagentlog.cpp --- a/syncmlfw/ds/agentlog/src/nsmlagentlog.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/ds/agentlog/src/nsmlagentlog.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -1453,7 +1453,12 @@ case EDataStore: dbCaps = CNSmlDbCaps::NewL(); - aDbCaps.Append(dbCaps); + TRAPD(err, aDbCaps.AppendL(dbCaps)); + if(err != KErrNone) + { + delete dbCaps; + User::Leave( err ); + } break; case ESourceRef: diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/ds/dsutils/ProfileUtil/src/NsmlProfileUtil.cpp --- a/syncmlfw/ds/dsutils/ProfileUtil/src/NsmlProfileUtil.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/ds/dsutils/ProfileUtil/src/NsmlProfileUtil.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -190,7 +190,7 @@ //SyncType is same for all the contents from UI iSyncType=static_cast(contentType->IntValue(EDSAdapterSyncType)); // Add to this object - iContents.Append(contentData); + iContents.AppendL(contentData); } // Cleanup @@ -277,7 +277,7 @@ data->SetContentEnabled(stream.ReadInt32L()); - iContents.Append(data); + iContents.AppendL(data); } iSyncType=static_cast(stream.ReadInt32L()); diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/ds/syncagent/bld/nsmldsagent.mmp --- a/syncmlfw/ds/syncagent/bld/nsmldsagent.mmp Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/ds/syncagent/bld/nsmldsagent.mmp Fri Sep 17 19:59:15 2010 +0530 @@ -85,7 +85,7 @@ LIBRARY ecom.lib //RD_AUTO_RESTART LIBRARY ConnMon.lib -LIBRARY connmonext.lib +LIBRARY ConnMonExt.lib LIBRARY NsmlProfileUtil.lib LIBRARY syncmlclientapi.lib LIBRARY centralrepository.lib diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/group/syncmlfw_stub.pkg --- a/syncmlfw/group/syncmlfw_stub.pkg Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/group/syncmlfw_stub.pkg Fri Sep 17 19:59:15 2010 +0530 @@ -118,8 +118,8 @@ ""-"z:\sys\bin\wpds.dll" ""-"z:\resource\plugin\wpds.r*" -""-"z:\sys\bin\nsmldefaultagendahandler.dll" -""-"z:\resource\plugin\nsmldefaultagendahandler.r*" + + ; from dm ""-"z:\sys\bin\nsmldmdevdetailadapter.dll" ""-"z:\resource\plugin\nsmldmdevdetailadapter.r*" @@ -176,7 +176,7 @@ ""-"z:\resource\NSmlTransport.r*" ""-"z:\resource\NSmlDSProfileRes.r*" ""-"z:\resource\NSmlDSTypesRes.r*" -""-"z:\resource\nsmldefaultagendahandler_1_2.r*" + ; Misc files diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/group/syncmlfw_stub.sis Binary file syncmlfw/group/syncmlfw_stub.sis has changed diff -r 910464db1b65 -r 08c8318ec9cb syncmlfw/rom/NSmlDSSync.iby --- a/syncmlfw/rom/NSmlDSSync.iby Fri Sep 03 22:35:56 2010 +0530 +++ b/syncmlfw/rom/NSmlDSSync.iby Fri Sep 17 19:59:15 2010 +0530 @@ -30,18 +30,6 @@ data=ABI_DIR\BUILD_DIR\z\private\100012a5\policy\101F99FD.SPD private\100012a5\policy\101F99FD.SPD data=ABI_DIR\BUILD_DIR\z\private\100012a5\policy\101F99FE.SPD private\100012a5\policy\101F99FE.SPD -REM SyncML Data Synchronisation plug-in adapters - -REM #ifdef __SYNCML_DS_CAL // SyncML data synchronization calendar plug-in -REM ECOM_PLUGIN(nsmlagendadataprovider.dll,nsmlagendadataprovider.rsc) -REM data=DATAZ_\RESOURCE_FILES_DIR\NSmlAgendaDataStore_1_1_2.rsc RESOURCE_FILES_DIR\NSmlAgendaDataStore_1_1_2.rsc -REM #endif // __SYNCML_DS_CAL - -REM #ifdef __SYNCML_DS_CON // SyncML data synchronization contacts plug-in -REM ECOM_PLUGIN(nsmlcontactsdataprovider.dll,nsmlcontactsdataprovider.rsc) -REM data=DATAZ_\RESOURCE_FILES_DIR\NSmlContactsDataStoreFormat_1_1_2.rsc RESOURCE_FILES_DIR\NSmlContactsDataStoreFormat_1_1_2.rsc -REM data=DATAZ_\RESOURCE_FILES_DIR\NSmlContactsDataStoreFormat_1_2.rsc RESOURCE_FILES_DIR\NSmlContactsDataStoreFormat_1_2.rsc -REM #endif // __SYNCML_DS_CON data=DATAZ_\RESOURCE_FILES_DIR\NSmlDSProfileRes.rsc RESOURCE_FILES_DIR\NSmlDSProfileRes.rsc REM \ds\adapters\dataproviderbase @@ -93,9 +81,7 @@ file=ABI_DIR\BUILD_DIR\NsmlProfileUtil.dll SHARED_LIB_DIR\NsmlProfileUtil.dll file=ABI_DIR\BUILD_DIR\nsmlfolderparser.dll SHARED_LIB_DIR\nsmlfolderparser.dll -REM defaultagendahandler plugin -ECOM_PLUGIN(nsmldefaultagendahandler.dll,nsmldefaultagendahandler.rsc) -data=DATAZ_\resource\nsmldefaultagendahandler_1_2.RSC \resource\nsmldefaultagendahandler_1_2.rsc + REM \ds\syncagent file=ABI_DIR\BUILD_DIR\nsmldsagent.dll SHARED_LIB_DIR\nsmldsagent.dll diff -r 910464db1b65 -r 08c8318ec9cb terminalsecurity/SCP/SCPClient/src/SCPParamObject.cpp --- a/terminalsecurity/SCP/SCPClient/src/SCPParamObject.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/terminalsecurity/SCP/SCPClient/src/SCPParamObject.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -214,7 +214,7 @@ iParamValues.Remove( i ); delete tmpValue; - iParamValues.Insert( newValue, i ); + iParamValues.InsertL( newValue, i ); isNewParam = EFalse; } } @@ -222,8 +222,24 @@ if ( isNewParam ) { // Create a new value - iParamIDs.Append( aParamID ); - iParamValues.Append( newValue ); + TInt err = KErrNone; + TRAP(err, iParamIDs.AppendL( aParamID )); + if(err != KErrNone) + { + delete newValue; + ret = err; + } + else + { + TRAP(err, iParamValues.AppendL( newValue )); + if(err != KErrNone) + { + delete newValue; + //Rollback append. + iParamIDs.Remove(iParamIDs.Count()-1); + ret = err; + } + } } return ret; diff -r 910464db1b65 -r 08c8318ec9cb terminalsecurity/SCP/SCPServer/group/SCPServer.mmp --- a/terminalsecurity/SCP/SCPServer/group/SCPServer.mmp Fri Sep 03 22:35:56 2010 +0530 +++ b/terminalsecurity/SCP/SCPServer/group/SCPServer.mmp Fri Sep 17 19:59:15 2010 +0530 @@ -79,7 +79,7 @@ #endif // SCP_USE_POLICY_ENGINE #ifdef SCP_SMS_LOCK_AVAILABLE -LIBRARY rlocksettings.lib +LIBRARY RLockSettings.lib #endif // SCP_SMS_LOCK_AVAILABLE //#ifdef __SAP_DEVICE_LOCK_ENHANCEMENTS diff -r 910464db1b65 -r 08c8318ec9cb terminalsecurity/SCP/SCPServer/inc/SCPServer.h --- a/terminalsecurity/SCP/SCPServer/inc/SCPServer.h Fri Sep 03 22:35:56 2010 +0530 +++ b/terminalsecurity/SCP/SCPServer/inc/SCPServer.h Fri Sep 17 19:59:15 2010 +0530 @@ -96,7 +96,10 @@ const TUint32 KSCPServerSIDTelephone( 0x100058B3 ); // Terminal Control Server const TUint32 KSCPServerSIDLog( 0x101f4cd5 ); // Terminal Control Server const TUint32 KSCPServerSIDTerminalControl( 0x10207825 ); // Terminal Control Server -const TUint32 KSCPServerSIDGeneralSettings( 0x100058EC ); // General Settings + +//const TUint32 KSCPServerSIDGeneralSettings( 0x100058EC ); // General Settings +const TUint32 KSCPServerSIDGeneralSettings( 0X20025FD9 ); // General Settings + //const TUint32 KSCPServerSIDSecurityObserver( 0x10000938 ); // Security Observer const TUint32 KAknNfySrvUid( 0x10281EF2 ); // Security Notifier const TUint32 KSCPServerSIDAutolock( 0x100059B5 ); // Autolock diff -r 910464db1b65 -r 08c8318ec9cb terminalsecurity/SCP/SCPServer/src/SCPPluginManager.cpp --- a/terminalsecurity/SCP/SCPServer/src/SCPPluginManager.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/terminalsecurity/SCP/SCPServer/src/SCPPluginManager.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -131,7 +131,7 @@ } else { - iPlugins.Append( thisPlugin ); + iPlugins.AppendL( thisPlugin ); thisPlugin->SetEventHandler( iServer->GetEventHandlerL() ); Dprint( (_L("CSCPPluginManager::LoadPluginsL(): Plugin active,\ diff -r 910464db1b65 -r 08c8318ec9cb terminalsecurity/SCP/SCPServer/src/SCPServer.cpp --- a/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp Fri Sep 03 22:35:56 2010 +0530 +++ b/terminalsecurity/SCP/SCPServer/src/SCPServer.cpp Fri Sep 17 19:59:15 2010 +0530 @@ -1461,7 +1461,7 @@ } else { lSpecStrArray.Remove(i); - lSharedStrArray.Append(lPtr); + lSharedStrArray.AppendL(lPtr); i--; lCnt--; } @@ -1547,7 +1547,7 @@ } lBuff->Des().Append(lToken); - lSpecStrArray.Append(lBuff); + lSpecStrArray.AppendL(lBuff); lex.Inc(); lex.Mark(); }