wifi_stop.cpp
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:4k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2001
  8. *
  9. *****************************************************************************/
  10. /*****************************************************************************
  11.  *
  12.  * Filename:
  13.  * ---------
  14.  *   wifi_stop.cpp
  15.  *
  16.  * Project:
  17.  * --------
  18.  *   Maui META APP
  19.  *
  20.  * Description:
  21.  * ------------
  22.  *   WIFI stop source
  23.  *
  24.  * Author:
  25.  * -------
  26.  *  Andy Ueng (mtk00490)
  27.  *
  28.  *============================================================================
  29.  *             HISTORY
  30.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  31.  *------------------------------------------------------------------------------
  32.  * $Revision$
  33.  * $Modtime$
  34.  * $Log$
  35.  * 
  36.  *------------------------------------------------------------------------------
  37.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  38.  *============================================================================
  39.  ****************************************************************************/
  40. #include <IniFiles.hpp>
  41. #pragma hdrstop
  42. #ifndef  _WIFI_STOP_H_
  43. #include "wifi_stop.h"
  44. #endif
  45. #include "man_active.h"
  46. #include "man_fdm.h"
  47. //===========================================================================
  48. static CWIFISTOP*  gs_wifi_stop_ptr;
  49. static bool g_bIsRunning;
  50. //===========================================================================
  51. //static void __stdcall CNF_RFStop(const unsigned char cnf, const short token, void *usrData)
  52. //{
  53. //     gs_wifi_stop_ptr->CNF_RFStop( cnf, token, usrData );
  54. //}
  55. //---------------------------------------------------------------------------
  56. static void  REQ_TimeOut( void )
  57. {  gs_wifi_stop_ptr->REQ_TimeOut();
  58. }
  59. //---------------------------------------------------------------------------
  60. static void  REQ_Finish( void )
  61. {   gs_wifi_stop_ptr->REQ_Finish();
  62. }
  63. //===========================================================================
  64. CWIFISTOP::CWIFISTOP( void )
  65. {
  66.    g_bIsRunning = false;
  67.    ConfirmCallback = 0;
  68. }
  69. //---------------------------------------------------------------------------
  70. CWIFISTOP::~CWIFISTOP( void )
  71. {
  72.    ConfirmCallback = 0;
  73.    g_bIsRunning = false;
  74. }
  75. //---------------------------------------------------------------------------
  76. void  CWIFISTOP::REQ_Finish( void )
  77. {
  78.    if(!g_bIsRunning)  return;
  79.    Confirm( STATE_STOP_OK );
  80. }
  81. //---------------------------------------------------------------------------
  82. void  CWIFISTOP::REQ_Stop( void )
  83. {
  84.    if(!g_bIsRunning)  return;
  85.   
  86.    Confirm( STATE_STOP_STOP );
  87.    
  88. }
  89. //---------------------------------------------------------------------------
  90. void  CWIFISTOP::REQ_TimeOut( void )
  91. {
  92.    if(!g_bIsRunning)  return;
  93.    
  94.    Confirm( STATE_STOP_TIMEOUT );
  95. }
  96. //---------------------------------------------------------------------------
  97. void  CWIFISTOP::Confirm( int confirm_state )
  98. {
  99.    if(!g_bIsRunning)  return;
  100.    if(ConfirmCallback==0)  return;
  101.    m_iConfirmState = confirm_state;
  102.    g_bIsRunning = false;
  103.    ActiveMan->SetActiveFunction( ConfirmCallback );
  104. }
  105. //===========================================================================
  106. void  CWIFISTOP::REQ_Start( void )
  107. {
  108.    gs_wifi_stop_ptr = this;
  109.    g_bIsRunning = true;
  110.    META_CancelAllBlockingCall_r( m_META_HANDLE_Obj.Get_MainHandle() );
  111.    META_RESULT  MetaResult = META_WiFi_Stop_r( m_META_HANDLE_Obj.Get_MainHandle(), 500 );
  112.    if(MetaResult!=META_SUCCESS)
  113.    {  Confirm( STATE_STOP_FAIL );  return;  }
  114.    
  115.    ActiveMan->SetActiveFunction( ::REQ_Finish );
  116. }
  117. //===========================================================================
  118. /////////////////////////  Global information  //////////////////////////////
  119. //===========================================================================
  120. int CWIFISTOP::Get_ConfirmState( void )
  121. {
  122.     return  m_iConfirmState;
  123. }