diff -r 415c00f1675d -r 8ee66fcd0a7c policymanagement/policyengine/policyengineclient/src/PolicyEngineClient.cpp --- a/policymanagement/policyengine/policyengineclient/src/PolicyEngineClient.cpp Fri Sep 17 08:34:58 2010 +0300 +++ b/policymanagement/policyengine/policyengineclient/src/PolicyEngineClient.cpp Mon Oct 04 01:40:31 2010 +0300 @@ -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 );