diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/secureserverccountserver_8cpp-source.html --- a/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/secureserverccountserver_8cpp-source.html Tue Mar 30 11:56:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,119 +0,0 @@ - -
-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 } -