⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmisatclasse.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/*******************************************************************************

          CONDAT (UK)

********************************************************************************

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.

********************************************************************************

 $Project name: Basic MMI
 $Project code: BMI (6349)
 $Module:   MMI
 $File:       MmiSatClassE.c
 $Revision:   1.0

 $Author:   Condat(UK)
 $Date:       13/03/03

********************************************************************************

 Description:   Contains the implementation of SAT Class E



********************************************************************************

 $History: MmiSatClassE.c

  13/03/03      Original Condat(UK) BMI version.

 $End

*******************************************************************************/

#define ENTITY_MFW

/* includes */
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#if defined (NEW_FRAME)

#include "typedefs.h"
#include "vsi.h"
#include "pei.h"
#include "custom.h"
#include "gsm.h"

#else

#include "stddefs.h"
#include "custom.h"
#include "gsm.h"
#include "vsi.h"

#endif /* (NEW_FRAME) */

#include "pconst.cdg"
#include "mconst.cdg"
#include "message.h"
#include "ccdapi.h"
#include "prim.h"
#include "cus_aci.h"
#include "cnf_aci.h"
#include "mon_aci.h"

#include "tok.h"

#include "pcm.h"

#include "mfw_mfw.h"
#include "mfw_kbd.h"
#include "mfw_tim.h"
#include "mfw_lng.h"
#include "mfw_win.h"
#include "mfw_icn.h"
#include "mfw_sim.h"
#include "mfw_nm.h"
/* SPR#1428 - SH - New Editor changes */
//#ifndef NEW_EDITOR
#include "mfw_edt.h"
//#endif /* NEW_EDITOR */
#include "mfw_mnu.h"
#include "mfw_phb.h"
#include "mfw_sms.h"

#include "dspl.h"


#include "p_mmi.h"
#include "message.h"
#include "prim.h"
#include "aci_cmh.h"
#include "mfw_mme.h"

#include "MmiMmi.h"

#include "MmiIcons.h"
#include "MmiPins.h"
#include "MmiMain.h"
#include "MmiDialogs.h"
#include "MmiIdle.h"
#include "MmiStart.h"
#include "MmiCall.h"
#include "MmiSimToolkit.h"
#include "gdi.h"
#include "Audio.h"
#include "MmiLists.h"
#include "MmiSounds.h"
#include "MmiResources.h"
#include "MmiTimeDate.h"
#include "mmiSat_i.h"
/* SPR#1428 - SH - New Editor changes */
//#ifdef NEW_EDITOR
//#include "ATBCommon.h"
//#include "ATBDisplay.h"
//#include "ATBEditor.h"
//#include "AUIEditor.h"
//#else
#include "MmiEditor.h"
//#endif /* NEW_EDITOR */
#include "MmiMenu.h" // SH - 20/11/01 - included to provide symbol SimMenuFunc
#include "MmiSmsRead.h" /*MC SPR 940/2*/

#include "cus_aci.h"
#include "p_sim.h"
#include "pcm.h"

#include "mmiSatClassE.h"
#include "mmiColours.h"

typedef struct
{
    T_MMI_CONTROL mmi_control;
    T_MFW_HND     parent_win;
    T_MFW_HND     win;
    T_SAT_CMD     *sat_command; /* pointer to sat_command in parent */
    char * alpha_id;
} T_sat_open_channel;


/* Local function prototypes */
static void sat_open_channel_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason);
static void sat_class_e_dialog_destroy(T_MFW_HND win);
static void sat_class_e_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason);

/*******************************************************************************

 $Function:    	sat_class_e_create

 $Description:	      Creation of an instance for the SAT Class E dialog.

 $Returns:		mfw window handler 

 $Arguments:        parent_window - Parent window handler
 
*******************************************************************************/
T_MFW_HND sat_class_e_create (T_MFW_HND parent_window)
{
    T_sat_open_channel * data = (T_sat_open_channel *)ALLOC_MEMORY (sizeof (T_sat_open_channel));
    T_MFW_WIN       * win;

    TRACE_FUNCTION("sat_open_channel_create()");

    if (data != NULL)
    {
        data->win = win_create (parent_window, 0, 0,NULL);
    }
    else
    {
        TRACE_ERROR("Error: Cannot allocate memory for data!");
    }

    if (data->win EQ NULL)
        return NULL;

    /*
     * Create window handler
     */
    data->mmi_control.dialog   = (T_DIALOG_FUNC)sat_class_e_exec;
    data->mmi_control.data     = data;
    data->parent_win             = parent_window;
    win                                 = ((T_MFW_HDR *)data->win)->data;
    win->user                        = (MfwUserDataPtr)data;

    /*
     * return window handle
     */
    winShow(data->win);
    return data->win;
}

/*******************************************************************************

 $Function:     sat_open_channel_cb

 $Description:  Callback for accept/reject dialog.
 $Returns:       None.

 $Arguments:  win: current window
                    identifier: unique id
                    reason: event id

*******************************************************************************/
static void sat_open_channel_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
    TRACE_FUNCTION("sat_open_channel_cb()");
    
    if (win EQ NULL)
    {
        return;
    }
    
    switch (reason)
    {
    case INFO_KCD_LEFT:        /* user has accepted Open Channel request */
        satAccept();

        /* Destroy the dialog */
        sat_class_e_dialog_destroy(win);
        break;
    case INFO_KCD_RIGHT:        /* user has rejected Open Channel request */
        satReject();

        /* Destroy the dialog */
        sat_class_e_dialog_destroy(win);
        break;
    default:
        break;
    }
}

/*******************************************************************************

 $Function:     sat_class_e_dialog_destroy

 $Description:  Close the alert dialog

 $Returns:      None.

 $Arguments:  alert_dialog: window handle.

*******************************************************************************/
static void sat_class_e_dialog_destroy(T_MFW_HND win)
{

    T_MFW_WIN       * win_data;  
    T_sat_open_channel * data;
    
    TRACE_FUNCTION ("sat_class_e_dialog_destroy()");

    if (win == NULL) 
    {
       TRACE_ERROR("ERROR: win is NULL!");
       return;
    }

    win_data = ((T_MFW_HDR *)win)->data;

    if (win_data == NULL)
    {
        TRACE_ERROR("ERROR: win_data is NULL!");
        return;
    }

    data = (T_sat_open_channel *)win_data->user;
    
    if (win != NULL)
    {
        if (data)
        {
            /*
             * Delete WIN Handler
             */
            win_delete (data->win);
            /*
             * Free Memory
             */
            sat_destroy_TEXT_ASCIIZ (data->alpha_id);
            FREE_MEMORY ((U8 *)data, sizeof (T_sat_open_channel));
        }
    }
}

/*******************************************************************************

 $Function:     sat_class_e_cb

 $Description:  Callback for Sat Class E dialogs.
 $Returns:       None.

 $Arguments:  win: current window
                    identifier: unique id
                    reason: event id

*******************************************************************************/
static void sat_class_e_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
    TRACE_FUNCTION("sat_class_e_cb()");
    
    if (win EQ NULL)
    {
        return;
    }
    
    switch (reason)
    {
    case INFO_KCD_LEFT:
    case INFO_KCD_RIGHT:
    case INFO_TIMEOUT:

        /* Destroy the dialog */
        sat_class_e_dialog_destroy(win);
        break;
    default:
        break;
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -