common/tools/ats/smoketest/lbs/common/inc/ctlbsposclientholder.h
author victorp@symbian.org
Wed, 03 Feb 2010 16:06:24 +0000
changeset 872 17498133d9ad
parent 748 e13acd883fbe
permissions -rw-r--r--
adding EPL headers to smoke test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
748
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     1
/*
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
872
17498133d9ad adding EPL headers to smoke test
victorp@symbian.org
parents: 748
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
748
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
872
17498133d9ad adding EPL headers to smoke test
victorp@symbian.org
parents: 748
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
748
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     8
*
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    11
*
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    12
* Contributors:
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    13
*
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    14
* Description:
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    15
*
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    16
*/
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    17
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    18
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    19
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    20
#ifndef __CT_LBS_CLIENT_POS_HOLDER_H__
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    21
#define __CT_LBS_CLIENT_POS_HOLDER_H__
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    22
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    23
//  INCLUDES
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    24
#include <e32base.h>
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    25
#include "ctlbsportedstepbase.h"
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    26
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    27
// CONSTANTS
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    28
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    29
// FUNCTION TYPES
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    30
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    31
// FORWARD DECLARATIONS
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    32
class CPositionInfo;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    33
class CPositioner;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    34
class CT_LbsPosClient;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    35
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    36
// CLASS DECLARATION
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    37
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    38
/**
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    39
*  Active object used to make position requests
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    40
*
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    41
*/
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    42
class CT_LbsPosClientHolder : public CActive
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    43
    {
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    44
    public:  // Constructors and destructor
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    45
        
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    46
        /**
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    47
        * C++ default constructor.
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    48
        */
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    49
        static CT_LbsPosClientHolder* NewLC(
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    50
            TInt aRequestCount = 1, TUid aPsy = TUid::Uid(KUidDynDbTestPsy), TBool aSameServer = EFalse);
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    51
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    52
        /**
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    53
        * Destructor.
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    54
        */
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    55
        ~CT_LbsPosClientHolder();
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    56
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    57
    private:
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    58
        
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    59
        void ConstructL(TInt aRequestCount, TUid aPsy, TBool aSameServer);
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    60
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    61
        /**
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    62
        * C++ default constructor.
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    63
        */
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    64
        CT_LbsPosClientHolder();
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    65
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    66
    public: // Functions from base classes
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    67
        
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    68
        /**
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    69
        * Starts a position request
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    70
        */
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    71
        void MakeRequests();
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    72
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    73
        void StopRequests();
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    74
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    75
		void SetCancelTime(TTimeIntervalMicroSeconds32 aTimeInterval);
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    76
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    77
        /**
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    78
        * Get result
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    79
        */
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    80
        void GetResult(
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    81
            TInt& aStatus,  
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    82
            TPositionInfo& aModuleInfo,
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    83
            TTimeIntervalMicroSeconds& aRequestTime,
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    84
            TInt aRequesterIndex = 0
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    85
            );
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    86
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    87
        void HandleRequestDone();
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    88
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    89
        void SetRequesterWillCancelL(
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    90
            TInt    aIndex = 0
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    91
            );
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    92
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    93
    protected:
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    94
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    95
        void RunL();
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    96
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    97
        void DoCancel();
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    98
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    99
    private:
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   100
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   101
        RPointerArray<CT_LbsPosClient>       iRequesters;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   102
        RPositionServer				    iPosServer;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   103
        TInt                            iNofRequestsDone;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   104
        RTimer                          iTimer;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   105
        RArray<TInt>                    iRequestersWhoWillCancel;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   106
        TBool                           iRequestsActive;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   107
		TTimeIntervalMicroSeconds32     iCancelTime;
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   108
    };
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   109
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   110
#endif      // __CT_LBS_CLIENT_POS_HOLDER_H__
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   111
            
e13acd883fbe Added new smoketest
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   112
// End of File