phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/xqsystemtoneservice.h
author hgs
Fri, 15 Oct 2010 12:58:46 +0300
changeset 78 baacf668fe89
permissions -rw-r--r--
201041

/** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/


#ifndef XQSYSTEMTONESERVICE_H
#define XQSYSTEMTONESERVICE_H

#include <QObject>
#include <systemtoneservice.h>

 
class XQSystemToneService : public QObject
{
  Q_OBJECT

public:

/**
 * Supported tone types.
*/
   enum ToneType {
	   // Capture Tones
	   BurstModeTone = CSystemToneService::EBurstMode,
	   CaptureTone = CSystemToneService::ECapture,
	   CallRecordingTone = CSystemToneService::ECallRecording,
	   RecordingStartTone = CSystemToneService::ERecordingStart,
	   RecordingStopTone = CSystemToneService::ERecordingStop,
	   SelfTimerTone = CSystemToneService::ESelfTimer,
	   
	   // General Tones
	   ConfirmationBeepTone = CSystemToneService::EConfirmationBeep,
	   DefaultBeepTone = CSystemToneService::EDefaultBeep,
	   ErrorBeepTone = CSystemToneService::EErrorBeep,
	   InformationBeepTone = CSystemToneService::EInformationBeep,
	   WarningBeepTone = CSystemToneService::EWarningBeep,
	   IntegratedHandsFreeActivatedTone = CSystemToneService::EIntegratedHandsFreeActivated,
	   
	   // Key Tones
	   TouchScreenTone = CSystemToneService::ETouchScreen,
	   
	   // Location Tones
	   LocationRequestTone = CSystemToneService::ELocationRequest,
	   
	   // Messaging Tones
	   ChatAlertTone = CSystemToneService::EChatAlert,
	   EmailAlertTone = CSystemToneService::EEmailAlert,
	   MmsAlertTone = CSystemToneService::EMmsAlert,
	   SmsAlertTone = CSystemToneService::ESmsAlert,
	   DeliveryReportTone = CSystemToneService::EDeliveryReport,
	   MessageSendFailureTone = CSystemToneService::EMessageSendFailure,
	   
	   // Power Tones
	   BatteryLowTone = CSystemToneService::EBatteryLow,
	   BatteryRechargedTone = CSystemToneService::EBatteryRecharged,
	   PowerOnTone = CSystemToneService::EPowerOn,
	   PowerOffTone = CSystemToneService::EPowerOff,
	   WakeUpTone = CSystemToneService::EWakeUp,
	   WrongChargerTone = CSystemToneService::EWrongCharger,
	   
	   // Telephony Tones
	   AutomaticRedialCompleteTone = CSystemToneService::EAutomaticRedialComplete,
	   
	   // Voice Recognition Tones
	   VoiceStartTone = CSystemToneService::EVoiceStart,
	   VoiceErrorTone = CSystemToneService::EVoiceError,
	   VoiceAbortTone = CSystemToneService::EVoiceAbort
  };
  
 enum AlarmType {
       // Calendar Tones
       CalendarAlarmTone = CSystemToneService::ECalendarAlarm,
       ClockAlarmTone = CSystemToneService::EClockAlarm,
       ToDoAlarmTone = CSystemToneService::EToDoAlarm,

       // Telephony Alarms
       IncomingCallTone = CSystemToneService::EIncomingCall,
       IncomingCallLine2Tone = CSystemToneService::EIncomingCallLine2,
       IncomingDataCallTone = CSystemToneService::EIncomingDataCall,
  };

  
public:
/**
* XQSystemToneService object constructor. 
*/
XQSystemToneService(QObject *parent = 0);

/**
* Simple destructor.
*/
~XQSystemToneService();

/**
* Play selected tone.
*
* @param  toneType  selected tone type.
*/
 void playTone(ToneType toneType);


 void playAlarm(AlarmType alarmType, unsigned int& contextId);
  
  
 void stopAlarm(unsigned int contextId);


 void playAlarm(ToneType toneType, unsigned int& contextId);
  


void toneStarted();

void alarmStarted(unsigned int contextId);
  
void alarmFinished(unsigned int contextId);

  
};

#endif /*SYSTEMTONESERVICE_H*/