📄 am_relay_layer.h
字号:
#ifndef AM_RELAY_LAYER_CLASS#define AM_RELAY_LAYER_CLASS/* (c) Copyright Motorola 1996, All rights reserved. Motorola Confidential Proprietary Contains confidential proprietary information of Motorola, Inc. Reverse engineering is prohibited. The copyright notice does not imply publication. DESCRIPTION: Definition of the Class AM_Relay_Layer ************** REVISION HISTORY ********************************************** Date Author Reference ======== ======== ========================== 2004-11-05 w17860 LIBff24932 P4.4 Feature # 12583 Memory Reduction - Remove Voice Dial and Voice Tag 04-09-13 aja099 LIBff06524 Changed get_volume_step interface to now take info_ptr. 00-12-21 mtaraba CSGce82934 main_comp_hardware.h within engine_audio vob should be removed 00-08-04 ktang PR - CSGce67917 Update audio Manager to support Synergy Lite tone defs 00-08-23 mtaraba CR - CSGce65193 Move AM_AUDIO_PATH_TYPE enumeration to a global header file - include audio_path_types.h 00-08-09 mtaraba CR - CSGce55882 Eliminate file gsm.h from audio manager 00-08-06 charlesf PR - CSGce68099 Obtain phone volume and ringer volume from Feature Database - define prototype for get_volume_step function 00-08-14 ktang CR - CSGce68045 Analog Network DTMF fixes - Removed analog DTMF related variables and functions 00-6-28 whc,mjt PR 63516 remove get_mode it was creating unresolved symbols 00-04-25 mkloza PR - CSGce54341 MATRIX command implementation - added matrix[] table 00-05-05 shagino CR - CSGce56425 Implement handsfree_status funtion - Changed DL_AUDIO_TONE_TYPE to DL_AUDIO_TONE_TYPE_T. 00-03-17 cfarrel PR - CSGce47853 SiERRA AUDIO - Update Phase 6 headers - Update type name to conform to the C standards 00-03-15 mkloza PR - CSGce51641 Blue Tooth modification for P2K platform - added is_blue_tooth_active() macro 99-11-19 Dale Noble PR - Added AM_Relay_Layer::get_tone() from inline in AM_Relay_Layer.H Redesigned function. 99-11-19 shagino PR - CSGce39546 Phase III Long & Short DTMF for GRiEF Audio - Added function to get DTMF information required for the DSP. 99-10-19 ktang PR - CSGce40494 GRiEF AM Music Ringer - Added private static member variables smallest_note_duration and music_notes. - Added inline statice member function get_music_length. - Added public static member functions get_music_note_freq, get_music_note_duration, and set_music. 99-10-22 ktang PR - CSGce40785 99-10-12 ktang PR - CSGce39518 99-08-02 mkloza PR - CSGce34326 99-03-29 blamers PR - CSGce30057 99-02-01 blamers CR - CSGce26811 99-01-26 mkloza PR - CSGce27430 99-01-26 blamers CR - CSGce27361 99-01-07 mkloza PR - CSGce21917*//************** HEADER FILE INCLUDES ******************************************/#include <SUAPI/suapi.h>#include <stddef.h>#include <ENGINE_AUDIO/audio_path_types.h>#include <ENGINE_AUDIO/td_mmiloc_feature_states.h>#include "AM_App_Feature_Server.H"#include "am_app_configuration_server.h"#include "AM_App_Configuration_Server.H"#include "am_app_logic_processor_main.h"#if ( (MAKE_FTR_VR == TRUE) || (MAKE_FTR_VA == TRUE) )#include "AM_App_VA_VR_Server.H"#endif#include <ENGINE_AUDIO/td_aud_dai_select.h>#include <ENGINE_AUDIO/td_aud_tone_req_tone_type.h>#include <SYNERGY_DEVICE_LAYER/dl_audio_auf.h>#include <SYNERGY_DEVICE_LAYER/dl_db_feature_ids.h>/************** CONSTANTS *****************************************************//************** STRUCTURES, ENUMS, AND TYPEDEFS *******************************//************** FUNCTION PROTOTYPES *******************************************//************** MACROS ********************************************************//************** CLASS DEFINITIONS *********************************************/class AM_Relay_Layer{public: static UINT8 get_volume_step ( AM_AUDIO_INFO* info_ptr ); static UINT8 get_mic_gain ( AM_AUDIO_MODE_MASK mode ); static TD_AUD_TONE_REQ_TONE_TYPE_T get_tone(TD_AUD_TONE_REQ_TONE_TYPE_T tone);/************** INLINE FUNCTIONS **********************************************/ // TRUE if it is a DTMF tone; FALSE otherwise inline static BOOL IsDTMFKey(TD_AUD_TONE_REQ_TONE_TYPE_T toneID) { return ((toneID >= DL_AUDIO_TONE_TYPE_NUMBERKEY0_DTMF) && (toneID <= DL_AUDIO_TONE_TYPE_NUMBERKEYPOUND_DTMF)); } /* * returnS the state of keytone mute: DTMF, single, or silent. */ inline static BOOL is_key_tone_mute (void) { return (AM_App_Feature_Server::read_state(DL_DB_FEATURE_ID_ENGINE_CURRENT_KEYTONE_TYPE) == DL_AUDIO_KEY_FEEDBACK_MUTE_SILENT); } /* * return the state of mute. */ inline static BOOL is_mute (void) { return (AM_App_Feature_Server::read_state(DL_DB_FEATURE_ID_ENGINE_MIC_MUTE) == 1); } /* * return the aux alert feature state. */ inline static BOOL aux_alert_is_disable (void) { return (AM_App_Feature_Server::read_state(DL_DB_FEATURE_ID_ENGINE_AUXILIARY_ALERT) == 0); } /* * return the ent mute feature state. */ inline static BOOL ent_mute_is_enable (void) { return (AM_App_Feature_Server::read_state(DL_DB_FEATURE_ID_ENGINE_ENT_MUTE_MENU_ENABLE) == 1); } /* * determine if in warm plug */ inline static BOOL is_in_warm_plug (void) { return ( AM_App_Configuration_Server::read(AM_CONFIGURATION_ID_MUTE)); } /* * determine if phone is in call. incall = true, out of call = false. */ inline static BOOL is_incall (void) { return ( AM_App_Configuration_Server::read(AM_CONFIGURATION_ID_INCALL)); } /* * determine (feedback ringer or voice req) = true, (no feedback ringer or voice req) = false. */ inline static BOOL allow_ent_mute (void) { return ( AM_App_Configuration_Server::read(AM_CONFIGURATION_ID_ALLOW_ENT_MUTE)); } /* * determine if phone is in data call mode */ inline static BOOL is_in_data_call (void) { return (AM_App_Configuration_Server :: read (AM_CONFIGURATION_ID_IN_DATA_CALL)); } #if (MAKE_FTR_VA == TRUE) /* * determine if VA is recording. Recording = true, Not Recording = false. */ inline static BOOL is_va_record (void) { return ( AM_App_VA_VR_Server :: is_va_record() ); } /* * determine if VA is playing back. Playing Back = true, * Not Playing Back = false. */ inline static BOOL is_va_playback (void) { return ( AM_App_VA_VR_Server :: is_va_playback() ); }#endif#if (MAKE_FTR_VR == TRUE) // Check to see if the voice tag complete should be handled inline static BOOL handle_vtag_complete(void) { BOOL return_value = TRUE; return_value = am_va_vr_int_handle_vtag_complete; am_va_vr_int_handle_vtag_complete = FALSE; return return_value; } // Handle the next voice tag complete primitive inline static void set_handle_next_vtag_complete(void) { am_va_vr_int_handle_vtag_complete = TRUE; }#endif/***************************** PRIVATE *************************/ private: /* * Overload the new and delete operators to prevent calls to the system's new and * delete functions. */ inline void * operator new (size_t) { return(NULL); } inline void operator delete (void *, size_t) {}/************** GLOBAL VARIABLES **********************************************/ static BOOL am_va_vr_int_handle_vtag_complete;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -