--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmappfw_plat/qt_telephony_multimedia_service_api/inc/qtms.h Tue Aug 31 15:41:40 2010 +0300
@@ -0,0 +1,210 @@
+/*
+ * 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 "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: QT Bindings for TMS
+ *
+ */
+
+#ifndef QTMS_H
+#define QTMS_H
+
+// Include files
+#include <glib.h>
+#include <vector>
+
+namespace QTMS {
+
+// FORWARD DECLARATION
+class QTMSFormat;
+
+// Result codes
+#define QTMS_RESULT_SUCCESS ((gint)0x00000000)
+#define QTMS_RESULT_ALREADY_EXIST ((gint)0x00000001)
+#define QTMS_RESULT_DOES_NOT_EXIST ((gint)0x00000002)
+#define QTMS_RESULT_NULL_ARGUMENT ((gint)0x00000003)
+#define QTMS_RESULT_INVALID_ARGUMENT ((gint)0x00000004)
+#define QTMS_RESULT_INVALID_STATE ((gint)0x00000005)
+#define QTMS_RESULT_UNINITIALIZED_OBJECT ((gint)0x00000006)
+#define QTMS_RESULT_INSUFFICIENT_MEMORY ((gint)0x00000007)
+#define QTMS_RESULT_GENERAL_ERROR ((gint)0x00000008)
+#define QTMS_RESULT_FATAL_ERROR ((gint)0x00000009)
+#define QTMS_RESULT_OPERATION_CANCELLED ((gint)0x0000000A)
+#define QTMS_RESULT_ILLEGAL_OPERATION ((gint)0x0000000B)
+#define QTMS_RESULT_BUFFER_LATENCY_ERROR ((gint)0x0000000C)
+#define QTMS_RESULT_CALL_TYPE_NOT_SUPPORTED ((gint)0x0000000D)
+#define QTMS_RESULT_BUFFER_TYPE_NOT_SUPPORTED ((gint)0x0000000E)
+#define QTMS_RESULT_SOURCE_TYPE_NOT_SUPPORTED ((gint)0x0000000F)
+#define QTMS_RESULT_SINK_TYPE_NOT_SUPPORTED ((gint)0x00000010)
+#define QTMS_RESULT_STREAM_TYPE_NOT_SUPPORTED ((gint)0x00000011)
+#define QTMS_RESULT_FORMAT_TYPE_NOT_SUPPORTED ((gint)0x00000012)
+#define QTMS_RESULT_EFFECT_TYPE_NOT_SUPPORTED ((gint)0x00000013)
+#define QTMS_RESULT_VERSION_NOT_SUPPORTED ((gint)0x00000014)
+#define QTMS_RESULT_FORMAT_TYPE_UNSPECIFIED ((gint)0x00000015)
+#define QTMS_RESULT_FEATURE_NOT_SUPPORTED ((gint)0x00000016)
+
+// Reasons codes
+#define QTMS_REASON_CLIENT_INITIATED ((gint)0x00000000)
+#define QTMS_REASON_DEVICE_IN_USE ((gint)0x00000001) // Device not available
+#define QTMS_REASON_DEVICE_TAKEN ((gint)0x00000002) // Preemption
+#define QTMS_REASON_INSUFFICIENT_MEMORY ((gint)0x00000003) // Memory
+#define QTMS_REASON_PERMISSION_DENIED ((gint)0x00000004) // Client app does not have perission
+#define QTMS_REASON_EMERGENCY_CALL_ONGOING ((gint)0x00000005) // Already ongoing emergency call
+#define QTMS_REASON_EMERGENCY_CALL_STARTED ((gint)0x00000006) // Preemption because of emergency call
+#define QTMS_REASON_SOURCE_NULL ((gint)0x00000007) // Could be checked on client side
+#define QTMS_REASON_SOURCE_NOT_SUPPORTED ((gint)0x00000008)
+#define QTMS_REASON_FORMAT_NULL ((gint)0x00000009) // Could be checked on client side
+#define QTMS_REASON_EFFECT_NOT_SUPPORTED ((gint)0x0000000A)
+#define QTMS_REASON_SINK_NULL ((gint)0x0000000B) // Could be checked on client side
+#define QTMS_REASON_SINK_NOT_SUPPORTED ((gint)0x0000000C)
+#define QTMS_REASON_CALL_NOT_ACTIVE ((gint)0x0000000D)
+
+// Event codes
+#define QTMS_EVENT_STREAM_STATE_CHANGED ((gint)0x00000000)
+#define QTMS_EVENT_STREAM_STATE_CHANGE_ERROR ((gint)0x00000001)
+#define QTMS_EVENT_SOURCE_FILL_BUFFER ((gint)0x00000002)
+#define QTMS_EVENT_SOURCE_PROCESSED_BUFFER ((gint)0x00000003)
+#define QTMS_EVENT_SINK_PROCESS_BUFFER ((gint)0x00000004)
+#define QTMS_EVENT_EFFECT_VOL_CHANGED ((gint)0x00000005)
+#define QTMS_EVENT_EFFECT_GAIN_CHANGED ((gint)0x00000006)
+#define QTMS_EVENT_ROUTING_AVAIL_OUTPUTS_CHANGED ((gint)0x00000007)
+#define QTMS_EVENT_ROUTING_OUTPUT_CHANGED ((gint)0x00000008)
+#define QTMS_EVENT_ROUTING_SET_OUTPUT_COMPLETE ((gint)0x00000009)
+#define QTMS_EVENT_RINGTONE_OPEN_COMPLETE ((gint)0x0000000A)
+#define QTMS_EVENT_RINGTONE_PLAY_COMPLETE ((gint)0x0000000B)
+#define QTMS_EVENT_RINGTONE_DEINIT_COMPLETE ((gint)0x0000000C)
+#define QTMS_EVENT_DTMF_TONE_STARTED ((gint)0x0000000D)
+#define QTMS_EVENT_DTMF_TONE_STOPPED ((gint)0x0000000E)
+#define QTMS_EVENT_INBAND_TONE_STARTED ((gint)0x0000000F)
+#define QTMS_EVENT_INBAND_TONE_STOPPED ((gint)0x00000010)
+
+// Stream states
+typedef gint QTMSStreamState;
+#define QTMS_STREAM_UNINITIALIZED ((gint)0x00000000)
+#define QTMS_STREAM_INITIALIZED ((gint)0x00000001)
+#define QTMS_STREAM_PAUSED ((gint)0x00000002)
+#define QTMS_STREAM_STARTED ((gint)0x00000003)
+
+#define DEFAULT_CALL_CONTEXT ((gint)1)
+
+// QTMS object types
+typedef gint QTMSStreamType;
+#define QTMS_STREAM_UPLINK ((gint)0)
+#define QTMS_STREAM_DOWNLINK ((gint)1)
+
+typedef gint QTMSBufferType;
+#define QTMS_BUFFER_MEMORY ((gint)2)
+
+typedef gint QTMSSourceType;
+#define QTMS_SOURCE_CLIENT ((gint)3)
+#define QTMS_SOURCE_MODEM ((gint)4)
+#define QTMS_SOURCE_MIC ((gint)5)
+
+typedef gint QTMSSinkType;
+#define QTMS_SINK_CLIENT ((gint)6)
+#define QTMS_SINK_MODEM ((gint)7)
+#define QTMS_SINK_SPEAKER ((gint)8)
+
+typedef gint QTMSEffectType;
+#define QTMS_EFFECT_GLOBAL_VOL ((gint)9)
+#define QTMS_EFFECT_GLOBAL_GAIN ((gint)10)
+#define QTMS_EFFECT_VOLUME ((gint)11)
+#define QTMS_EFFECT_GAIN ((gint)12)
+
+typedef gint QTMSFormatType;
+#define QTMS_FORMAT_PCM ((gint)13)
+#define QTMS_FORMAT_AMR ((gint)14)
+#define QTMS_FORMAT_G711 ((gint)15)
+#define QTMS_FORMAT_G729 ((gint)16)
+#define QTMS_FORMAT_ILBC ((gint)17)
+
+typedef gint QTMSRingToneType;
+#define QTMS_RINGTONE_DEFAULT ((gint)0)
+#define QTMS_RINGTONE_FILE ((gint)1)
+#define QTMS_RINGTONE_SEQUENCE ((gint)2)
+#define QTMS_RINGTONE_BEEP_ONCE ((gint)3)
+#define QTMS_RINGTONE_SILENT ((gint)4)
+#define QTMS_RINGTONE_UNSECURE_VOIP ((gint)5)
+
+typedef gint QTMSRTPSessionType;
+#define QTMS_SESSION_RTP_PULL ((gint)0)
+#define QTMS_SESSION_RTP_PUSH ((gint)1)
+
+// QTMS vectors
+typedef std::vector<QTMSFormat*> FormatVector;
+typedef std::vector<guint> BitRateVector;
+typedef std::vector<guint> OutputVector;
+
+// Call types
+typedef gint QTMSCallType;
+#define QTMS_CALL_CS ((gint)0)
+#define QTMS_CALL_ECS ((gint)1)
+#define QTMS_CALL_IP ((gint)2)
+#define QTMS_CALL_RTP ((gint)3)
+
+// Codec modes
+typedef gint QTMSG711CodecMode;
+#define QTMS_G711_CODEC_MODE_ALAW ((gint)0)
+#define QTMS_G711_CODEC_MODE_MULAW ((gint)1)
+
+typedef gint QTMSILBCCodecMode;
+#define QTMS_ILBC_CODEC_MODE_20MS_FRAME ((gint)0)
+#define QTMS_ILBC_CODEC_MODE_30MS_FRAME ((gint)1)
+
+// Audio output types
+typedef gint QTMSAudioOutput;
+#define QTMS_AUDIO_OUTPUT_NONE ((gint)0)
+#define QTMS_AUDIO_OUTPUT_PUBLIC ((gint)1)
+#define QTMS_AUDIO_OUTPUT_PRIVATE ((gint)2)
+#define QTMS_AUDIO_OUTPUT_HANDSET ((gint)3)
+#define QTMS_AUDIO_OUTPUT_LOUDSPEAKER ((gint)4)
+#define QTMS_AUDIO_OUTPUT_WIRED_ACCESSORY ((gint)5)
+#define QTMS_AUDIO_OUTPUT_ACCESSORY ((gint)6)
+#define QTMS_AUDIO_OUTPUT_ETTY ((gint)7)
+#define QTMS_AUDIO_OUTPUT_NOT_ACTIVE ((gint)8)
+
+typedef gint QTMSInbandToneType;
+#define QTMS_INBAND_USER_BUSY ((gint)0)
+#define QTMS_INBAND_RADIO_PATH_NOT_AVAIL ((gint)1)
+#define QTMS_INBAND_CONGESTION ((gint)2)
+#define QTMS_INBAND_SPECIAL_INFO ((gint)3)
+#define QTMS_INBAND_REORDER ((gint)4)
+#define QTMS_INBAND_REMOTE_ALEARTING ((gint)5)
+#define QTMS_INBAND_CALL_WAITING ((gint)6)
+#define QTMS_INBAND_DATA_CALL ((gint)7)
+#define QTMS_INBAND_NO_SEQUENCE ((gint)8)
+#define QTMS_INBAND_BEEP_SEQUENCE ((gint)9)
+
+// Structure signalling callback notifications
+struct QTMSSignalEvent
+ {
+ guint type;
+ guint reason;
+ gpointer event_data;
+ gpointer user_data;
+ gint curr_state;
+ gint prev_state;
+ };
+
+// Structure for global volume effect change event
+struct QTMSVolumeEventChangeData
+ {
+ guint level;
+ QTMSAudioOutput output;
+ gboolean output_changed;
+ };
+
+} //namespace QTMS
+
+#endif // QTMS_H
+
+// End of file