cryptoservices/filebasedcertificateandkeystores/source/generic/client/clientsession.cpp
--- a/cryptoservices/filebasedcertificateandkeystores/source/generic/client/clientsession.cpp Thu Aug 19 11:38:48 2010 +0300
+++ b/cryptoservices/filebasedcertificateandkeystores/source/generic/client/clientsession.cpp Tue Aug 31 17:00:08 2010 +0300
@@ -22,6 +22,14 @@
#include "clientutils.h"
#include "fstokenservername.h"
+#ifdef SYMBIAN_AUTH_SERVER
+
+#ifdef __WINS__
+#include <u32hal.h>
+#endif //__WINS__
+
+#include <e32svr.h>
+#endif // SYMBIAN_AUTH_SERVER
// \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\
// Tokentype session class for file based certificate store
@@ -30,7 +38,11 @@
// \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\ // \\
_LIT(KFSTokenServerImg,"fstokenserver");
-
+#ifdef SYMBIAN_AUTH_SERVER
+#ifdef __WINS__
+_LIT(KFSNewTokenServerImg,"fstokenserver_useauth");
+#endif // __WINS__
+#endif // SYMBIAN_AUTH_SERVER
RFileStoreClientSession::RFileStoreClientSession()
{}
@@ -61,6 +73,13 @@
// Connect to the server, attempting to start it if necessary
//
+#ifdef SYMBIAN_AUTH_SERVER
+#ifdef __WINS__
+
+static bool UseAuthServer(void);
+
+#endif // SYMBIAN_AUTH_SERVER
+#endif // __WINS__
TInt RFileStoreClientSession::Connect(ETokenEnum aToken)
{
@@ -74,6 +93,15 @@
for (;;)
{
TInt err = KErrNone;
+#ifdef SYMBIAN_AUTH_SERVER
+#ifdef __WINS__
+ if(UseAuthServer())
+ {
+ err = CreateSession(KFSNewTokenServerName, version, 1);
+ }
+ else
+#endif // __WINS__
+#endif // SYMBIAN_AUTH_SERVER
{
err = CreateSession(KFSTokenServerName, version, 1);
}
@@ -88,6 +116,25 @@
}
}
+#ifdef SYMBIAN_AUTH_SERVER
+#ifdef __WINS__
+
+/*static*/ bool UseAuthServer(void)
+ {
+ bool useAuthServer = false;
+
+ TUint32 useAuth = 0;
+ // For the emulator allow the constant to be patched via epoc.ini
+ UserSvr::HalFunction(EHalGroupEmulator, EEmulatorHalIntProperty,
+ (TAny*)"KKeyStoreUseAuthServer", &useAuth); // read emulator property (if present)
+ if(useAuth)
+ {
+ useAuthServer = true;
+ }
+ return useAuthServer;
+ }
+#endif // __WINS__
+#endif // SYMBIAN_AUTH_SERVER
TInt StartServer()
{
@@ -97,6 +144,16 @@
RProcess server;
TInt error = KErrNone;
+
+#ifdef SYMBIAN_AUTH_SERVER
+#ifdef __WINS__
+ if(UseAuthServer())
+ {
+ error = server.Create(KFSNewTokenServerImg, KNullDesC, serverUid);
+ }
+ else
+#endif // __WINS__
+#endif // SYMBIAN_AUTH_SERVER
{
error = server.Create(KFSTokenServerImg, KNullDesC, serverUid);
}