mmserv/radioutility/radioserver/Session/stub/src/RadioStubManager.h
author hgs
Tue, 24 Aug 2010 03:16:41 -0500
changeset 43 9894ed580e4a
parent 38 9e9fc5ab059f
permissions -rw-r--r--
201033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef RADIOSTUBMANAGER_H_
hgs
parents:
diff changeset
    19
#define RADIOSTUBMANAGER_H_
hgs
parents:
diff changeset
    20
#include <e32std.h>
hgs
parents:
diff changeset
    21
#include <e32base.h>
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <RadioFmTunerUtility.h>
hgs
parents:
diff changeset
    24
#include <RadioPlayerUtility.h>
hgs
parents:
diff changeset
    25
#include <RadioRdsUtility.h>
hgs
parents:
diff changeset
    26
#include <remconcallhandlingtargetobserver.h>
hgs
parents:
diff changeset
    27
#include <remconcoreapitargetobserver.h>
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
#include "RadioServerData.h"
hgs
parents:
diff changeset
    30
#include "mradioheadseteventobserver.h"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
_LIT(KRadioStubManagerLocalChunkName, "RadioStubManagerLocalChunkName");
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
struct TStubError
hgs
parents:
diff changeset
    35
    {
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
    void SetStubError( TFmRadioTunerError aError, TUint aFailCounter = 1, TBool aFailForEver = EFalse ) 
hgs
parents:
diff changeset
    38
        {
hgs
parents:
diff changeset
    39
        iError = aError;
hgs
parents:
diff changeset
    40
        iFailCounter = aFailCounter;
hgs
parents:
diff changeset
    41
        iFailForEver = aFailForEver; };
hgs
parents:
diff changeset
    42
    TInt Error() 
hgs
parents:
diff changeset
    43
        {
hgs
parents:
diff changeset
    44
        TInt aError (iError);
hgs
parents:
diff changeset
    45
        if (iFailCounter)
hgs
parents:
diff changeset
    46
            {
hgs
parents:
diff changeset
    47
            --iFailCounter;
hgs
parents:
diff changeset
    48
            }
hgs
parents:
diff changeset
    49
        else if (iFailForEver)
hgs
parents:
diff changeset
    50
            {
hgs
parents:
diff changeset
    51
            }
hgs
parents:
diff changeset
    52
        else
hgs
parents:
diff changeset
    53
            {
hgs
parents:
diff changeset
    54
            aError = KErrNone;
hgs
parents:
diff changeset
    55
            }            
hgs
parents:
diff changeset
    56
        return aError;
hgs
parents:
diff changeset
    57
        }
hgs
parents:
diff changeset
    58
    TFmRadioTunerError iError;
hgs
parents:
diff changeset
    59
    TUint iFailCounter;
hgs
parents:
diff changeset
    60
    TBool iFailForEver;
hgs
parents:
diff changeset
    61
    };
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
struct TLeaveError
hgs
parents:
diff changeset
    64
    {
hgs
parents:
diff changeset
    65
    void Set( TInt aError = KErrGeneral );
hgs
parents:
diff changeset
    66
    TInt iError;
hgs
parents:
diff changeset
    67
    };
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
struct SRadioStubManager
hgs
parents:
diff changeset
    70
    {
hgs
parents:
diff changeset
    71
public:
hgs
parents:
diff changeset
    72
    void  FillZ() 
hgs
parents:
diff changeset
    73
        { 
hgs
parents:
diff changeset
    74
        Mem::FillZ( this, sizeof( SRadioStubManager ) ); 
hgs
parents:
diff changeset
    75
        }
hgs
parents:
diff changeset
    76
public:
hgs
parents:
diff changeset
    77
    enum TCenRepDbs
hgs
parents:
diff changeset
    78
        {
hgs
parents:
diff changeset
    79
        // Redefine CenRep databases for test purposes.
hgs
parents:
diff changeset
    80
        // Original constant names are got by eliminating leading "ESub_"-prefix.
hgs
parents:
diff changeset
    81
        EStub_KPSUidCtsyCallInformation = 0x01001001,
hgs
parents:
diff changeset
    82
        EStub_KUidSystemCategory = 0x01001002,
hgs
parents:
diff changeset
    83
        EStub_KPSUidVoiceUiAccMonitor = 0x01001003,
hgs
parents:
diff changeset
    84
        EStub_KPSUidMMFAudioServer = 0x01001004,    
hgs
parents:
diff changeset
    85
        EStub_KRadioPSUid = 0x01001005,
hgs
parents:
diff changeset
    86
        EStub_KRadioServerPropertyCategory = 0x01001006
hgs
parents:
diff changeset
    87
        };
hgs
parents:
diff changeset
    88
    
hgs
parents:
diff changeset
    89
    struct TRemConTargetData
hgs
parents:
diff changeset
    90
    {
hgs
parents:
diff changeset
    91
    TLeaveError iLeaveNewL;
hgs
parents:
diff changeset
    92
    TLeaveError iLeaveConstructL;
hgs
parents:
diff changeset
    93
    
hgs
parents:
diff changeset
    94
    
hgs
parents:
diff changeset
    95
    MRemConCoreApiTargetObserver*   iRemConCoreApiTargetObserver;
hgs
parents:
diff changeset
    96
    MRemConCallHandlingTargetObserver*  iRemConCallHandlingTargetObserver;
hgs
parents:
diff changeset
    97
    } mutable iRemConTarget;
hgs
parents:
diff changeset
    98
    
hgs
parents:
diff changeset
    99
    struct TAccessoryObserverData
hgs
parents:
diff changeset
   100
    {
hgs
parents:
diff changeset
   101
    TLeaveError iLeaveNewL;
hgs
parents:
diff changeset
   102
    TLeaveError iLeaveIsHeadsetConnectedL;
hgs
parents:
diff changeset
   103
    TLeaveError iLeaveConstructL;
hgs
parents:
diff changeset
   104
    
hgs
parents:
diff changeset
   105
    TBool iHeadsetConnected;
hgs
parents:
diff changeset
   106
    MRadioHeadsetEventObserver* iObserver;
hgs
parents:
diff changeset
   107
    
hgs
parents:
diff changeset
   108
    
hgs
parents:
diff changeset
   109
    } mutable iAccessoryObserver;
hgs
parents:
diff changeset
   110
    
hgs
parents:
diff changeset
   111
    struct TFmTunerStubData
hgs
parents:
diff changeset
   112
        {
hgs
parents:
diff changeset
   113
        TRsTunerCapabilities iCaps;
hgs
parents:
diff changeset
   114
        TStubError iGetCapabilitiesError;
hgs
parents:
diff changeset
   115
        
hgs
parents:
diff changeset
   116
        
hgs
parents:
diff changeset
   117
        TBool iTunerInOfflineMode;
hgs
parents:
diff changeset
   118
        TStubError iEnableTunerInOfflineModeError;
hgs
parents:
diff changeset
   119
        
hgs
parents:
diff changeset
   120
        
hgs
parents:
diff changeset
   121
        TRsFrequencyRange iRange;
hgs
parents:
diff changeset
   122
        TRsFrequencyRange iPreviousRange;
hgs
parents:
diff changeset
   123
        TInt iMinFreq;
hgs
parents:
diff changeset
   124
        TInt iMaxFreq;
hgs
parents:
diff changeset
   125
        TStubError iGetFrequencyRangeError;
hgs
parents:
diff changeset
   126
        TStubError iSetFrequencyRangeError;
hgs
parents:
diff changeset
   127
        
hgs
parents:
diff changeset
   128
        TInt iFrequency;
hgs
parents:
diff changeset
   129
        TInt iPreviousFrequency;
hgs
parents:
diff changeset
   130
        TStubError iGetFrequencyError;
hgs
parents:
diff changeset
   131
        TStubError iSetFrequencyError;
hgs
parents:
diff changeset
   132
hgs
parents:
diff changeset
   133
        struct TScanStations
hgs
parents:
diff changeset
   134
        {
hgs
parents:
diff changeset
   135
        TInt iCount;
hgs
parents:
diff changeset
   136
        TInt iMinFreq;
hgs
parents:
diff changeset
   137
        TInt iFrequencyStepSize;        
hgs
parents:
diff changeset
   138
        } mutable iScanStations;
hgs
parents:
diff changeset
   139
        
hgs
parents:
diff changeset
   140
        TBool iStationSeekUpwards;
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
        TInt iSignalStrength;
hgs
parents:
diff changeset
   143
        TStubError iGetSignalStrengthError;
hgs
parents:
diff changeset
   144
        
hgs
parents:
diff changeset
   145
        TInt iMaxSignalStrength;
hgs
parents:
diff changeset
   146
        TStubError iGetMaxSignalStrengthError;
hgs
parents:
diff changeset
   147
        
hgs
parents:
diff changeset
   148
        TBool iStereoMode;
hgs
parents:
diff changeset
   149
        TStubError iGetStereoModeError;
hgs
parents:
diff changeset
   150
        
hgs
parents:
diff changeset
   151
        TBool iForcedMono;
hgs
parents:
diff changeset
   152
        TStubError iGetForcedMonoReceptionError;
hgs
parents:
diff changeset
   153
        TStubError iForcedMonoReceptionError;
hgs
parents:
diff changeset
   154
        
hgs
parents:
diff changeset
   155
        TBool iSquelch;
hgs
parents:
diff changeset
   156
        TStubError iSetSquelchError;
hgs
parents:
diff changeset
   157
        TStubError iGetSquelchError;
hgs
parents:
diff changeset
   158
        } mutable iTuner;
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
    struct TPlayerStubData
hgs
parents:
diff changeset
   161
        {
hgs
parents:
diff changeset
   162
        TLeaveError iLeaveNewL;
hgs
parents:
diff changeset
   163
        TLeaveError iLeaveErrorForConstructL;
hgs
parents:
diff changeset
   164
        MRadioPlayerObserver* iRadioPlayerUtilityClient;
hgs
parents:
diff changeset
   165
hgs
parents:
diff changeset
   166
        TRsPlayerState iPlayerState;
hgs
parents:
diff changeset
   167
        
hgs
parents:
diff changeset
   168
        TBool iMuteStatus;
hgs
parents:
diff changeset
   169
        TStubError iMuteError;
hgs
parents:
diff changeset
   170
        
hgs
parents:
diff changeset
   171
        TInt iVolume;
hgs
parents:
diff changeset
   172
        TStubError iSetVolumeError;
hgs
parents:
diff changeset
   173
        TStubError iGetVolumeError;
hgs
parents:
diff changeset
   174
        
hgs
parents:
diff changeset
   175
        TTimeIntervalMicroSeconds iRampInterval;
hgs
parents:
diff changeset
   176
        TStubError iSetVolumeRampError;
hgs
parents:
diff changeset
   177
        
hgs
parents:
diff changeset
   178
        TInt iMaxVolume;
hgs
parents:
diff changeset
   179
        TStubError iGetMaxVolumeError;
hgs
parents:
diff changeset
   180
        
hgs
parents:
diff changeset
   181
        TInt iLeftPercentage;
hgs
parents:
diff changeset
   182
        TInt iRightPercentage;
hgs
parents:
diff changeset
   183
        TStubError iSetBalanceError;
hgs
parents:
diff changeset
   184
        TStubError iGetBalanceError;
hgs
parents:
diff changeset
   185
        } mutable iPlayer;
hgs
parents:
diff changeset
   186
        
hgs
parents:
diff changeset
   187
    struct TRdsStubData
hgs
parents:
diff changeset
   188
        {
hgs
parents:
diff changeset
   189
        TLeaveError iLeaveNewL;
hgs
parents:
diff changeset
   190
        TLeaveError iLeaveErrorForConstructL;
hgs
parents:
diff changeset
   191
        MRadioRdsObserver* iRadioRdsUtilityClient;
hgs
parents:
diff changeset
   192
        TRsRdsCapabilities iCaps;
hgs
parents:
diff changeset
   193
        TStubError iGetCapabilitiesError;
hgs
parents:
diff changeset
   194
        
hgs
parents:
diff changeset
   195
        TBool iRdsSignal;
hgs
parents:
diff changeset
   196
        TStubError iGetRdsSignalStatusError;
hgs
parents:
diff changeset
   197
        
hgs
parents:
diff changeset
   198
        TStubError iNotifyRdsDataChangeError;    
hgs
parents:
diff changeset
   199
        
hgs
parents:
diff changeset
   200
        TBool iAutomaticSwitching;
hgs
parents:
diff changeset
   201
        TStubError iSetAutomaticSwitchingError;
hgs
parents:
diff changeset
   202
        TStubError iGetAutomaticSwitchingError;
hgs
parents:
diff changeset
   203
        
hgs
parents:
diff changeset
   204
        TStubError iStationSeekByPTYError;
hgs
parents:
diff changeset
   205
        TStubError iStationSeekByTAError;
hgs
parents:
diff changeset
   206
        TStubError iStationSeekByTPError;
hgs
parents:
diff changeset
   207
        TInt iFrequency;
hgs
parents:
diff changeset
   208
        TStubError iGetFreqByPTYError;
hgs
parents:
diff changeset
   209
        TStubError iGetFreqByTAError;
hgs
parents:
diff changeset
   210
        TStubError iGetPSByPTYError;
hgs
parents:
diff changeset
   211
        TStubError iGetPSByTAError;
hgs
parents:
diff changeset
   212
            
hgs
parents:
diff changeset
   213
        RArray<TRdsPSName> iPsList;
hgs
parents:
diff changeset
   214
        RArray<TInt> iFreqList;
hgs
parents:
diff changeset
   215
        
hgs
parents:
diff changeset
   216
        TInt iPi;
hgs
parents:
diff changeset
   217
        TStubError iGetProgrammeIdentificationError;
hgs
parents:
diff changeset
   218
        
hgs
parents:
diff changeset
   219
        TRdsProgrammeType iPty;
hgs
parents:
diff changeset
   220
        TStubError iGetProgrammeTypeError;
hgs
parents:
diff changeset
   221
        
hgs
parents:
diff changeset
   222
        TRdsPSName iPs;
hgs
parents:
diff changeset
   223
        TStubError iGetProgrammeServiceError;
hgs
parents:
diff changeset
   224
        
hgs
parents:
diff changeset
   225
        // Radio Text
hgs
parents:
diff changeset
   226
        TRdsRTplusClass iRtPlusClass;
hgs
parents:
diff changeset
   227
        TRdsRadioText iRtPlusData;
hgs
parents:
diff changeset
   228
        TStubError iGetRadioTextPlusError;
hgs
parents:
diff changeset
   229
        TRsRdsRadioText iRt;
hgs
parents:
diff changeset
   230
        TStubError iGetRadioTextError;
hgs
parents:
diff changeset
   231
        
hgs
parents:
diff changeset
   232
        // Automatic traffic announcement
hgs
parents:
diff changeset
   233
        TBool iAuto;
hgs
parents:
diff changeset
   234
        TStubError iGetTrafficAnnouncementStatusError;
hgs
parents:
diff changeset
   235
        TStubError iSetTrafficAnnouncementStatusError;
hgs
parents:
diff changeset
   236
    
hgs
parents:
diff changeset
   237
        TBool iTaStatus;
hgs
parents:
diff changeset
   238
        TStubError iGetAutomaticTrafficAnnouncementError;
hgs
parents:
diff changeset
   239
        TStubError iSetAutomaticTrafficAnnouncementError;
hgs
parents:
diff changeset
   240
        
hgs
parents:
diff changeset
   241
        TDateTime iCt;
hgs
parents:
diff changeset
   242
        TStubError iGetClockTimeError;
hgs
parents:
diff changeset
   243
        
hgs
parents:
diff changeset
   244
        TBool iTpStatus;
hgs
parents:
diff changeset
   245
        TStubError iGetTrafficProgrammeStatusError;
hgs
parents:
diff changeset
   246
        } mutable iRds;
hgs
parents:
diff changeset
   247
        
hgs
parents:
diff changeset
   248
    struct TMonitorStubData
hgs
parents:
diff changeset
   249
        {
hgs
parents:
diff changeset
   250
        TInt    iNone;
hgs
parents:
diff changeset
   251
        } mutable iMonitor;
hgs
parents:
diff changeset
   252
    };
hgs
parents:
diff changeset
   253
hgs
parents:
diff changeset
   254
const TUid KStub_KRadioServerPropertyCategory = {SRadioStubManager::EStub_KRadioServerPropertyCategory};
hgs
parents:
diff changeset
   255
const TUid KStub_KUidSystemCategory = {SRadioStubManager::EStub_KUidSystemCategory};
hgs
parents:
diff changeset
   256
const TUid KStub_KPSUidCtsyCallInformation = {SRadioStubManager::EStub_KPSUidCtsyCallInformation};
hgs
parents:
diff changeset
   257
const TUid KStub_KPSUidVoiceUiAccMonitor = {SRadioStubManager::EStub_KPSUidVoiceUiAccMonitor};
hgs
parents:
diff changeset
   258
const TUid KStub_KPSUidMMFAudioServer = {SRadioStubManager::EStub_KPSUidMMFAudioServer};
hgs
parents:
diff changeset
   259
const TUid KStub_KRadioPSUid = {SRadioStubManager::EStub_KRadioPSUid};
43
hgs
parents: 38
diff changeset
   260
const TUid KStub_KRadioCRUid = {0x2002FF52};
38
hgs
parents:
diff changeset
   261
hgs
parents:
diff changeset
   262
#endif /* RADIOSTUBMANAGER_H_ */