--- 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 <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 );