lowlevellibsandfws/pluginfw/Framework/RegistryDataTest/RegistryDataTransitionValidation.h
changeset 0 e4d67989cc36
equal deleted inserted replaced
-1:000000000000 0:e4d67989cc36
       
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // The definition of the validation classes for the CRegistryData transitions
       
    15 // 
       
    16 //
       
    17 
       
    18 #ifndef __REGISTRYDATATRANSITIONVALIDATION_H__
       
    19 #define __REGISTRYDATATRANSITIONVALIDATION_H__
       
    20 
       
    21 #include "RegistryDataTransitions.h"
       
    22 
       
    23 // ______________________________________________________________________________
       
    24 //
       
    25 /**
       
    26 	@internalComponent
       
    27 
       
    28 	Comments : Provide all the CreateAndDestroy Unit Test's specific
       
    29 	validatation for the state of a transition before and after its execution.
       
    30 	on the CRegistryData test class for a transition.
       
    31  */
       
    32 class TRegistryData_Ctor_TransitionValidator : public TTransitionValidator
       
    33 	{
       
    34 public:
       
    35 	/**
       
    36 		@fn				TRegistryData_Ctor_TransitionValidator(CUnitTestContext& aUTContext)
       
    37 		Intended Usage	: Standard constructor.
       
    38 		@leave  		KErrNoMemory
       
    39 		@since			7.0
       
    40 		@param			aUTContext The context within which this transition is executing
       
    41 	 */
       
    42 	inline TRegistryData_Ctor_TransitionValidator(CUnitTestContext& aUTContext);
       
    43 
       
    44 	/**
       
    45 		@fn				ValidatePreConditions()
       
    46 		Intended Usage	: Implemented by the developer to check the
       
    47 						end state of the transition behaviour.
       
    48 		Error Condition	: Invalid pre-conditions
       
    49 		@since			7.0
       
    50 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
    51 		@pre 			TRegistryData_Default_TransitionValidator is fully constructed.
       
    52 		@post			No change to the iUTContext class.
       
    53 	*/
       
    54 	virtual inline TBool ValidatePreConditions();
       
    55 
       
    56 	/**
       
    57 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
    58 		Intended Usage	:	Implemented by the developer to check the
       
    59 						end state of the transition behaviour.
       
    60 						When overriding, if the transition calls an asynchronous function
       
    61 						ValidatePostConditions will be called twice. Firstly, after the
       
    62 						asynchronous function has been called and, secondly, after the 
       
    63 						asynchronous request has completed. The parameter aAsyncState can
       
    64 						be used to distinguish between these two cases.
       
    65 		Error Condition	: Invalid post-conditions.
       
    66 		@since			7.0
       
    67 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
    68 						EAsyncCompleted if the function has completed.
       
    69 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
    70 		@pre 			TRegistryData_Default_TransitionValidator is fully constructed.
       
    71 		@post			No change to the iUTContext class.
       
    72 	*/
       
    73 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
    74 	};	// TRegistryData_Ctor_TransitionValidator
       
    75 
       
    76 
       
    77 // ______________________________________________________________________________
       
    78 //
       
    79 /**
       
    80 	@internalComponent
       
    81 
       
    82 	Comments : Provide all the CreateAndDestroy Unit Test's specific
       
    83 	validatation for the state of a transition before and after its execution.
       
    84 	on the CRegistryData test class for a transition.
       
    85  */
       
    86 class TRegistryData_Dtor_TransitionValidator : public TTransitionValidator
       
    87 	{
       
    88 public:
       
    89 	/**
       
    90 		@fn				TRegistryData_Dtor_TransitionValidator(CUnitTestContext& aUTContext)
       
    91 		Intended Usage	: Default constructor
       
    92 		@leave  		KErrNoMemory
       
    93 		@since			7.0
       
    94 		@param			aUTContext The context within which this transition is executing
       
    95 	 */
       
    96 	inline TRegistryData_Dtor_TransitionValidator(CUnitTestContext& aUTContext);
       
    97 
       
    98 	/**
       
    99 		@fn				ValidatePreConditions()
       
   100 		Intended Usage	: Implemented by the developer to check the
       
   101 						end state of the transition behaviour.
       
   102 		Error Condition	: Invalid pre-conditions
       
   103 		@since			7.0
       
   104 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   105 		@pre 			TRegistryData_Default_TransitionValidator is fully constructed.
       
   106 		@post			No change to the iUTContext class.
       
   107 	*/
       
   108 	virtual inline TBool ValidatePreConditions();
       
   109 
       
   110 	/**
       
   111 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   112 		Intended Usage	:	Implemented by the developer to check the
       
   113 						end state of the transition behaviour.
       
   114 						When overriding, if the transition calls an asynchronous function
       
   115 						ValidatePostConditions will be called twice. Firstly, after the
       
   116 						asynchronous function has been called and, secondly, after the 
       
   117 						asynchronous request has completed. The parameter aAsyncState can
       
   118 						be used to distinguish between these two cases.
       
   119 		Error Condition	: Invalid post-conditions.
       
   120 		@since			7.0
       
   121 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   122 						EAsyncCompleted if the function has completed.
       
   123 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   124 		@pre 			TRegistryData_Default_TransitionValidator is fully constructed.
       
   125 		@post			No change to the iUTContext class.
       
   126 	*/
       
   127 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   128 	};	// TRegistryData_Dtor_TransitionValidator
       
   129 
       
   130 // ______________________________________________________________________________
       
   131 //
       
   132 /**
       
   133 	@internalComponent
       
   134 
       
   135 	Comments : Provide all the AddDllDataLUnit Test's specific
       
   136 	validatation for the state of a transition before and after its execution.
       
   137 	on the CRegistryData test class for a transition.
       
   138  */
       
   139 class TRegistryData_AddDllDataL_TransitionValidator : public TTransitionValidator
       
   140 	{
       
   141 public:
       
   142 	/**
       
   143 		@fn				TRegistryData_AddDllDataL_TransitionValidator(CUnitTestContext& aUTContext)
       
   144 		Intended Usage	:	
       
   145 		@leave  		KErrNoMemory
       
   146 		@since			7.0
       
   147 		@param			aUTContext The context within which this transition is executing
       
   148 	 */
       
   149 	inline TRegistryData_AddDllDataL_TransitionValidator(CUnitTestContext& aUTContext);
       
   150 
       
   151 	/**
       
   152 		@fn				ValidatePreConditions()
       
   153 		Intended Usage	: Implemented by the developer to check the
       
   154 						end state of the transition behaviour.
       
   155 		Error Condition	: Invalid pre-conditions
       
   156 		@since			7.0
       
   157 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   158 		@pre 			TRegistryData_AddDllDataL_TransitionValidator is fully constructed.
       
   159 		@post			No change to the iUTContext class.
       
   160 	*/
       
   161 	virtual inline TBool ValidatePreConditions();
       
   162 
       
   163 	/**
       
   164 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   165 		Intended Usage	:	Implemented by the developer to check the
       
   166 						end state of the transition behaviour.
       
   167 						When overriding, if the transition calls an asynchronous function
       
   168 						ValidatePostConditions will be called twice. Firstly, after the
       
   169 						asynchronous function has been called and, secondly, after the 
       
   170 						asynchronous request has completed. The parameter aAsyncState can
       
   171 						be used to distinguish between these two cases.
       
   172 		Error Condition	: Invalid post-conditions.
       
   173 		@since			7.0
       
   174 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   175 						EAsyncCompleted if the function has completed.
       
   176 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   177 		@pre 			TRegistryData_AddDllDataL_TransitionValidator is fully constructed.
       
   178 		@post			No change to the iUTContext class.
       
   179 	*/
       
   180 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   181 	};	// TRegistryData_AddDllDataL_TransitionValidator
       
   182 
       
   183 // ______________________________________________________________________________
       
   184 //
       
   185 /**
       
   186 	@internalComponent
       
   187 
       
   188 	Comments : Provide all the AddDllDataLUnit Test's specific
       
   189 	validatation for the state of a transition before and after its execution.
       
   190 	on the CRegistryData test class for a transition.
       
   191  */
       
   192 class TRegistryData_ListImplementations_TransitionValidator : public TTransitionValidator
       
   193 	{
       
   194 public:
       
   195 	/**
       
   196 		@fn				TRegistryData_ListImplementations_TransitionValidator(CUnitTestContext& aUTContext)
       
   197 		Intended Usage	:	
       
   198 		@leave  		KErrNoMemory
       
   199 		@since			7.0
       
   200 		@param			aUTContext The context within which this transition is executing
       
   201 	 */
       
   202 	inline TRegistryData_ListImplementations_TransitionValidator(CUnitTestContext& aUTContext);
       
   203 
       
   204 	/**
       
   205 		@fn				ValidatePreConditions()
       
   206 		Intended Usage	: Implemented by the developer to check the
       
   207 						end state of the transition behaviour.
       
   208 		Error Condition	: Invalid pre-conditions
       
   209 		@since			7.0
       
   210 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   211 		@pre 			TRegistryData_ListImplementations_TransitionValidator is fully constructed.
       
   212 		@post			No change to the iUTContext class.
       
   213 	*/
       
   214 	virtual inline TBool ValidatePreConditions();
       
   215 
       
   216 	/**
       
   217 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   218 		Intended Usage	:	Implemented by the developer to check the
       
   219 						end state of the transition behaviour.
       
   220 						When overriding, if the transition calls an asynchronous function
       
   221 						ValidatePostConditions will be called twice. Firstly, after the
       
   222 						asynchronous function has been called and, secondly, after the 
       
   223 						asynchronous request has completed. The parameter aAsyncState can
       
   224 						be used to distinguish between these two cases.
       
   225 		Error Condition	: Invalid post-conditions.
       
   226 		@since			7.0
       
   227 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   228 						EAsyncCompleted if the function has completed.
       
   229 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   230 		@pre 			TRegistryData_ListImplementations_TransitionValidator is fully constructed.
       
   231 		@post			No change to the iUTContext class.
       
   232 	*/
       
   233 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   234 	};	// TRegistryData_ListImplementations_TransitionValidator
       
   235 
       
   236 // ______________________________________________________________________________
       
   237 //
       
   238 /**
       
   239 	@internalComponent
       
   240  
       
   241 	Comments : Provide all the GetImplementationInformationUnit Test's specific
       
   242 	validatation for the state of a transition before and after its execution.
       
   243 	on the CRegistryData test class for a transition.
       
   244  */
       
   245 class TRegistryData_GetImplementationInformation_TransitionValidator : public TTransitionValidator
       
   246 	{
       
   247 public:
       
   248 	/**
       
   249 		@fn				TRegistryData_GetImplementationInformation_TransitionValidator(CUnitTestContext& aUTContext)
       
   250 		Intended Usage	:	
       
   251 		@leave  		KErrNoMemory
       
   252 		@since			7.0
       
   253 		@param			aUTContext The context within which this transition is executing
       
   254 	 */
       
   255 	inline TRegistryData_GetImplementationInformation_TransitionValidator(CUnitTestContext& aUTContext);
       
   256 
       
   257 	/**
       
   258 		@fn				ValidatePreConditions()
       
   259 		Intended Usage	: Implemented by the developer to check the
       
   260 						end state of the transition behaviour.
       
   261 		Error Condition	: Invalid pre-conditions
       
   262 		@since			7.0
       
   263 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   264 		@pre 			TRegistryData_GetImplementationInformation_TransitionValidator is fully constructed.
       
   265 		@post			No change to the iUTContext class.
       
   266 	*/
       
   267 	virtual inline TBool ValidatePreConditions();
       
   268 
       
   269 	/**
       
   270 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   271 		Intended Usage	:	Implemented by the developer to check the
       
   272 						end state of the transition behaviour.
       
   273 						When overriding, if the transition calls an asynchronous function
       
   274 						ValidatePostConditions will be called twice. Firstly, after the
       
   275 						asynchronous function has been called and, secondly, after the 
       
   276 						asynchronous request has completed. The parameter aAsyncState can
       
   277 						be used to distinguish between these two cases.
       
   278 		Error Condition	: Invalid post-conditions.
       
   279 		@since			7.0
       
   280 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   281 						EAsyncCompleted if the function has completed.
       
   282 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   283 		@pre 			TRegistryData_GetImplementationInformation_TransitionValidator is fully constructed.
       
   284 		@post			No change to the iUTContext class.
       
   285 	*/
       
   286 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   287 	};	// TRegistryData_GetImplementationInformation_TransitionValidator
       
   288 
       
   289 // ______________________________________________________________________________
       
   290 //
       
   291 /**
       
   292 	@internalComponent
       
   293  
       
   294 	Comments : Provide all the IsRegisteredWithDateUnit Test's specific
       
   295 	validatation for the state of a transition before and after its execution.
       
   296 	on the CRegistryData test class for a transition.
       
   297  */
       
   298 class TRegistryData_IsRegisteredWithDate_TransitionValidator : public TTransitionValidator
       
   299 	{
       
   300 public:
       
   301 	/**
       
   302 		@fn				TRegistryData_IsRegisteredWithDate_TransitionValidator(CUnitTestContext& aUTContext)
       
   303 		Intended Usage	:	
       
   304 		@leave  		KErrNoMemory
       
   305 		@since			7.0
       
   306 		@param			aUTContext The context within which this transition is executing
       
   307 	 */
       
   308 	inline TRegistryData_IsRegisteredWithDate_TransitionValidator(CUnitTestContext& aUTContext);
       
   309 
       
   310 	/**
       
   311 		@fn				ValidatePreConditions()
       
   312 		Intended Usage	: Implemented by the developer to check the
       
   313 						end state of the transition behaviour.
       
   314 		Error Condition	: Invalid pre-conditions
       
   315 		@since			7.0
       
   316 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   317 		@pre 			TRegistryData_IsRegisteredWithDate_TransitionValidator is fully constructed.
       
   318 		@post			No change to the iUTContext class.
       
   319 	*/
       
   320 	virtual inline TBool ValidatePreConditions();
       
   321 
       
   322 	/**
       
   323 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   324 		Intended Usage	:	Implemented by the developer to check the
       
   325 						end state of the transition behaviour.
       
   326 						When overriding, if the transition calls an asynchronous function
       
   327 						ValidatePostConditions will be called twice. Firstly, after the
       
   328 						asynchronous function has been called and, secondly, after the 
       
   329 						asynchronous request has completed. The parameter aAsyncState can
       
   330 						be used to distinguish between these two cases.
       
   331 		Error Condition	: Invalid post-conditions.
       
   332 		@since			7.0
       
   333 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   334 						EAsyncCompleted if the function has completed.
       
   335 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   336 		@pre 			TRegistryData_IsRegisteredWithDate_TransitionValidator is fully constructed.
       
   337 		@post			No change to the iUTContext class.
       
   338 	*/
       
   339 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   340 	};	// TRegistryData_IsRegisteredWithDate_TransitionValidator
       
   341 
       
   342 // ______________________________________________________________________________
       
   343 //
       
   344 /**
       
   345 	@internalComponent
       
   346  
       
   347 	Comments : Provide all the PersistNowUnit Test's specific
       
   348 	validatation for the state of a transition before and after its execution.
       
   349 	on the CRegistryData test class for a transition.
       
   350  */
       
   351 class TRegistryData_PersistNow_TransitionValidator : public TTransitionValidator
       
   352 	{
       
   353 public:
       
   354 	/**
       
   355 		@fn				TRegistryData_PersistNow_TransitionValidator(CUnitTestContext& aUTContext)
       
   356 		Intended Usage	:	
       
   357 		@leave  		KErrNoMemory
       
   358 		@since			7.0
       
   359 		@param			aUTContext The context within which this transition is executing
       
   360 	 */
       
   361 	inline TRegistryData_PersistNow_TransitionValidator(CUnitTestContext& aUTContext);
       
   362 
       
   363 	/**
       
   364 		@fn				ValidatePreConditions()
       
   365 		Intended Usage	: Implemented by the developer to check the
       
   366 						end state of the transition behaviour.
       
   367 		Error Condition	: Invalid pre-conditions
       
   368 		@since			7.0
       
   369 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   370 		@pre 			TRegistryData_PersistNow_TransitionValidator is fully constructed.
       
   371 		@post			No change to the iUTContext class.
       
   372 	*/
       
   373 	virtual inline TBool ValidatePreConditions();
       
   374 
       
   375 	/**
       
   376 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   377 		Intended Usage	:	Implemented by the developer to check the
       
   378 						end state of the transition behaviour.
       
   379 						When overriding, if the transition calls an asynchronous function
       
   380 						ValidatePostConditions will be called twice. Firstly, after the
       
   381 						asynchronous function has been called and, secondly, after the 
       
   382 						asynchronous request has completed. The parameter aAsyncState can
       
   383 						be used to distinguish between these two cases.
       
   384 		Error Condition	: Invalid post-conditions.
       
   385 		@since			7.0
       
   386 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   387 						EAsyncCompleted if the function has completed.
       
   388 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   389 		@pre 			TRegistryData_PersistNow_TransitionValidator is fully constructed.
       
   390 		@post			No change to the iUTContext class.
       
   391 	*/
       
   392 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   393 	};	// TRegistryData_PersistNow_TransitionValidator
       
   394 
       
   395 // ______________________________________________________________________________
       
   396 //
       
   397 /**
       
   398 	@internalComponent
       
   399 
       
   400 	Comments : Provide all the TemporaryUninstallUnit Test's specific
       
   401 	validatation for the state of a transition before and after its execution.
       
   402 	on the CRegistryData test class for a transition.
       
   403  */
       
   404 class TRegistryData_TemporaryUninstall_TransitionValidator : public TTransitionValidator
       
   405 	{
       
   406 public:
       
   407 	/**
       
   408 		@fn				TRegistryData_TemporaryUninstall_TransitionValidator(CUnitTestContext& aUTContext)
       
   409 		Intended Usage	:	
       
   410 		@leave  		KErrNoMemory
       
   411 		@since			7.0
       
   412 		@param			aUTContext The context within which this transition is executing
       
   413 	 */
       
   414 	inline TRegistryData_TemporaryUninstall_TransitionValidator(CUnitTestContext& aUTContext);
       
   415 
       
   416 	/**
       
   417 		@fn				ValidatePreConditions()
       
   418 		Intended Usage	: Implemented by the developer to check the
       
   419 						end state of the transition behaviour.
       
   420 		Error Condition	: Invalid pre-conditions
       
   421 		@since			7.0
       
   422 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   423 		@pre 			TRegistryData_TemporaryUninstall_TransitionValidator is fully constructed.
       
   424 		@post			No change to the iUTContext class.
       
   425 	*/
       
   426 	virtual inline TBool ValidatePreConditions();
       
   427 
       
   428 	/**
       
   429 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   430 		Intended Usage	:	Implemented by the developer to check the
       
   431 						end state of the transition behaviour.
       
   432 						When overriding, if the transition calls an asynchronous function
       
   433 						ValidatePostConditions will be called twice. Firstly, after the
       
   434 						asynchronous function has been called and, secondly, after the 
       
   435 						asynchronous request has completed. The parameter aAsyncState can
       
   436 						be used to distinguish between these two cases.
       
   437 		Error Condition	: Invalid post-conditions.
       
   438 		@since			7.0
       
   439 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   440 						EAsyncCompleted if the function has completed.
       
   441 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   442 		@pre 			TRegistryData_TemporaryUninstall_TransitionValidator is fully constructed.
       
   443 		@post			No change to the iUTContext class.
       
   444 	*/
       
   445 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   446 	};	// TRegistryData_TemporaryUninstall_TransitionValidator
       
   447 
       
   448 // ______________________________________________________________________________
       
   449 //
       
   450 /**
       
   451 	@internalComponent
       
   452 
       
   453 	Comments : Provide all the UndoTemporaryUninstallUnit Test's specific
       
   454 	validatation for the state of a transition before and after its execution.
       
   455 	on the CRegistryData test class for a transition.
       
   456  */
       
   457 class TRegistryData_UndoTemporaryUninstall_TransitionValidator : public TTransitionValidator
       
   458 	{
       
   459 public:
       
   460 	/**
       
   461 		@fn				TRegistryData_UndoTemporaryUninstall_TransitionValidator(CUnitTestContext& aUTContext)
       
   462 		Intended Usage	:	
       
   463 		@leave  		KErrNoMemory
       
   464 		@since			7.0
       
   465 		@param			aUTContext The context within which this transition is executing
       
   466 	 */
       
   467 	inline TRegistryData_UndoTemporaryUninstall_TransitionValidator(CUnitTestContext& aUTContext);
       
   468 
       
   469 	/**
       
   470 		@fn				ValidatePreConditions()
       
   471 		Intended Usage	: Implemented by the developer to check the
       
   472 						end state of the transition behaviour.
       
   473 		Error Condition	: Invalid pre-conditions
       
   474 		@since			7.0
       
   475 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   476 		@pre 			TRegistryData_UndoTemporaryUninstall_TransitionValidator is fully constructed.
       
   477 		@post			No change to the iUTContext class.
       
   478 	*/
       
   479 	virtual inline TBool ValidatePreConditions();
       
   480 
       
   481 	/**
       
   482 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   483 		Intended Usage	:	Implemented by the developer to check the
       
   484 						end state of the transition behaviour.
       
   485 						When overriding, if the transition calls an asynchronous function
       
   486 						ValidatePostConditions will be called twice. Firstly, after the
       
   487 						asynchronous function has been called and, secondly, after the 
       
   488 						asynchronous request has completed. The parameter aAsyncState can
       
   489 						be used to distinguish between these two cases.
       
   490 		Error Condition	: Invalid post-conditions.
       
   491 		@since			7.0
       
   492 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   493 						EAsyncCompleted if the function has completed.
       
   494 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   495 		@pre 			TRegistryData_UndoTemporaryUninstall_TransitionValidator is fully constructed.
       
   496 		@post			No change to the iUTContext class.
       
   497 	*/
       
   498 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   499 	};	// TRegistryData_UndoTemporaryUninstall_TransitionValidator
       
   500 
       
   501 // ______________________________________________________________________________
       
   502 //
       
   503 /**
       
   504 	@internalComponent
       
   505 
       
   506 	Comments : Provide all the UpdateDllDataUnit Test's specific
       
   507 	validatation for the state of a transition before and after its execution.
       
   508 	on the CRegistryData test class for a transition.
       
   509  */
       
   510 class TRegistryData_UpdateDllData_TransitionValidator : public TTransitionValidator
       
   511 	{
       
   512 public:
       
   513 	/**
       
   514 		@fn				TRegistryData_UpdateDllData_TransitionValidator(CUnitTestContext& aUTContext)
       
   515 		Intended Usage	:	
       
   516 		@leave  		KErrNoMemory
       
   517 		@since			7.0
       
   518 		@param			aUTContext The context within which this transition is executing
       
   519 	 */
       
   520 	inline TRegistryData_UpdateDllData_TransitionValidator(CUnitTestContext& aUTContext);
       
   521 
       
   522 	/**
       
   523 		@fn				ValidatePreConditions()
       
   524 		Intended Usage	: Implemented by the developer to check the
       
   525 						end state of the transition behaviour.
       
   526 		Error Condition	: Invalid pre-conditions
       
   527 		@since			7.0
       
   528 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   529 		@pre 			TRegistryData_UpdateDllData_TransitionValidator is fully constructed.
       
   530 		@post			No change to the iUTContext class.
       
   531 	*/
       
   532 	virtual inline TBool ValidatePreConditions();
       
   533 
       
   534 	/**
       
   535 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   536 		Intended Usage	:	Implemented by the developer to check the
       
   537 						end state of the transition behaviour.
       
   538 						When overriding, if the transition calls an asynchronous function
       
   539 						ValidatePostConditions will be called twice. Firstly, after the
       
   540 						asynchronous function has been called and, secondly, after the 
       
   541 						asynchronous request has completed. The parameter aAsyncState can
       
   542 						be used to distinguish between these two cases.
       
   543 		Error Condition	: Invalid post-conditions.
       
   544 		@since			7.0
       
   545 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   546 						EAsyncCompleted if the function has completed.
       
   547 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   548 		@pre 			TRegistryData_UpdateDllData_TransitionValidator is fully constructed.
       
   549 		@post			No change to the iUTContext class.
       
   550 	*/
       
   551 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   552 	};	// TRegistryData_UpdateDllData_TransitionValidator
       
   553 
       
   554 // ______________________________________________________________________________
       
   555 //
       
   556 /**
       
   557 	@internalComponent
       
   558 
       
   559 	Comments : Provide all the BuildIndexesUnit Test's specific
       
   560 	validatation for the state of a transition before and after its execution.
       
   561 	on the CRegistryData test class for a transition.
       
   562  */
       
   563 class TRegistryData_BuildIndexes_TransitionValidator : public TTransitionValidator
       
   564 	{
       
   565 public:
       
   566 	/**
       
   567 		@fn				TRegistryData_BuildIndexes_TransitionValidator(CUnitTestContext& aUTContext)
       
   568 		Intended Usage	:	
       
   569 		@leave  		KErrNoMemory
       
   570 		@since			7.0
       
   571 		@param			aUTContext The context within which this transition is executing
       
   572 	 */
       
   573 	inline TRegistryData_BuildIndexes_TransitionValidator(CUnitTestContext& aUTContext);
       
   574 
       
   575 	/**
       
   576 		@fn				ValidatePreConditions()
       
   577 		Intended Usage	: Implemented by the developer to check the
       
   578 						end state of the transition behaviour.
       
   579 		Error Condition	: Invalid pre-conditions
       
   580 		@since			7.0
       
   581 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   582 		@pre 			TRegistryData_BuildIndexes_TransitionValidator is fully constructed.
       
   583 		@post			No change to the iUTContext class.
       
   584 	*/
       
   585 	virtual inline TBool ValidatePreConditions();
       
   586 
       
   587 	/**
       
   588 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   589 		Intended Usage	:	Implemented by the developer to check the
       
   590 						end state of the transition behaviour.
       
   591 						When overriding, if the transition calls an asynchronous function
       
   592 						ValidatePostConditions will be called twice. Firstly, after the
       
   593 						asynchronous function has been called and, secondly, after the 
       
   594 						asynchronous request has completed. The parameter aAsyncState can
       
   595 						be used to distinguish between these two cases.
       
   596 		Error Condition	: Invalid post-conditions.
       
   597 		@since			7.0
       
   598 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   599 						EAsyncCompleted if the function has completed.
       
   600 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   601 		@pre 			TRegistryData_BuildIndexes_TransitionValidator is fully constructed.
       
   602 		@post			No change to the iUTContext class.
       
   603 	*/
       
   604 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   605 	};	// TRegistryData_BuildIndexes_TransitionValidator
       
   606 
       
   607 // ______________________________________________________________________________
       
   608 //
       
   609 /**
       
   610 	@internalComponent
       
   611 
       
   612 	Comments : Provide all the IndexedFindUnit Test's specific
       
   613 	validatation for the state of a transition before and after its execution.
       
   614 	on the CRegistryData test class for a transition.
       
   615  */
       
   616 class TRegistryData_IndexedFind_TransitionValidator : public TTransitionValidator
       
   617 	{
       
   618 public:
       
   619 	/**
       
   620 		@fn				TRegistryData_IndexedFind_TransitionValidator(CUnitTestContext& aUTContext)
       
   621 		Intended Usage	:	
       
   622 		@leave  		KErrNoMemory
       
   623 		@since			7.0
       
   624 		@param			aUTContext The context within which this transition is executing
       
   625 	 */
       
   626 	inline TRegistryData_IndexedFind_TransitionValidator(CUnitTestContext& aUTContext);
       
   627 
       
   628 	/**
       
   629 		@fn				ValidatePreConditions()
       
   630 		Intended Usage	: Implemented by the developer to check the
       
   631 						end state of the transition behaviour.
       
   632 		Error Condition	: Invalid pre-conditions
       
   633 		@since			7.0
       
   634 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   635 		@pre 			TRegistryData_IndexedFind_TransitionValidator is fully constructed.
       
   636 		@post			No change to the iUTContext class.
       
   637 	*/
       
   638 	virtual inline TBool ValidatePreConditions();
       
   639 
       
   640 	/**
       
   641 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   642 		Intended Usage	:	Implemented by the developer to check the
       
   643 						end state of the transition behaviour.
       
   644 						When overriding, if the transition calls an asynchronous function
       
   645 						ValidatePostConditions will be called twice. Firstly, after the
       
   646 						asynchronous function has been called and, secondly, after the 
       
   647 						asynchronous request has completed. The parameter aAsyncState can
       
   648 						be used to distinguish between these two cases.
       
   649 		Error Condition	: Invalid post-conditions.
       
   650 		@since			7.0
       
   651 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   652 						EAsyncCompleted if the function has completed.
       
   653 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   654 		@pre 			TRegistryData_IndexedFind_TransitionValidator is fully constructed.
       
   655 		@post			No change to the iUTContext class.
       
   656 	*/
       
   657 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   658 	};	// TRegistryData_IndexedFind_TransitionValidator
       
   659 
       
   660 // ______________________________________________________________________________
       
   661 //
       
   662 /**
       
   663 	@internalComponent
       
   664 
       
   665 	Comments : Provide all the RestoreUnit Test's specific
       
   666 	validatation for the state of a transition before and after its execution.
       
   667 	on the CRegistryData test class for a transition.
       
   668  */
       
   669 class TRegistryData_Restore_TransitionValidator : public TTransitionValidator
       
   670 	{
       
   671 public:
       
   672 	/**
       
   673 		@fn				TRegistryData_Restore_TransitionValidator(CUnitTestContext& aUTContext)
       
   674 		Intended Usage	:	
       
   675 		@leave  		KErrNoMemory
       
   676 		@since			7.0
       
   677 		@param			aUTContext The context within which this transition is executing
       
   678 	 */
       
   679 	inline TRegistryData_Restore_TransitionValidator(CUnitTestContext& aUTContext);
       
   680 
       
   681 	/**
       
   682 		@fn				ValidatePreConditions()
       
   683 		Intended Usage	: Implemented by the developer to check the
       
   684 						end state of the transition behaviour.
       
   685 		Error Condition	: Invalid pre-conditions
       
   686 		@since			7.0
       
   687 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   688 		@pre 			TRegistryData_Restore_TransitionValidator is fully constructed.
       
   689 		@post			No change to the iUTContext class.
       
   690 	*/
       
   691 	virtual inline TBool ValidatePreConditions();
       
   692 
       
   693 	/**
       
   694 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   695 		Intended Usage	:	Implemented by the developer to check the
       
   696 						end state of the transition behaviour.
       
   697 						When overriding, if the transition calls an asynchronous function
       
   698 						ValidatePostConditions will be called twice. Firstly, after the
       
   699 						asynchronous function has been called and, secondly, after the 
       
   700 						asynchronous request has completed. The parameter aAsyncState can
       
   701 						be used to distinguish between these two cases.
       
   702 		Error Condition	: Invalid post-conditions.
       
   703 		@since			7.0
       
   704 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   705 						EAsyncCompleted if the function has completed.
       
   706 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   707 		@pre 			TRegistryData_Restore_TransitionValidator is fully constructed.
       
   708 		@post			No change to the iUTContext class.
       
   709 	*/
       
   710 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   711 	};	// TRegistryData_Restore_TransitionValidator
       
   712 
       
   713 // ______________________________________________________________________________
       
   714 //
       
   715 /**
       
   716 	@internalComponent
       
   717 
       
   718 	Comments : Provide all the StoreUnit Test's specific
       
   719 	validatation for the state of a transition before and after its execution.
       
   720 	on the CRegistryData test class for a transition.
       
   721  */
       
   722 class TRegistryData_Store_TransitionValidator : public TTransitionValidator
       
   723 	{
       
   724 public:
       
   725 	/**
       
   726 		@fn				TRegistryData_Store_TransitionValidator(CUnitTestContext& aUTContext)
       
   727 		Intended Usage	:	
       
   728 		@leave  		KErrNoMemory
       
   729 		@since			7.0
       
   730 		@param			aUTContext The context within which this transition is executing
       
   731 	 */
       
   732 	inline TRegistryData_Store_TransitionValidator(CUnitTestContext& aUTContext);
       
   733 
       
   734 	/**
       
   735 		@fn				ValidatePreConditions()
       
   736 		Intended Usage	: Implemented by the developer to check the
       
   737 						end state of the transition behaviour.
       
   738 		Error Condition	: Invalid pre-conditions
       
   739 		@since			7.0
       
   740 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   741 		@pre 			TRegistryData_Store_TransitionValidator is fully constructed.
       
   742 		@post			No change to the iUTContext class.
       
   743 	*/
       
   744 	virtual inline TBool ValidatePreConditions();
       
   745 
       
   746 	/**
       
   747 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   748 		Intended Usage	:	Implemented by the developer to check the
       
   749 						end state of the transition behaviour.
       
   750 						When overriding, if the transition calls an asynchronous function
       
   751 						ValidatePostConditions will be called twice. Firstly, after the
       
   752 						asynchronous function has been called and, secondly, after the 
       
   753 						asynchronous request has completed. The parameter aAsyncState can
       
   754 						be used to distinguish between these two cases.
       
   755 		Error Condition	: Invalid post-conditions.
       
   756 		@since			7.0
       
   757 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   758 						EAsyncCompleted if the function has completed.
       
   759 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   760 		@pre 			TRegistryData_Store_TransitionValidator is fully constructed.
       
   761 		@post			No change to the iUTContext class.
       
   762 	*/
       
   763 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   764 	};	// TRegistryData_Store_TransitionValidator
       
   765 
       
   766 // ______________________________________________________________________________
       
   767 //
       
   768 /**
       
   769 	@internalComponent
       
   770 
       
   771 	Comments : Provide all the MatchOnUidUnit Test's specific
       
   772 	validatation for the state of a transition before and after its execution.
       
   773 	on the CRegistryData test class for a transition.
       
   774  */
       
   775 class TRegistryData_MatchOnUid_TransitionValidator : public TTransitionValidator
       
   776 	{
       
   777 public:
       
   778 	/**
       
   779 		@fn				TRegistryData_MatchOnUid_TransitionValidator(CUnitTestContext& aUTContext)
       
   780 		Intended Usage	:	
       
   781 		@leave  		KErrNoMemory
       
   782 		@since			7.0
       
   783 		@param			aUTContext The context within which this transition is executing
       
   784 	 */
       
   785 	inline TRegistryData_MatchOnUid_TransitionValidator(CUnitTestContext& aUTContext);
       
   786 
       
   787 	/**
       
   788 		@fn				ValidatePreConditions()
       
   789 		Intended Usage	: Implemented by the developer to check the
       
   790 						end state of the transition behaviour.
       
   791 		Error Condition	: Invalid pre-conditions
       
   792 		@since			7.0
       
   793 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   794 		@pre 			TRegistryData_MatchOnUid_TransitionValidator is fully constructed.
       
   795 		@post			No change to the iUTContext class.
       
   796 	*/
       
   797 	virtual inline TBool ValidatePreConditions();
       
   798 
       
   799 	/**
       
   800 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   801 		Intended Usage	:	Implemented by the developer to check the
       
   802 						end state of the transition behaviour.
       
   803 						When overriding, if the transition calls an asynchronous function
       
   804 						ValidatePostConditions will be called twice. Firstly, after the
       
   805 						asynchronous function has been called and, secondly, after the 
       
   806 						asynchronous request has completed. The parameter aAsyncState can
       
   807 						be used to distinguish between these two cases.
       
   808 		Error Condition	: Invalid post-conditions.
       
   809 		@since			7.0
       
   810 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   811 						EAsyncCompleted if the function has completed.
       
   812 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   813 		@pre 			TRegistryData_MatchOnUid_TransitionValidator is fully constructed.
       
   814 		@post			No change to the iUTContext class.
       
   815 	*/
       
   816 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   817 	};	// TRegistryData_MatchOnUid_TransitionValidator
       
   818 
       
   819 
       
   820 // ______________________________________________________________________________
       
   821 //
       
   822 /**
       
   823 	@internalComponent
       
   824 	
       
   825 	Comments : Provide all the ConstructPolicyIndexLUnit Test's specific
       
   826 	validatation for the state of a transition before and after its execution.
       
   827 	on the CRegistryData test class for a transition.
       
   828  */
       
   829 class TRegistryData_ConstructPolicyIndexL_TransitionValidator : public TTransitionValidator
       
   830 	{
       
   831 public:
       
   832 	/**
       
   833 		@fn				TRegistryData_ConstructPolicyIndexL_TransitionValidator(CUnitTestContext& aUTContext)
       
   834 		Intended Usage	:	
       
   835 		@leave  		KErrNoMemory
       
   836 		@since			7.0
       
   837 		@param			aUTContext The context within which this transition is executing
       
   838 	 */
       
   839 	inline TRegistryData_ConstructPolicyIndexL_TransitionValidator(CUnitTestContext& aUTContext);
       
   840 
       
   841 	/**
       
   842 		@fn				ValidatePreConditions()
       
   843 		Intended Usage	: Implemented by the developer to check the
       
   844 						end state of the transition behaviour.
       
   845 		Error Condition	: Invalid pre-conditions
       
   846 		@since			7.0
       
   847 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   848 		@pre 			TRegistryData_ConstructPolicyIndexL_TransitionValidator is fully constructed.
       
   849 		@post			No change to the iUTContext class.
       
   850 	*/
       
   851 	virtual inline TBool ValidatePreConditions();
       
   852 
       
   853 	/**
       
   854 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   855 		Intended Usage	:	Implemented by the developer to check the
       
   856 						end state of the transition behaviour.
       
   857 						When overriding, if the transition calls an asynchronous function
       
   858 						ValidatePostConditions will be called twice. Firstly, after the
       
   859 						asynchronous function has been called and, secondly, after the 
       
   860 						asynchronous request has completed. The parameter aAsyncState can
       
   861 						be used to distinguish between these two cases.
       
   862 		Error Condition	: Invalid post-conditions.
       
   863 		@since			7.0
       
   864 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   865 						EAsyncCompleted if the function has completed.
       
   866 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   867 		@pre 			TRegistryData_ConstructPolicyIndexL_TransitionValidator is fully constructed.
       
   868 		@post			No change to the iUTContext class.
       
   869 	*/
       
   870 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   871 	};	// TRegistryData_ConstructPolicyIndexL_TransitionValidator
       
   872 
       
   873 // ______________________________________________________________________________
       
   874 //
       
   875 /**
       
   876 	@internalComponent
       
   877 
       
   878 	Comments : Provide all the SetPolicyObserverUnit Test's specific
       
   879 	validatation for the state of a transition before and after its execution.
       
   880 	on the CRegistryData test class for a transition.
       
   881  */
       
   882 class TRegistryData_SetPolicyObserver_TransitionValidator : public TTransitionValidator
       
   883 	{
       
   884 public:
       
   885 	/**
       
   886 		@fn				TRegistryData_SetPolicyObserver_TransitionValidator(CUnitTestContext& aUTContext)
       
   887 		Intended Usage	:	
       
   888 		@leave  		KErrNoMemory
       
   889 		@since			7.0
       
   890 		@param			aUTContext The context within which this transition is executing
       
   891 	 */
       
   892 	inline TRegistryData_SetPolicyObserver_TransitionValidator(CUnitTestContext& aUTContext);
       
   893 
       
   894 	/**
       
   895 		@fn				ValidatePreConditions()
       
   896 		Intended Usage	: Implemented by the developer to check the
       
   897 						end state of the transition behaviour.
       
   898 		Error Condition	: Invalid pre-conditions
       
   899 		@since			7.0
       
   900 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   901 		@pre 			TRegistryData_SetPolicyObserver_TransitionValidator is fully constructed.
       
   902 		@post			No change to the iUTContext class.
       
   903 	*/
       
   904 	virtual inline TBool ValidatePreConditions();
       
   905 
       
   906 	/**
       
   907 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   908 		Intended Usage	:	Implemented by the developer to check the
       
   909 						end state of the transition behaviour.
       
   910 						When overriding, if the transition calls an asynchronous function
       
   911 						ValidatePostConditions will be called twice. Firstly, after the
       
   912 						asynchronous function has been called and, secondly, after the 
       
   913 						asynchronous request has completed. The parameter aAsyncState can
       
   914 						be used to distinguish between these two cases.
       
   915 		Error Condition	: Invalid post-conditions.
       
   916 		@since			7.0
       
   917 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   918 						EAsyncCompleted if the function has completed.
       
   919 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   920 		@pre 			TRegistryData_SetPolicyObserver_TransitionValidator is fully constructed.
       
   921 		@post			No change to the iUTContext class.
       
   922 	*/
       
   923 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   924 	};	// TRegistryData_SetPolicyObserver_TransitionValidator
       
   925 
       
   926 // ______________________________________________________________________________
       
   927 //
       
   928 /**
       
   929 	@internalComponent
       
   930 
       
   931 	Comments : Provide all the GetSecondImplInfoUnit Test's specific
       
   932 	validatation for the state of a transition before and after its execution.
       
   933 	on the CRegistryData test class for a transition.
       
   934  */
       
   935 class TRegistryData_GetSecondImplInfo_TransitionValidator : public TTransitionValidator
       
   936 	{
       
   937 public:
       
   938 	/**
       
   939 		@fn				TRegistryData_GetSecondImplInfo_TransitionValidator(CUnitTestContext& aUTContext)
       
   940 		Intended Usage	:	
       
   941 		@leave  		KErrNoMemory
       
   942 		@since			7.0
       
   943 		@param			aUTContext The context within which this transition is executing
       
   944 	 */
       
   945 	inline TRegistryData_GetSecondImplInfo_TransitionValidator(CUnitTestContext& aUTContext);
       
   946 
       
   947 	/**
       
   948 		@fn				ValidatePreConditions()
       
   949 		Intended Usage	: Implemented by the developer to check the
       
   950 						end state of the transition behaviour.
       
   951 		Error Condition	: Invalid pre-conditions
       
   952 		@since			7.0
       
   953 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
   954 		@pre 			TRegistryData_GetSecondImplInfo_TransitionValidator is fully constructed.
       
   955 		@post			No change to the iUTContext class.
       
   956 	*/
       
   957 	virtual inline TBool ValidatePreConditions();
       
   958 
       
   959 	/**
       
   960 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
   961 		Intended Usage	:	Implemented by the developer to check the
       
   962 						end state of the transition behaviour.
       
   963 						When overriding, if the transition calls an asynchronous function
       
   964 						ValidatePostConditions will be called twice. Firstly, after the
       
   965 						asynchronous function has been called and, secondly, after the 
       
   966 						asynchronous request has completed. The parameter aAsyncState can
       
   967 						be used to distinguish between these two cases.
       
   968 		Error Condition	: Invalid post-conditions.
       
   969 		@since			7.0
       
   970 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
   971 						EAsyncCompleted if the function has completed.
       
   972 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
   973 		@pre 			TRegistryData_GetSecondImplInfo_TransitionValidator is fully constructed.
       
   974 		@post			No change to the iUTContext class.
       
   975 	*/
       
   976 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
   977 	};	// TRegistryData_GetSecondImplInfo_TransitionValidator
       
   978 
       
   979 // ______________________________________________________________________________
       
   980 //
       
   981 /**
       
   982 	@internalComponent
       
   983 	
       
   984 	Comments : Provide all the DiscoveriesBeginningUnit Test's specific
       
   985 	validatation for the state of a transition before and after its execution.
       
   986 	on the CRegistryData test class for a transition.
       
   987  */
       
   988 class TRegistryData_DiscoveriesBeginning_TransitionValidator : public TTransitionValidator
       
   989 	{
       
   990 public:
       
   991 	/**
       
   992 		@fn				TRegistryData_DiscoveriesBeginning_TransitionValidator(CUnitTestContext& aUTContext)
       
   993 		Intended Usage	:	
       
   994 		@leave  		KErrNoMemory
       
   995 		@since			7.0
       
   996 		@param			aUTContext The context within which this transition is executing
       
   997 	 */
       
   998 	inline TRegistryData_DiscoveriesBeginning_TransitionValidator(CUnitTestContext& aUTContext);
       
   999 
       
  1000 	/**
       
  1001 		@fn				ValidatePreConditions()
       
  1002 		Intended Usage	: Implemented by the developer to check the
       
  1003 						end state of the transition behaviour.
       
  1004 		Error Condition	: Invalid pre-conditions
       
  1005 		@since			7.0
       
  1006 		@return			TBool ETrue if the pre-conditions were valid, EFalse otherwise.
       
  1007 		@pre 			TRegistryData_DiscoveriesBeginning_TransitionValidator is fully constructed.
       
  1008 		@post			No change to the iUTContext class.
       
  1009 	*/
       
  1010 	virtual inline TBool ValidatePreConditions();
       
  1011 
       
  1012 	/**
       
  1013 		@fn				ValidatePostConditions(TTestBedAsyncState aAsyncState)
       
  1014 		Intended Usage	:	Implemented by the developer to check the
       
  1015 						end state of the transition behaviour.
       
  1016 						When overriding, if the transition calls an asynchronous function
       
  1017 						ValidatePostConditions will be called twice. Firstly, after the
       
  1018 						asynchronous function has been called and, secondly, after the 
       
  1019 						asynchronous request has completed. The parameter aAsyncState can
       
  1020 						be used to distinguish between these two cases.
       
  1021 		Error Condition	: Invalid post-conditions.
       
  1022 		@since			7.0
       
  1023 		@param			aAsyncState EAsyncCalled if the async function has been just been called,
       
  1024 						EAsyncCompleted if the function has completed.
       
  1025 		@return			TBool ETrue if the post-conditions were valid, EFalse otherwise.
       
  1026 		@pre 			TRegistryData_DiscoveriesBeginning_TransitionValidator is fully constructed.
       
  1027 		@post			No change to the iUTContext class.
       
  1028 	*/
       
  1029 	virtual inline TBool ValidatePostConditions(TTestBedAsyncState aAsyncState);
       
  1030 	};	// TRegistryData_DiscoveriesBeginning_TransitionValidator
       
  1031 
       
  1032 #include "RegistryDataTransitionValidation.inl"
       
  1033 
       
  1034 #endif		// __REGISTRYDATATRANSITIONVALIDATION_H__