diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/secureserverccountserver_8cpp_source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/secureserverccountserver_8cpp_source.html Tue Mar 30 16:16:55 2010 +0100 @@ -0,0 +1,123 @@ + + + + +TB9.2 Example Applications: examples/Base/IPC/secureserver/secureserverccountserver.cpp Source File + + + + + +

examples/Base/IPC/secureserver/secureserverccountserver.cpp

Go to the documentation of this file.
00001 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+00002 // All rights reserved.
+00003 // This component and the accompanying materials are made available
+00004 // under the terms of "Eclipse Public License v1.0"
+00005 // which accompanies this distribution, and is available
+00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
+00007 //
+00008 // Initial Contributors:
+00009 // Nokia Corporation - initial contribution.
+00010 //
+00011 // Contributors:
+00012 //
+00013 // Description:
+00014 // Contains the implementation of functions described in the CSecureServer class.
+00015 //
+00016 
+00017 
+00018 
+00022 #include "secureclientandserver.h"
+00023 #include "secureserver.h"
+00024 
+00029 void CSecureServer::PanicServer(TSecureServerPanic aPanic)
+00030         {
+00031         _LIT(KTxTSecureServer,"SecureServer");
+00032         User::Panic(KTxTSecureServer,aPanic);
+00033         }
+00034 
+00040 CSecureServer* CSecureServer::NewL(CActive::TPriority aActiveObjectPriority)
+00041         {
+00042         CSecureServer* self = new (ELeave) CSecureServer(aActiveObjectPriority);
+00043         CleanupStack::PushL(self);
+00044         self->ConstructL();
+00045         CleanupStack::Pop();
+00046         return self;
+00047         }
+00048 
+00053 CObjectCon* CSecureServer::NewContainerL()
+00054         {
+00055         return iContainerIndex->CreateL();
+00056         }
+00057 
+00062 void CSecureServer::RemoveContainer(CObjectCon *aCon)
+00063         {
+00064         iContainerIndex->Remove(aCon);
+00065         }
+00066 
+00075 CSecureServer::CSecureServer(CActive::TPriority aActiveObjectPriority)
+00076         : CPolicyServer(aActiveObjectPriority, KSecureServerPolicy, ESharableSessions)
+00077         {
+00078         // KSecurityPolicy is the TPolicy object that defines the security policy of the server.
+00079         }
+00080 
+00090 void CSecureServer::ConstructL()
+00091         {
+00092         iContainerIndex = CObjectConIx::NewL();
+00093         }
+00094 
+00098 CSecureServer::~CSecureServer()
+00099         {
+00100         delete iContainerIndex;
+00101         }
+00102 
+00108 CSession2* CSecureServer::NewSessionL(const TVersion &aVersion,const RMessage2& /*aMessage*/) const
+00109         {
+00110         TVersion v(KSecureServMajorVersionNumber,KSecureServMinorVersionNumber,KSecureServBuildVersionNumber);
+00111         if (!User::QueryVersionSupported(v,aVersion))
+00112                 {
+00113                 User::Leave(KErrNotSupported);
+00114                 }
+00115         return new (ELeave) CSecureServerSession;
+00116         }
+00117 
+00136 CPolicyServer::TCustomResult CSecureServer:: CustomSecurityCheckL(const RMessage2 &aMsg, TInt &aAction, TSecurityInfo &aMissing)
+00137         {
+00138         TInt sid;
+00139         RMessagePtr2 msg = aMsg;
+00140         sid = msg.SecureId();
+00141         switch(aMsg.Function())
+00142                 {
+00143                 case ESecureServerIncreaseBy:
+00144                 case ESecureServerDecreaseBy:
+00145                         {
+00146                         TInt val = aMsg.Int0();
+00147                         if(val > 10)
+00148                                 {
+00149                                 if(sid > 0x70fffff5)
+00150                                         {
+00151                                         return EFail;
+00152                                         }
+00153                                 }
+00154                         }
+00155                         break;
+00156                 case ESecureServerReset:
+00157                 case ESecureServerDecrease:
+00158                 case ESecureServerIncrease:
+00159                         {
+00160                         }
+00161                         break;
+00162                 default:
+00163                         {
+00164                         aAction = EPanicClient;
+00165                         CheckFailedL(aMsg,aAction,aMissing);
+00166                         return EFail;
+00167                         }
+00168                 }
+00169         return EPass;
+00170         }
+
+
Generated by  + +doxygen 1.6.2
+ +