--- 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 \
--- 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_ */
--- 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:
--- 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;
--- 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
--- 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
Binary file omaprovisioning/provisioning/loc/prov.rsc has changed
Binary file policymanagement/conf/policy_management.confml has changed
Binary file policymanagement/conf/policy_management_10207843.crml has changed
--- 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
--- 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)
{
--- 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 &)
--- 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 );
+ }
+
+ }
+ }
}
--- 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 ; #<TI>#
_ZTV23CSettingEnforcementInfo @ 50 NONAME ; #<VT>#
_ZN23CSettingEnforcementInfo18EnforcementActiveLERK6TDesC8Ri @ 51 NONAME
+ _ZN17RPolicyManagement13AddServerCertERK16CX509CertificateR6TDes16 @ 52 NONAME
+ _ZN17RPolicyManagement16RemoveServerCertERK7TDesC16 @ 53 NONAME
--- 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
--- 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
--- 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
};
--- 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 <f32file.h>
+#include <s32file.h>
+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<KMaxLabelIdLength> 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<KMaxLabelIdLength> 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 );
--- 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
--- 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 <msvapi.h>
#include <hbsymbianvariant.h>
#include <hbdevicedialogsymbian.h>
-
+#include <x509cert.h>
+#include <unifiedcertstore.h>
+#include <mctwritablecertstore.h>
+#include <ccertattributefilter.h>
// 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
--- 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);
--- 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 <hbdevicedialogsymbian.h>
#include <hbdevicenotificationdialogsymbian.h>
#include <hbtextresolversymbian.h>
+
+#include "DMUtilClient.h"
+#include "PMUtilInternalCRKeys.h"
+
+#include <eikenv.h>
+#include <centralrepository.h>
+
+#include <s32mem.h>
// 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<KMaxCertSize> 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<KMaxServerIdLength> 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<KMaxServerIdLength> 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;
+ }
+ }
+
+ }
--- 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
--- 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;
--- 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();
--- 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 @@
-<?xml version="1.0" ?>
-<api id="8d53812d56803ad2bef7ddd15c91413e" dataversion="1.0">
- <name>Adaptive History List API</name>
- <description>API providing basic list data structure. Order of items in the list is based on access frequency.</description>
- <type>c++</type>
- <subsystem>ahle</subsystem>
- <libs>
- <lib name="ahle2client.lib" />
- </libs>
- <release category="domain"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>yes</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- 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 <platform_paths.hrh>
-
-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)
--- 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 <badesca.h>
-#include <ahlededicated.h>
-
-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
--- 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
--- 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 <badesca.h>
-#include <ahlegeneric.h>
-
-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<TInt>& aItemsSorted,
- TAHLESortOrder aSortOrder = EAHLEAscending) = 0;
- };
-
-#include <ahlegenericapi.inl>
-
-/**
-* 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
--- 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
--- 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
--- 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 @@
-<?xml version="1.0" ?>
-<api id="9a9b610faafbea8dbb06dfd3dd620c02" dataversion="1.0">
- <name>Adaptive History List Session API</name>
- <description></description>
- <type>c++</type>
- <subsystem>ahle</subsystem>
- <libs>
- </libs>
- <release category="domain"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>yes</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- 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 <platform_paths.hrh>
-
-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)
--- 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 <e32def.h>
-#include <e32cmn.h>
-#include "ahlegeneric.h"
-
-_LIT(KAHLEItemDefaultDescription, "");
-
-enum TAHLEClientType
-{
- EAHLEGeneric,
- EAHLEBrowser,
- EAHLEPhonebook,
- EAHLEMessaging,
- EAHLELogs,
- EAHLEEmail
-};
-
-enum TAHLEState
-{
- EAHLEAdaptiveSiteList,
- EAHLEAdaptiveSiteDetails,
- EAHLEAdaptiveAutoComplete
-};
-
-
-#endif // AHLEDEDICATED_H
-
-// End of File
--- 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
--- 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)
--- 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 <SyncMLDef.h>
#include <SyncMLDataFilter.h>
-#include <syncml/SmlDataSyncDefs.h>
+#include <SmlDataSyncDefs.h>
#include <SmlDataFormat.h>
//
/**
--- 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
--- 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"
--- 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 <e32base.h>
-#include <syncml/SmlDataSyncDefs.h>
+#include <SmlDataSyncDefs.h>
// CLASS DECLARATION
--- 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 <e32std.h>
#include <ssl.h>
+#include <x509cert.h>
// 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);
};
/**
--- 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
--- 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
/*
--- 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;
--- 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 <f32file.h>
#include <e32cmn.h>
+#include <x509cert.h>
_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;
--- 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)
--- 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 <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/fotastorage.h MW_LAYER_PLATFORM_EXPORT_PATH(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 <s32strm.h>
-
-
-/*
-* 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_
--- 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 @@
-<?xml version="1.0" ?>
-<api id="91d99e55d2c224e86a131074288547a5" dataversion="1.0">
- <name>Update Package Storage Plug-in API</name>
- <description>ECOM plug-in API for update package storage implementation</description>
- <type>c++</type>
- <subsystem>fotaapplication</subsystem>
- <libs>
- </libs>
- <release category="domain"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>yes</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- 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
--- 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
--- 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<j+1; l++)
+ {
+ if((total - l) >= 0)
+ {
+ iMimeVersions.Remove(total - l);
+ }
+ }
+ User::Leave( err );
+ }
}
TInt dataStoreCount = aStream.ReadInt8L();
--- 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);
--- 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<okToWrite; i++ )
{
- someResults.Append ( iResultList[i] );
+ someResults.AppendL ( iResultList[i] );
}
NSmlDmCmdArgHandler::PacketResultsL ( writeStream, someResults );
CleanupStack::PopAndDestroy(); // someResults
@@ -1292,7 +1292,7 @@
RPointerArray<CNSmlDmResultElement> result;
CleanupClosePushL ( result );
- result.Append ( iResultList[0] );
+ result.AppendL ( iResultList[0] );
NSmlDmCmdArgHandler::PacketResultsL ( writeStream, result );
largeTotSize = iResultReadStream->Source()->SizeL();
@@ -1335,7 +1335,7 @@
RPointerArray<CNSmlDmResultElement> truncResult;
CleanupClosePushL ( truncResult );
- truncResult.Append ( iResultList[0] );
+ truncResult.AppendL ( iResultList[0] );
NSmlDmCmdArgHandler::PacketResultsL ( writeStream, truncResult );
CleanupStack::PopAndDestroy(2); // truncResult, newBuffer
--- 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;
}
--- 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:
--- 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<TSmlSyncType>(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<TSmlSyncType>(stream.ReadInt32L());
--- 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
--- 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
Binary file syncmlfw/group/syncmlfw_stub.sis has changed
--- 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
--- 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;
--- 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
--- 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
--- 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,\
--- 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();
}