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

📄 mmisounds_v1.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:
        performed on the write operation

*******************************************************************************/
static void writeSettingsToPCM( U8 flush )
{
}
/*******************************************************************************

 $Function:     readSettingsFromPCM

 $Description:  inits global vars of sounds from PCM or
          sets default values

 $Returns:    None

 $Arguments:  None

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

static void readSettingsFromPCM(void)
{
}

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

 $Function:     soundsCreate

 $Description:  Create a sounds context, with a window, keyboards, timers
        etc.

 $Returns:    None

 $Arguments:  parent, handle of the parent window

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

static void soundsCreate(MfwHnd parent)
{

}


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

 $Function:     soundsDestroy

 $Description:  cleans up a context

 $Returns:    None

 $Arguments:  None

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

static void soundsDestroy(void)
{

}


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

 $Function:     getCallingMenu

 $Description:  handles transition to calling menu
          a) on timeout,
          b) during running timer when Clear, SoftKeyLeft
             or SoftKeyRight is pressed

 $Returns:    MFW_EVENT_PASSED

 $Arguments:  e, event, tc, timer context

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

static int getCallingMenu(MfwEvt e, MfwTim *tc)
{
  TRACE_FUNCTION( "BACK to invocating Menu" );

  return 0;
}

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

 $Function:     winEvent

 $Description:  window event handler, only deals with the win visible
        event, all others are ignored

 $Returns:    MFW_EVENT_PASSED or MFW_EVENT_CONSUMED depending on the
        event

 $Arguments:  e, event, w, window handle

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

static int winEvent (MfwEvt e, MfwWin *w)
{
    return MFW_EVENT_CONSUMED;
}


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

 $Function:     keyEventLong

 $Description:  keyboard event handler Long press

 $Returns:    MFW_EVENT_PASSED or MFW_EVENT_CONSUMED depending on the
        event

 $Arguments:  e, event, k, keyboard handle

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

static int keyEventLong (MfwEvt e, MfwKbd *k)
{
    PTRACE( sprintf( buf, "keycode in SOUND keyEvtLong %d", (int) k->code ); )
  PTRACE( sprintf( buf, "mfwEvt in SOUND Long 0x%10x", e ); )


  return MFW_EVENT_PASSED; /* give other handlers a chance */
}

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

 $Function:     keyEvent

 $Description:  keyboard event handler

 $Returns:    MFW_EVENT_PASSED or MFW_EVENT_CONSUMED depending on the
        event

 $Arguments:  e, event, k, keyboard handle

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

static int keyEvent (MfwEvt e, MfwKbd *k)
{

    PTRACE( sprintf( buf, "keycode in SOUND keyEvt %d", (int) k->code ); )
  PTRACE( sprintf( buf, "mfwEvt in SOUND 0x%10x", e ); )

  return MFW_EVENT_CONSUMED;
}

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

 $Function:     stepVibrator

 $Description:  Changes the state of the vibrator from vibrating to
                not vibrating and then restarts the vibration timer

 $Returns:    None

 $Arguments:  None

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

static void stepVibrator( void )
{
  TRACE_FUNCTION("Vibrator Ringing");

}

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

 $Function:     ringVibrator

 $Description:  generates the ringing vibrations as configured

 $Returns:    New setting of the vibrator counter

 $Arguments:  c, pointer to a vibrator counter

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

static int ringVibrator( UBYTE *c )
{
  return 0;
}


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

 $Function:     VibratorTimerEvent

 $Description:  Vibrator timer event

 $Returns:    Event consumed, always

 $Arguments:  e, event, t, timer

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

static int VibratorTimerEvent ( MfwEvt e, MfwTim *t )
{

  return MFW_EVENT_CONSUMED;
}

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

 $Function:     volumeSettingTimeOut

 $Description:  The Ringer volume settings time out has occured and used has not selected
        a volume setting.

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  e, event, tc timer context

*******************************************************************************/
static int volumeSettingTimeOut( MfwEvt e, MfwTim *tc )
{
  T_MFW_HND win = mfw_parent(mfw_header());
  T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
  T_idle * idle_data = (T_idle *)win_data->user;
  //T_call * call_data = (T_call*)win_data->user;

  TRACE_EVENT(">>>> volumeSettingTimeOut(), Vol Setiing Time out. ");

  // stop running timer.
  if (hRingerVolSettingTimeOut != NULL ) {
    timStop(hRingerVolSettingTimeOut);
  }

    if(call_data.win_menu !=NULL && (call_data.call_direction == INCOMING))
  {
    bookMenuDestroy(call_data.win_menu);
    /*
      If volume settings dialog timed out while in the incoming call, allow the
      ringer to continue ringing. MZ 9/4/01
    */
    startPlayingMelody(getCurrentRingerSettings());

  }
  else if (idle_data->info_win != NULL )
  {
    bookMenuDestroy(idle_data->info_win);
  }

    return MFW_EVENT_CONSUMED;
}

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

                                Public Methods

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

 $Function:     restartVolSettingInactivityTimer

 $Description:  Restart the Volume settings timer.

 $Returns:    none

 $Arguments:  none

*******************************************************************************/
void restartVolSettingInactivityTimer(void)
{
  if ( hRingerVolSettingTimeOut != NULL )
    timStop( hRingerVolSettingTimeOut );

  timStart(hRingerVolSettingTimeOut);

}
/*******************************************************************************

 $Function:     stopRingerVolTimeOut

 $Description:  Stop the ringer volume settings timer.

 $Returns:    none

 $Arguments:  none

*******************************************************************************/
void stopRingerVolSettingInactivityTimer(void)
{

  if ( hRingerVolSettingTimeOut != NULL )
    timStop( hRingerVolSettingTimeOut );

}
/*******************************************************************************

 $Function:     startRingerVolumeSettingTimer

 $Description:  Create and start the ringer voulme inactivity timer.

 $Returns:    none

 $Arguments:  none

*******************************************************************************/
void startRingerVolSettingInactivityTimer(T_MFW_HND parent_win)
{
  T_MFW_HND win = mfw_parent(mfw_header());
  T_MFW_WIN * win_data = ((T_MFW_HDR *)win)->data;
  T_idle * idle_data = (T_idle *)win_data->user;
  //T_call * call_data = (T_call*)win_data->user;

  TRACE_FUNCTION(">>>> startRingerVolSettingInactivityTime, Create and Start Vol timer ");
  //Create 4 second ringer delay timer.
  if(hRingerVolSettingTimeOut == NULL )
  {
    if(call_data.call_direction == INCOMING)
    {
      hRingerVolSettingTimeOut = timCreate(call_data.win, TIM4SECOND, (MfwCb)volumeSettingTimeOut);
    }
    else
    {
      hRingerVolSettingTimeOut = timCreate(idle_data->win, TIM4SECOND, (MfwCb)volumeSettingTimeOut);
    }
  }

  if ( hRingerVolSettingTimeOut != NULL )
    timStop( hRingerVolSettingTimeOut );

  timStart(hRingerVolSettingTimeOut);


}
/*******************************************************************************

 $Function:     soundsRinger

 $Description:  prepares Ringer setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int soundsRinger( MfwMnu *m, MfwMnuItem *i )
{
  T_MFW_HND win;
    T_MFW_HND parent_win = mfw_parent(mfw_header());

  //recources_Init (win);

  //Create 0.5 second ringer delay timer.
  hRingerStartTimer = timCreate( 0, TIMHALFSECOND, (MfwCb)playCurrentSound);

  win = buildMelodyMenu(parent_win);

   if (win NEQ NULL)
   {
      SEND_EVENT (win, E_INIT, 0, 0);
   }

   // Start the 0.5 second ringer delay timer.
     delayThenPlayMelody();
  //  soundExec();

  return MFW_EVENT_CONSUMED;
}


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

 $Function:     soundsVolume

 $Description:  prepares Volume setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int soundsVolume( MfwMnu *m, MfwMnuItem *i )
{

  return MFW_EVENT_CONSUMED;
}


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

 $Function:     settingsVibrator

 $Description:  prepares Vibrator settings screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int settingsVibrator( MfwMnu *m, MfwMnuItem *i )
{

  return MFW_EVENT_CONSUMED;
}
/*******************************************************************************

 $Function:     settingsLanguages

 $Description:  prepares languages screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int settingsLanguages( MfwMnu *m, MfwMnuItem *i )
{
  return MFW_EVENT_CONSUMED;
}

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

 $Function:     soundsNewMessage

 $Description:  prepares NewMessage setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int soundsNewMessage( MfwMnu *m, MfwMnuItem *i )
{

  return MFW_EVENT_CONSUMED;
}

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

 $Function:     soundsNewBroadcast

 $Description:  prepares Broadcast setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int soundsNewBroadcast( MfwMnu *m, MfwMnuItem *i )
{

  return MFW_EVENT_CONSUMED;
}

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

 $Function:     soundsBatteryLow

 $Description:  prepares BatteryLow setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int soundsBatteryLow( MfwMnu *m, MfwMnuItem *i )
{

  return MFW_EVENT_CONSUMED;
}


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

 $Function:     soundsCreditLow

 $Description:  prepares Credit setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int soundsCreditLow( MfwMnu *m, MfwMnuItem *i )
{

  return MFW_EVENT_CONSUMED;
}
/*******************************************************************************

 $Function:     soundsOrganiser

 $Description:  prepares Organiser setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

int soundsOrganiser( MfwMnu *m, MfwMnuItem *i )
{

  return MFW_EVENT_CONSUMED;
}

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

 $Function:     soundsAlarm

 $Description:  prepares Alarm setting screen

 $Returns:    MFW_EVENT_CONSUMED always

 $Arguments:  m, menu, i, item

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

⌨️ 快捷键说明

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