--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qtmobileextensions/src/systemtoneservice/xqsystemtoneservice.h Thu May 27 13:42:11 2010 +0300
@@ -0,0 +1,190 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License as published by
+* the Free Software Foundation, version 2.1 of the License.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public License
+* along with this program. If not,
+* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
+*
+* Description:
+* QT wrapper API for for System Tone Service
+*
+*/
+
+#ifndef XQSYSTEMTONESERVICE_H
+#define XQSYSTEMTONESERVICE_H
+
+#include <QObject>
+
+#include <systemtoneservice.h>
+
+#ifdef __STS_QT_LIB_BUILD__
+# define STS_EXPORT Q_DECL_EXPORT
+#else
+# define STS_EXPORT Q_DECL_IMPORT
+#endif
+
+class XQSystemToneServicePrivate;
+
+/**
+ * The System Tone Service (STS) is a component of the Multimedia Services (mmserv)
+ * collection of the Multimedia Middleware (mmmw) package. STS provides multimedia APIs
+ * specific to playing system tones (calendar, message alerts, warnings, etc).
+ *
+ * Here you can find Qt wrapper for this component.
+ *
+ * Main concepts behind this API:
+ * * tone - short sound used in the manner "fire and forget" therefore there are no signals when tone ends.
+ * * alarm - these are kind of looped/longer sounds that may be interrupted by calling app; also there are notifications (signals) when alarm ends playing.
+ *
+ */
+class XQSystemToneService : public QObject
+{
+ Q_OBJECT
+
+public:
+
+/**
+ * Supported tone types.
+*/
+ Q_DECL_IMPORT 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
+ };
+
+Q_DECL_IMPORT 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.
+*/
+ STS_EXPORT XQSystemToneService(QObject *parent = 0);
+
+/**
+* Simple destructor.
+*/
+ STS_EXPORT ~XQSystemToneService();
+
+/**
+* Play selected tone.
+*
+* @param toneType selected tone type.
+* @see XQSystemToneService::error()
+*/
+ STS_EXPORT void playTone(ToneType toneType);
+
+/**
+* Play selected alarm.
+*
+* @param toneType selected tone type.
+* @param contextId unique playback id for current playback event. May be used for matching playback signals and/or to later stop playing.
+* @see XQSystemToneService::stopAlarm(unsigned int contextId)
+* @see XQSystemToneService::error()
+*/
+ STS_EXPORT void playAlarm(AlarmType alarmType, unsigned int& contextId);
+
+
+/**
+* Cancel tone being played currently.
+*
+* @param contextId id, must be same as given by playTone method.
+* @see XQSystemToneService::playAlarm(ToneType toneType, unsigned int& contextId)
+*/
+ STS_EXPORT void stopAlarm(unsigned int contextId);
+
+signals:
+
+/**
+* Playback of given tone has been started.
+*
+*/
+ STS_EXPORT void toneStarted();
+
+/**
+* Playback of given alarm has been started.
+*
+* @param contextId id, the same as given by playTone method.
+*
+*/
+ STS_EXPORT void alarmStarted(unsigned int contextId);
+
+/**
+* Playback of given alarm has been finished.
+*
+* @param contextId id, the same as given by playTone method.
+*
+*/
+ STS_EXPORT void alarmFinished(unsigned int contextId);
+
+private:
+
+ XQSystemToneServicePrivate *d_p;
+
+ friend class XQSystemToneServicePrivate;
+
+};
+
+#endif /*SYSTEMTONESERVICE_QT_H*/