diff -r e42293e811d8 -r 6c1dfe4da5dd mmappfw_plat/qt_telephony_multimedia_service_api/inc/qtms.h --- /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 +#include + +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 FormatVector; +typedef std::vector BitRateVector; +typedef std::vector 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