keepalive/flextimer/test/testflextimer/inc/testrflextimer.h
author hgs
Mon, 24 May 2010 20:51:35 +0300
changeset 32 5c4486441ae6
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* ============================================================================
hgs
parents:
diff changeset
     3
*  Name        : testrflextimer.h
hgs
parents:
diff changeset
     4
*  Part of     : src / testflextimer
hgs
parents:
diff changeset
     5
*  Description : STIF test cases for RFlexTimer
hgs
parents:
diff changeset
     6
*  Version     : %version: 1 %
hgs
parents:
diff changeset
     7
*
hgs
parents:
diff changeset
     8
*  Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     9
*  All rights reserved.
hgs
parents:
diff changeset
    10
*  This component and the accompanying materials are made available
hgs
parents:
diff changeset
    11
*  under the terms of the License "Eclipse Public License v1.0"
hgs
parents:
diff changeset
    12
*  which accompanies this distribution, and is available
hgs
parents:
diff changeset
    13
*  at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
    14
*
hgs
parents:
diff changeset
    15
*  Initial Contributors:
hgs
parents:
diff changeset
    16
*  Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    17
*
hgs
parents:
diff changeset
    18
*  Contributors:
hgs
parents:
diff changeset
    19
*  Nokia Corporation
hgs
parents:
diff changeset
    20
* ============================================================================
hgs
parents:
diff changeset
    21
* Template version: 4.2
hgs
parents:
diff changeset
    22
*/
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#ifndef TESTRFLEXTIMER_H
hgs
parents:
diff changeset
    25
#define TESTRFLEXTIMER_H
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
#include <e32base.h>
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
/**
hgs
parents:
diff changeset
    31
 *  STIF test cases for RFlexTimer class.
hgs
parents:
diff changeset
    32
 *  This class is only a container for STIF test cases - it should NOT be
hgs
parents:
diff changeset
    33
 *  instantiated, just call the static functions.
hgs
parents:
diff changeset
    34
 *
hgs
parents:
diff changeset
    35
 *  @lib testflextimer.lib
hgs
parents:
diff changeset
    36
 *  @since TB10.1
hgs
parents:
diff changeset
    37
 */
hgs
parents:
diff changeset
    38
class CTestRFlexTimer : public CBase
hgs
parents:
diff changeset
    39
    {
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
public:
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
    /**
hgs
parents:
diff changeset
    44
    * Destructor.
hgs
parents:
diff changeset
    45
    */
hgs
parents:
diff changeset
    46
    virtual ~CTestRFlexTimer();
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
    /**
hgs
parents:
diff changeset
    49
    * @brief Start a timer using After (32 bit) and wait it to expire
hgs
parents:
diff changeset
    50
    * 
hgs
parents:
diff changeset
    51
    * Open RFlexTimer handle and connect to the server. Set timer to expire
hgs
parents:
diff changeset
    52
    * after 3 secs. Close the handle and check that the expiration is done
hgs
parents:
diff changeset
    53
    * at correct time.
hgs
parents:
diff changeset
    54
    * 
hgs
parents:
diff changeset
    55
    * Tests:
hgs
parents:
diff changeset
    56
    * - RFlexTimer::RFlexTimer()
hgs
parents:
diff changeset
    57
    * - RFlexTimer::Connect()
hgs
parents:
diff changeset
    58
    * - RFlexTimer::After() 32 bit
hgs
parents:
diff changeset
    59
    * - RFlexTimer::Close()
hgs
parents:
diff changeset
    60
    * - RFlexTimer::~RFlexTimer()
hgs
parents:
diff changeset
    61
    * - Expiration of timer
hgs
parents:
diff changeset
    62
    *
hgs
parents:
diff changeset
    63
    * @param aResult The result of the test.
hgs
parents:
diff changeset
    64
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
    65
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
    66
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
    67
    */
hgs
parents:
diff changeset
    68
    static TInt ExpireAfter32L( TTestResult& aResult,
hgs
parents:
diff changeset
    69
                                CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
    /**
hgs
parents:
diff changeset
    73
    * @brief Start a timer using After (64 bit) and wait it to expire
hgs
parents:
diff changeset
    74
    * 
hgs
parents:
diff changeset
    75
    * Open RFlexTimer handle and connect to the server. Set timer to expire
hgs
parents:
diff changeset
    76
    * after 3 secs. Close the handle and check that the expiration is done
hgs
parents:
diff changeset
    77
    * at correct time.
hgs
parents:
diff changeset
    78
    * 
hgs
parents:
diff changeset
    79
    * Tests:
hgs
parents:
diff changeset
    80
    * - RFlexTimer::RFlexTimer()
hgs
parents:
diff changeset
    81
    * - RFlexTimer::Connect()
hgs
parents:
diff changeset
    82
    * - RFlexTimer::After() 64 bit
hgs
parents:
diff changeset
    83
    * - RFlexTimer::Close()
hgs
parents:
diff changeset
    84
    * - RFlexTimer::~RFlexTimer()
hgs
parents:
diff changeset
    85
    * - Expiration of timer
hgs
parents:
diff changeset
    86
    *
hgs
parents:
diff changeset
    87
    * @param aResult The result of the test.
hgs
parents:
diff changeset
    88
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
    89
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
    90
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
    91
    */
hgs
parents:
diff changeset
    92
    static TInt ExpireAfter64L( TTestResult& aResult,
hgs
parents:
diff changeset
    93
                                CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    /**
hgs
parents:
diff changeset
    97
    * @brief Start a timer using AfterTicks and wait it to expire
hgs
parents:
diff changeset
    98
    *
hgs
parents:
diff changeset
    99
    * Open RFlexTimer handle and connect to the server. Set timer to expire
hgs
parents:
diff changeset
   100
    * after 192 ticks (3 secs). Close the handle and check that the 
hgs
parents:
diff changeset
   101
    * expiration is done at correct time.
hgs
parents:
diff changeset
   102
    * 
hgs
parents:
diff changeset
   103
    * Tests:
hgs
parents:
diff changeset
   104
    * - RFlexTimer::RFlexTimer()
hgs
parents:
diff changeset
   105
    * - RFlexTimer::Connect()
hgs
parents:
diff changeset
   106
    * - RFlexTimer::AfterTicks()
hgs
parents:
diff changeset
   107
    * - RFlexTimer::Close()
hgs
parents:
diff changeset
   108
    * - RFlexTimer::~RFlexTimer()
hgs
parents:
diff changeset
   109
    * - Expiration of timer
hgs
parents:
diff changeset
   110
    *
hgs
parents:
diff changeset
   111
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   112
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   113
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   114
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   115
    */
hgs
parents:
diff changeset
   116
    static TInt ExpireAfterTicksL( TTestResult& aResult,
hgs
parents:
diff changeset
   117
                                   CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   118
hgs
parents:
diff changeset
   119
    /**
hgs
parents:
diff changeset
   120
    * @brief Start a timer using At and wait it to expire
hgs
parents:
diff changeset
   121
    *
hgs
parents:
diff changeset
   122
    * Open RFlexTimer handle and connect to the server. Set timer to expire
hgs
parents:
diff changeset
   123
    * after 3 secs from now. Close the handle and check that the expiration is
hgs
parents:
diff changeset
   124
    * done at correct time.
hgs
parents:
diff changeset
   125
    * 
hgs
parents:
diff changeset
   126
    * Tests:
hgs
parents:
diff changeset
   127
    * - RFlexTimer::RFlexTimer()
hgs
parents:
diff changeset
   128
    * - RFlexTimer::Connect()
hgs
parents:
diff changeset
   129
    * - RFlexTimer::At()
hgs
parents:
diff changeset
   130
    * - RFlexTimer::Close()
hgs
parents:
diff changeset
   131
    * - RFlexTimer::~RFlexTimer()
hgs
parents:
diff changeset
   132
    * - Expiration of timer
hgs
parents:
diff changeset
   133
    *
hgs
parents:
diff changeset
   134
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   135
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   136
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   137
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   138
    */
hgs
parents:
diff changeset
   139
    static TInt ExpireAtL( TTestResult& aResult,
hgs
parents:
diff changeset
   140
                           CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
    /**
hgs
parents:
diff changeset
   143
    * @brief Start a timer using AtUTC and wait it to expire
hgs
parents:
diff changeset
   144
    *
hgs
parents:
diff changeset
   145
    * Open RFlexTimer handle and connect to the server. Set timer to expire
hgs
parents:
diff changeset
   146
    * after 3 secs from now. Close the handle and check that the expiration is
hgs
parents:
diff changeset
   147
    * done at correct time.
hgs
parents:
diff changeset
   148
    * 
hgs
parents:
diff changeset
   149
    * Tests:
hgs
parents:
diff changeset
   150
    * - RFlexTimer::RFlexTimer()
hgs
parents:
diff changeset
   151
    * - RFlexTimer::Connect()
hgs
parents:
diff changeset
   152
    * - RFlexTimer::AtUTC()
hgs
parents:
diff changeset
   153
    * - RFlexTimer::Close()
hgs
parents:
diff changeset
   154
    * - RFlexTimer::~RFlexTimer()
hgs
parents:
diff changeset
   155
    * - Expiration of timer
hgs
parents:
diff changeset
   156
    *
hgs
parents:
diff changeset
   157
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   158
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   159
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   160
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   161
    */
hgs
parents:
diff changeset
   162
    static TInt ExpireAtUtcL( TTestResult& aResult,
hgs
parents:
diff changeset
   163
                              CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
    /**
hgs
parents:
diff changeset
   166
    * @brief Start timer using After (32 bit) without connecting to the server first.
hgs
parents:
diff changeset
   167
    *
hgs
parents:
diff changeset
   168
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   169
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   170
    *
hgs
parents:
diff changeset
   171
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   172
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   173
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   174
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   175
    */
hgs
parents:
diff changeset
   176
    static TInt After32WithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   177
                                       CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
    /**
hgs
parents:
diff changeset
   180
    * @brief Start timer using After (64 bit) without connecting to the server first.
hgs
parents:
diff changeset
   181
    *
hgs
parents:
diff changeset
   182
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   183
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   184
    *
hgs
parents:
diff changeset
   185
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   186
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   187
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   188
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   189
    */
hgs
parents:
diff changeset
   190
    static TInt After64WithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   191
                                       CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
    /**
hgs
parents:
diff changeset
   194
    * @brief Start timer using AfterTicks without connecting to the server first.
hgs
parents:
diff changeset
   195
    *
hgs
parents:
diff changeset
   196
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   197
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   198
    *
hgs
parents:
diff changeset
   199
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   200
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   201
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   202
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   203
    */
hgs
parents:
diff changeset
   204
    static TInt AfterTicksWithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   205
                                          CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   206
hgs
parents:
diff changeset
   207
    /**
hgs
parents:
diff changeset
   208
    * @brief Start timer using At without connecting to the server first.
hgs
parents:
diff changeset
   209
    *
hgs
parents:
diff changeset
   210
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   211
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   212
    *
hgs
parents:
diff changeset
   213
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   214
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   215
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   216
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   217
    */
hgs
parents:
diff changeset
   218
    static TInt AtWithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   219
                                  CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   220
hgs
parents:
diff changeset
   221
    /**
hgs
parents:
diff changeset
   222
    * @brief Start timer using AtUtc without connecting to the server first.
hgs
parents:
diff changeset
   223
    *
hgs
parents:
diff changeset
   224
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   225
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   226
    *
hgs
parents:
diff changeset
   227
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   228
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   229
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   230
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   231
    */
hgs
parents:
diff changeset
   232
    static TInt AtUtcWithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   233
                                     CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   234
hgs
parents:
diff changeset
   235
    /**
hgs
parents:
diff changeset
   236
    * @brief Configure (32 bit) timer without connecting to the server first.
hgs
parents:
diff changeset
   237
    *
hgs
parents:
diff changeset
   238
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   239
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   240
    *
hgs
parents:
diff changeset
   241
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   242
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   243
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   244
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   245
    */
hgs
parents:
diff changeset
   246
    static TInt Configure32WithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   247
                                           CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   248
hgs
parents:
diff changeset
   249
    /**
hgs
parents:
diff changeset
   250
    * @brief Configure (64 bit) timer without connecting to the server first.
hgs
parents:
diff changeset
   251
    *
hgs
parents:
diff changeset
   252
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   253
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   254
    *
hgs
parents:
diff changeset
   255
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   256
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   257
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   258
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   259
    */
hgs
parents:
diff changeset
   260
    static TInt Configure64WithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   261
                                           CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   262
hgs
parents:
diff changeset
   263
    /**
hgs
parents:
diff changeset
   264
    * @brief Cancel timer using RFlexTimer without connecting to the server first.
hgs
parents:
diff changeset
   265
    *
hgs
parents:
diff changeset
   266
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   267
    * KERN-EXEC 0.
hgs
parents:
diff changeset
   268
    *
hgs
parents:
diff changeset
   269
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   270
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   271
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   272
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   273
    */
hgs
parents:
diff changeset
   274
    static TInt CancelWithoutConnect( TTestResult& aResult,
hgs
parents:
diff changeset
   275
                                      CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
    /**
hgs
parents:
diff changeset
   278
    * @brief Set timer twice by After.
hgs
parents:
diff changeset
   279
    *
hgs
parents:
diff changeset
   280
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   281
    * RFlexTimer 15 (EFlexTimerServerErrorPendingTimer).
hgs
parents:
diff changeset
   282
    *
hgs
parents:
diff changeset
   283
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   284
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   285
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   286
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   287
    */
hgs
parents:
diff changeset
   288
    static TInt CallAfterTwiceL( TTestResult& aResult,
hgs
parents:
diff changeset
   289
                                 CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   290
    
hgs
parents:
diff changeset
   291
hgs
parents:
diff changeset
   292
    /**
hgs
parents:
diff changeset
   293
    * @brief Set timer twice by AfterTicks.
hgs
parents:
diff changeset
   294
    *
hgs
parents:
diff changeset
   295
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   296
    * RFlexTimer 15 (EFlexTimerServerErrorPendingTimer).
hgs
parents:
diff changeset
   297
    *
hgs
parents:
diff changeset
   298
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   299
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   300
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   301
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   302
    */
hgs
parents:
diff changeset
   303
    static TInt CallAfterTicksTwiceL( TTestResult& aResult,
hgs
parents:
diff changeset
   304
                                      CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   305
    
hgs
parents:
diff changeset
   306
    /**
hgs
parents:
diff changeset
   307
    * @brief Set timer twice by At.
hgs
parents:
diff changeset
   308
    *
hgs
parents:
diff changeset
   309
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   310
    * RFlexTimer 15 (EFlexTimerServerErrorPendingTimer).
hgs
parents:
diff changeset
   311
    *
hgs
parents:
diff changeset
   312
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   313
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   314
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   315
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   316
    */
hgs
parents:
diff changeset
   317
    static TInt CallAtTwiceL( TTestResult& aResult,
hgs
parents:
diff changeset
   318
                              CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   319
hgs
parents:
diff changeset
   320
    /**
hgs
parents:
diff changeset
   321
    * @brief Set timer twice by AtUTC.
hgs
parents:
diff changeset
   322
    *
hgs
parents:
diff changeset
   323
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   324
    * RFlexTimer 15 (EFlexTimerServerErrorPendingTimer).
hgs
parents:
diff changeset
   325
    *
hgs
parents:
diff changeset
   326
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   327
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   328
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   329
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   330
    */
hgs
parents:
diff changeset
   331
    static TInt CallAtUtcTwiceL( TTestResult& aResult,
hgs
parents:
diff changeset
   332
                                 CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   333
hgs
parents:
diff changeset
   334
    /**
hgs
parents:
diff changeset
   335
    * @brief Connect to timer server twice.
hgs
parents:
diff changeset
   336
    *
hgs
parents:
diff changeset
   337
    * This tests illeagal usage of the interface and it'll panic with 
hgs
parents:
diff changeset
   338
    * RFlexTimer 32 (EFlexTimerAlreadyConnected).
hgs
parents:
diff changeset
   339
    * 
hgs
parents:
diff changeset
   340
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   341
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   342
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   343
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   344
    */
hgs
parents:
diff changeset
   345
    static TInt CallConnectTwiceL( TTestResult& aResult,
hgs
parents:
diff changeset
   346
                                   CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
    
hgs
parents:
diff changeset
   349
    /**
hgs
parents:
diff changeset
   350
    * @brief Reconnect to timer server.
hgs
parents:
diff changeset
   351
    *
hgs
parents:
diff changeset
   352
    * Connect, close and connect again the handle.
hgs
parents:
diff changeset
   353
    * 
hgs
parents:
diff changeset
   354
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   355
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   356
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   357
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   358
    */
hgs
parents:
diff changeset
   359
    static TInt ReconnectL( TTestResult& aResult,
hgs
parents:
diff changeset
   360
                            CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   361
hgs
parents:
diff changeset
   362
    
hgs
parents:
diff changeset
   363
    /**
hgs
parents:
diff changeset
   364
    * @brief Cancel timer using RFlexTimer without starting it first.
hgs
parents:
diff changeset
   365
    *
hgs
parents:
diff changeset
   366
    * This tests a leagal uage of the interface. Timer can be cancelled 
hgs
parents:
diff changeset
   367
    * without setting it first.
hgs
parents:
diff changeset
   368
    *
hgs
parents:
diff changeset
   369
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   370
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   371
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   372
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   373
    */
hgs
parents:
diff changeset
   374
    static TInt CancelWithoutStart( TTestResult& aResult,
hgs
parents:
diff changeset
   375
                                    CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   376
    
hgs
parents:
diff changeset
   377
    /**
hgs
parents:
diff changeset
   378
    * @brief Call AfterTicks() with negative value.
hgs
parents:
diff changeset
   379
    *
hgs
parents:
diff changeset
   380
    * This test illegal usage of the interface. There has to be zero or more 
hgs
parents:
diff changeset
   381
    * ticks.
hgs
parents:
diff changeset
   382
    *
hgs
parents:
diff changeset
   383
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   384
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   385
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   386
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   387
    */
hgs
parents:
diff changeset
   388
    static TInt NegativeTicksInAfterTicksL(
hgs
parents:
diff changeset
   389
        TTestResult& aResult, 
hgs
parents:
diff changeset
   390
        CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   391
hgs
parents:
diff changeset
   392
    /**
hgs
parents:
diff changeset
   393
    * @brief Call AfterTicks() with zero.
hgs
parents:
diff changeset
   394
    *
hgs
parents:
diff changeset
   395
    * This tests leagal usage of the interface.
hgs
parents:
diff changeset
   396
    *
hgs
parents:
diff changeset
   397
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   398
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   399
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   400
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   401
    */
hgs
parents:
diff changeset
   402
    static TInt ZeroTicksInAfterTicksL(
hgs
parents:
diff changeset
   403
        TTestResult& aResult, 
hgs
parents:
diff changeset
   404
        CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   405
hgs
parents:
diff changeset
   406
    /**
hgs
parents:
diff changeset
   407
    * @brief Change system time during AfterTicks timer is running.
hgs
parents:
diff changeset
   408
    * 
hgs
parents:
diff changeset
   409
    * Set timer to be expired after 640 ticks (10 sec). After 1 sec from
hgs
parents:
diff changeset
   410
    * starting the timer, add system time 3 seconds. Check that the timer
hgs
parents:
diff changeset
   411
    * expires after 10 seconds from starting (13 secs by system time).
hgs
parents:
diff changeset
   412
    *
hgs
parents:
diff changeset
   413
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   414
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   415
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   416
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   417
    */
hgs
parents:
diff changeset
   418
    static TInt ChangeTimeWhileAfterTicksL(
hgs
parents:
diff changeset
   419
        TTestResult& aResult, 
hgs
parents:
diff changeset
   420
        CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   421
hgs
parents:
diff changeset
   422
    /**
hgs
parents:
diff changeset
   423
    * @brief Test that timer window works correctly.
hgs
parents:
diff changeset
   424
    * 
hgs
parents:
diff changeset
   425
    * Create three timers:
hgs
parents:
diff changeset
   426
    * T1: expire after 4-8 secs
hgs
parents:
diff changeset
   427
    * T2: expire after 7-8 secs
hgs
parents:
diff changeset
   428
    * T3: expire after 5 secs
hgs
parents:
diff changeset
   429
    *
hgs
parents:
diff changeset
   430
    * T1 and T2 are AfterTicks -timers T3 is After timer.
hgs
parents:
diff changeset
   431
    * 
hgs
parents:
diff changeset
   432
    * Check that T1 has expired after 5 secs and T2 after 8 secs of setting.
hgs
parents:
diff changeset
   433
    *
hgs
parents:
diff changeset
   434
    * @param aResult The result of the test.
hgs
parents:
diff changeset
   435
    * @param aCallback Pointer to the STIF test class
hgs
parents:
diff changeset
   436
    * @return The status of execution of the test. KErrNone if the test
hgs
parents:
diff changeset
   437
    *         was executed ok, any system wide errorcode otherwise.
hgs
parents:
diff changeset
   438
    */
hgs
parents:
diff changeset
   439
    static TInt TestAfterTicksWindowL(
hgs
parents:
diff changeset
   440
        TTestResult& aResult, 
hgs
parents:
diff changeset
   441
        CTestFlexTimer* aCallback );
hgs
parents:
diff changeset
   442
hgs
parents:
diff changeset
   443
private:
hgs
parents:
diff changeset
   444
hgs
parents:
diff changeset
   445
    /**
hgs
parents:
diff changeset
   446
    * Constructor.
hgs
parents:
diff changeset
   447
    * Keep it private to prevent instantiation of the class.
hgs
parents:
diff changeset
   448
    */
hgs
parents:
diff changeset
   449
    CTestRFlexTimer();
hgs
parents:
diff changeset
   450
hgs
parents:
diff changeset
   451
    /**
hgs
parents:
diff changeset
   452
    * Check is the delay in the window.
hgs
parents:
diff changeset
   453
    * @param aDelay Interval to be checked.
hgs
parents:
diff changeset
   454
    * @param aInterval Interval of the timer.
hgs
parents:
diff changeset
   455
    * @param aWindow Allowed window of the timer. 
hgs
parents:
diff changeset
   456
    * @return ETrue if the delay is correc, EFalse otherwise.
hgs
parents:
diff changeset
   457
    */
hgs
parents:
diff changeset
   458
    static TBool IsDelayOk( 
hgs
parents:
diff changeset
   459
        const TTimeIntervalMicroSeconds aDelay,
hgs
parents:
diff changeset
   460
        const TTimeIntervalMicroSeconds32 aInterval,
hgs
parents:
diff changeset
   461
        const TTimeIntervalMicroSeconds32 aWindow );
hgs
parents:
diff changeset
   462
hgs
parents:
diff changeset
   463
    /**
hgs
parents:
diff changeset
   464
    * Check is the delay in the window.
hgs
parents:
diff changeset
   465
    * @param aDelay Interval to be checked.
hgs
parents:
diff changeset
   466
    * @param aInterval Interval of the timer.
hgs
parents:
diff changeset
   467
    * @param aWindow Allowed window of the timer. 
hgs
parents:
diff changeset
   468
    * @return ETrue if the delay is correc, EFalse otherwise.
hgs
parents:
diff changeset
   469
    */
hgs
parents:
diff changeset
   470
    static TBool IsDelayOk( 
hgs
parents:
diff changeset
   471
        const TTimeIntervalMicroSeconds aDelay,
hgs
parents:
diff changeset
   472
        const TTimeIntervalMicroSeconds32 aInterval,
hgs
parents:
diff changeset
   473
        const TTimeIntervalMicroSeconds aWindow );
hgs
parents:
diff changeset
   474
hgs
parents:
diff changeset
   475
    /**
hgs
parents:
diff changeset
   476
    * Check is the delay in the window.
hgs
parents:
diff changeset
   477
    * @param aDelay Interval to be checked.
hgs
parents:
diff changeset
   478
    * @param aInterval Interval of the timer.
hgs
parents:
diff changeset
   479
    * @param aWindow Allowed window of the timer. 
hgs
parents:
diff changeset
   480
    * @return ETrue if the delay is correc, EFalse otherwise.
hgs
parents:
diff changeset
   481
    */
hgs
parents:
diff changeset
   482
    static TBool IsDelayOk( 
hgs
parents:
diff changeset
   483
        const TTimeIntervalMicroSeconds aDelay,
hgs
parents:
diff changeset
   484
        const TTimeIntervalMicroSeconds aInterval,
hgs
parents:
diff changeset
   485
        const TTimeIntervalMicroSeconds32 aWindow );
hgs
parents:
diff changeset
   486
hgs
parents:
diff changeset
   487
    /**
hgs
parents:
diff changeset
   488
    * Check is the delay in the window.
hgs
parents:
diff changeset
   489
    * @param aDelay Interval to be checked.
hgs
parents:
diff changeset
   490
    * @param aInterval Interval of the timer.
hgs
parents:
diff changeset
   491
    * @param aWindow Allowed window of the timer. 
hgs
parents:
diff changeset
   492
    * @return ETrue if the delay is correc, EFalse otherwise.
hgs
parents:
diff changeset
   493
    */
hgs
parents:
diff changeset
   494
    static TBool IsDelayOk( 
hgs
parents:
diff changeset
   495
        const TTimeIntervalMicroSeconds aDelay,
hgs
parents:
diff changeset
   496
        const TTimeIntervalMicroSeconds aInterval,
hgs
parents:
diff changeset
   497
        const TTimeIntervalMicroSeconds aWindow );
hgs
parents:
diff changeset
   498
    
hgs
parents:
diff changeset
   499
    /**
hgs
parents:
diff changeset
   500
    * A helper function for AfterTicks() testing.
hgs
parents:
diff changeset
   501
    * -# Creates RFlexTimer handle, 
hgs
parents:
diff changeset
   502
    * -# connects it to the server, 
hgs
parents:
diff changeset
   503
    * -# configures timer's window (default 0 microseconds),
hgs
parents:
diff changeset
   504
    * -# set the timer to expire after given ticks,
hgs
parents:
diff changeset
   505
    * -# wait timer to be expired
hgs
parents:
diff changeset
   506
    * -# return the delay of the timer
hgs
parents:
diff changeset
   507
    * 
hgs
parents:
diff changeset
   508
    * @param aTicks Timer's interval in number of ticks
hgs
parents:
diff changeset
   509
    * @param aWindowSize Timer's window (default 0 microseconds)
hgs
parents:
diff changeset
   510
    * @return The delay of the timer in microseconds
hgs
parents:
diff changeset
   511
    */
hgs
parents:
diff changeset
   512
    static TTimeIntervalMicroSeconds ExecuteAfterTicksL(
hgs
parents:
diff changeset
   513
        TInt aTicks,
hgs
parents:
diff changeset
   514
        TTimeIntervalMicroSeconds aWindowSize = 0 );
hgs
parents:
diff changeset
   515
    
hgs
parents:
diff changeset
   516
private: // data
hgs
parents:
diff changeset
   517
hgs
parents:
diff changeset
   518
    };
hgs
parents:
diff changeset
   519
hgs
parents:
diff changeset
   520
#endif // TESTRFLEXTIMER_H