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