devsoundextensions/globalaudiosettings/inc/GlobalAudioSettingsImpl.h
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
* All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
* Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
* Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
* Description:   This file contains definitions of GlobalAudioSettings.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
#ifndef GLOBALAUDIOSETTINGSIMPL_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#define GLOBALAUDIOSETTINGSIMPL_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#include <e32property.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
#include <e32base.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include <e32debug.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
#include "GlobalAudioSettingsData.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
#include <GlobalAudioSettings.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
#include <MAudioClientsListObserver.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
class MAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
class CGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
class CWarningTonesObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
class CMessagingTonesObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
class CSilentProfileObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
class CVibraObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
class CAudioClientsListManagerAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
class CMessageToneObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
class CEmailToneObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
class CRingingTypeObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
class CVideoCallToneObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
class CRingingTone1ObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
class CRingingTone2ObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
class CKeypadToneObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
class CSilenceModeObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
/**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
*  Defines functions that client uses to set phone profile settings.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
*  @lib GlobalAudioSettings.lib
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
*  @since Series 60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
NONSHARABLE_CLASS(CGlobalAudioSettingsImpl): public CBase
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
    public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
        * function for creating the GlobalAudioSettingsImpl
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
       static CGlobalAudioSettingsImpl* NewL(
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
                        CGlobalAudioSettings& aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
                        MAudioSettingsObserver& aAudioSettingsObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
        * Destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
        ~CGlobalAudioSettingsImpl();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
        * Returns warning tones status.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
        * @since Series 60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
        * @return TBool aEnable. ETrue if warning tones are enabled else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
         TBool IsWarningTonesEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
        * Returns message tones status.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
        * @since Series 60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
        * @return TBool aEnable. ETrue if message tones are enabled else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
        TBool IsMessageTonesEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
        * Returns silent profile status.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
        * @since Series 60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
        * @return TBool aEnable. ETrue if current profile is silent profile else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
         TBool IsSilentProfileEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
        * Returns vibra is enabled or not in the current profile status.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
        * @since Series 60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
        * @return TBool aEnable. ETrue if current profile vibra active else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
         TBool IsVibraEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
        * Returns PublicSilence is enabled or not status.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
        * @since Series 60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
        * @return TBool aEnable. ETrue if PublicSilence active else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
         TBool IsPublicSilenceEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
        * Returns Message Alert Tone 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
        * The filename selected as the message alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
        * current profile.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
        * @return TDesC& aMessageAlertToneName. z:\\resource\\No_Sound.wav is returned if sound is off,else selected filename 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
        * is returned
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
         TDesC& MessageAlertTone();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
         * Returns Email Alert Tone status
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
         * The filename selected as the email alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
         * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
         *  @return TBool aEnable. ETrue if current profile message tone is on else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
         */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
         TBool IsMessageAlertToneEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
        * Returns Email Alert Tone 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
        * The filename selected as the email alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
        * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
        * @return TDesC& aEmailAlertToneName. z:\\resource\\No_Sound.wav is returned if sound is off,else selected filename 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
        * is returned
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
         TDesC& EmailAlertTone();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
          /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
         * Returns Email Alert Tone status
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
         * The filename selected as the email alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
         * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
         *  @return TBool aEnable. ETrue if current profile email alert tone is on else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
         */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
         TBool IsEmailAlertToneEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
         * Returns the RingingType
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
         * Ringing type set in the current profile
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
         * @return TGASRingingType aRingingType. 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
         */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
         CGlobalAudioSettings::TGASRingingType RingingType();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
         * Returns Videocall Alert Tone 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
         * The filename selected as the video call alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
         * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
         * @return TDesC& aVideoCallAlertToneName. z:\\resource\\No_Sound.wav is returned if sound is off,else selected filename 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
         * is returned
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
         */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
         TDesC& VideoCallAlertTone();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
        * Returns Videocall Alert Tone status
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
        * The filename selected as the video call alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
        * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
        * @return TBool aEnable. ETrue if current profile videocall alert tone is on else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
         TBool IsVideoCallAlertToneEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
        * Returns Ringing Alert Tone 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
        * The filename selected as the ringing alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
        * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
        * @return TDesC& aRingingAlertTone1Name. z:\\resource\\No_Sound.wav is returned if sound is off,else selected filename 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
        * is returned
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
         TDesC& RingingAlertTone1();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
        * Returns Ringing Alert Tone1 status
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
        * The filename selected as the ringing alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
        * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
        * @return TBool aEnable. ETrue if current profile ringing alert tone is on else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
         TBool IsRingingAlertTone1Enabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
        * Returns Ringing Alert Tone 2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
        * The filename selected as the ringing alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
        * current profile for the alternate line
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
        * @return TDesC& aRingingAlertTone2Name. z:\\resource\\No_Sound.wav is returned if sound is off,else selected filename 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
        * is returned
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
         TDesC& RingingAlertTone2();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
        * Returns Ringing Alert Tone 2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
        * The filename selected as the ringing alert tone in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
        * current profile for the alternate line
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
        * @return TBool aEnable. ETrue if current profile ringing alert tone of alternate line is on else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
         TBool IsRingingAlertTone2Enabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
        * Returns Ringing Keypad Volume
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
        * The key tone volume selected  in the
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
        * current profile 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
        * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
        * @return TGASKeypadVolume aKeypadToneVolume.returns EGASKeypadVolumeOff sound is off,else selected volume level 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
        * is returned
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
         CGlobalAudioSettings::TGASKeypadVolume KeyPadToneVolume();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
         /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
         * Returns silent mode status.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
         *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
         * 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
         * @return TBool aEnable. ETrue if the silent mode is enabled else EFalse.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
         */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
         TBool IsSilenceModeEnabled();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
        * Registers audio clients list observer.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
        * When registered successfully, the observer will start receiveing
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
        * callback defined in MAudioClientsListObserver when audio clients list
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
        * changes.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
        * @since S60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
        * @param MAudioClientsListObserver& aObserver. A reference to class
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
        *           implementing MAudioClientsListObserver interface.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
        * @return TInt. KErrNone if successful. KErrAlreadyExists if the observer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
        *           is already registered.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
        TInt RegisterAudioClientsListObserver(
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
                                    MAudioClientsListObserver& aObserver );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
                
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
        * Unregisters audio clients list observer.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
        * When unregistered, the observer will no longer receive callback when
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
        * audio clients list changes.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
        * @since S60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
        * @param MAudioClientsListObserver& aObserver. A reference to class
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
        *           implementing MAudioClientsListObserver interface.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
        * @return TInt. KErrNone if successful. KErrNotFound if the observer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
        *           is not registered.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
        TInt UnregisterAudioClientsListObserver(
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
                                    MAudioClientsListObserver& aObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
        * Gets audio clients list.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
        * On return of this function, the parameter aList will contain active
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
        * audio client application process ids.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
        * The parameter aList will be reset in the case
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
        *
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
        * @since S60 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
        * @param TAudioClientListType aFilter. Type of client list.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
        * @param RArray<TProcessId>& aList. A reference to RArray.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
        * @return TInt. KErrNone if successful. KErrBadName if
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
        *           aType is not one of the TAudioClientListType enumeration.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
        *           Otherwise a systemwide error code.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
        *           In case of error, the array aList will be reset.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
        TInt GetAudioClientsList(
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
                                CGlobalAudioSettings::TAudioClientListType aType,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
                                RArray<TProcessId>& aList );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
    private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
        CGlobalAudioSettingsImpl(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
                                 MAudioSettingsObserver& aAudioSettingsObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
        /**
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
        * Second Phase Costructor for GlobalAudioSettingsImpl Instance
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
        * @since 3.2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
        * @param void
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
        */
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
        void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
        /*This is added to define RProperties in NCP Environment*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
        void CreatePropertiesL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
        void DeleteProperties();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
            
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
    private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
        TGlobalAudioSettings iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
        CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
        MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
        CWarningTonesObserverAO* iWarningTonesObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
        CMessagingTonesObserverAO* iMessagingTonesObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
        CSilentProfileObserverAO* iSilentProfileObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
        CVibraObserverAO* iVibraObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
        // Object managing Audio Clients List implementation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
        CAudioClientsListManagerAO* iCAudioClientsListManagerAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
        // Object managing Paused Clients List implementation
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
        CAudioClientsListManagerAO* iPausedClientsListManagerAO;              
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
        // List of Audio Clients List Observer objects
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
        RPointerArray<MAudioClientsListObserver> iAudioClientsListObserverArray;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
        CMessageToneObserverAO* iMessageToneObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
        CEmailToneObserverAO* iEmailToneObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
        CRingingTypeObserverAO* iRingingTypeObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
        CVideoCallToneObserverAO* iVideoCallObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
        CRingingTone1ObserverAO* iRingingTone1ObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
        CRingingTone2ObserverAO* iRingingTone2ObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
        CKeypadToneObserverAO* iKeypadToneObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
        CSilenceModeObserverAO* iSilenceModeObserverAO;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
        TBool iPropertiesCreated;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
NONSHARABLE_CLASS(CWarningTonesObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
	static CWarningTonesObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
	~CWarningTonesObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
	void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
	// From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
	void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
	void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
	TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
	// Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
	CWarningTonesObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
	void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
	CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
    RProperty iWarningTonesProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
NONSHARABLE_CLASS(CMessagingTonesObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
	static CMessagingTonesObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
	~CMessagingTonesObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
	void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
	// From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
	void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
	void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
	TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
	// Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
	CMessagingTonesObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
	void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
	CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
    RProperty iMessagingTonesProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
NONSHARABLE_CLASS( CSilentProfileObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
	static CSilentProfileObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
	~CSilentProfileObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
	void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
	// From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
	void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
	void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
	TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
	// Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
	CSilentProfileObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
	void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
	CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
    RProperty iSilentProfileProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
NONSHARABLE_CLASS(CVibraObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
	static CVibraObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
	~CVibraObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
	void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
	// From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
	void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
	void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
	TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
	// Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
	CVibraObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
	void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
	CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   463
    RProperty iVibraProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   464
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   465
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   466
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   467
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   468
NONSHARABLE_CLASS(CRingingTypeObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   469
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   470
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   471
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
    static CRingingTypeObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
    ~CRingingTypeObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
    CRingingTypeObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
    RProperty iRingingTypeProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
NONSHARABLE_CLASS(CMessageToneObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
    static CMessageToneObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
    ~CMessageToneObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
    CMessageToneObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
    RProperty iMessageToneNameProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
NONSHARABLE_CLASS(CEmailToneObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
    static CEmailToneObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
    ~CEmailToneObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
    CEmailToneObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
    RProperty iEmailToneNameProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
NONSHARABLE_CLASS(CVideoCallToneObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
    static CVideoCallToneObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
    ~CVideoCallToneObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
    CVideoCallToneObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
    RProperty iVideoCallToneNameProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
NONSHARABLE_CLASS(CRingingTone1ObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
    static CRingingTone1ObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
    ~CRingingTone1ObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
    CRingingTone1ObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
    RProperty iRingingTone1NameProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
NONSHARABLE_CLASS(CRingingTone2ObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
    static CRingingTone2ObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
    ~CRingingTone2ObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
    CRingingTone2ObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
    RProperty iRingingTone2NameProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
NONSHARABLE_CLASS(CKeypadToneObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
    static CKeypadToneObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
    ~CKeypadToneObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
    CKeypadToneObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
    RProperty iKeypadToneVolumeProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
NONSHARABLE_CLASS(CSilenceModeObserverAO) : public CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
    // Ist Phase constr and Destr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
    static CSilenceModeObserverAO* NewL(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
                                         MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
                                         TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
    ~CSilenceModeObserverAO();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
    void Subscribe();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
    // From CActive
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
    void RunL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
    void DoCancel();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
    TInt RunError(TInt aError);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
    // Constr and IInd phase constr
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682
    CSilenceModeObserverAO(CGlobalAudioSettings &aGlobalAudioSettings,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   683
                                                 MAudioSettingsObserver& aAudioSettingsObserver,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   684
                                                 TGlobalAudioSettings& aGlobalAudioSettingsData);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   685
    void ConstructL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   686
    CGlobalAudioSettings& iGlobalAudioSettings;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   687
    MAudioSettingsObserver&   iAudioSettingsObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   688
    RProperty iSilenceModeProperty;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   689
    TGlobalAudioSettings& iGlobalAudioSettingsData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   690
    };
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   691
#endif // GLOBALAUDIOSETTINGSIMPL_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   692
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   693
// End of file