wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/core_sub_operation_load_drivers.h
changeset 0 c40eb8fe8501
equal deleted inserted replaced
-1:000000000000 0:c40eb8fe8501
       
     1 /*
       
     2 * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Statemachine for loading the drivers
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CORE_SUB_OPERATION_LOAD_DRIVERS_H
       
    20 #define CORE_SUB_OPERATION_LOAD_DRIVERS_H
       
    21 
       
    22 #include "core_operation_base.h"
       
    23 
       
    24 class core_server_c;
       
    25 class abs_core_driverif_c;
       
    26 
       
    27 /**
       
    28  * Statemachine for loading the drivers
       
    29  *
       
    30  * @lib wlmserversrv.lib
       
    31  * @since S60 v3.1
       
    32  */
       
    33 NONSHARABLE_CLASS( core_sub_operation_load_drivers_c ) : public core_operation_base_c
       
    34     {
       
    35 
       
    36 public:
       
    37 
       
    38     enum core_state_e
       
    39         {
       
    40         core_state_init = core_base_state_next,
       
    41         core_state_req_region,
       
    42         core_state_req_load_drivers,
       
    43         core_state_req_set_tx_power,        
       
    44         core_state_req_set_rxtx_parameters,
       
    45         core_state_req_set_uapsd_settings,
       
    46         core_state_req_set_power_save_settings,
       
    47         core_state_req_set_power_mode_mgmt_settings,
       
    48         core_state_req_set_block_ack_usage,
       
    49         core_state_req_set_wpx_settings,
       
    50         core_state_cancel_req_unload_drivers,
       
    51         core_state_done,
       
    52         core_state_MAX
       
    53         };
       
    54 
       
    55     /**
       
    56      * Constructor.
       
    57      */
       
    58     core_sub_operation_load_drivers_c(
       
    59         u32_t request_id,
       
    60         core_server_c* server,        
       
    61         abs_core_driverif_c* drivers,
       
    62         abs_core_server_callback_c* adaptation );
       
    63 
       
    64     /**
       
    65      * Destructor.
       
    66      */
       
    67     virtual ~core_sub_operation_load_drivers_c();
       
    68 
       
    69 protected:
       
    70 
       
    71     /**
       
    72      * This method is called when a pending request has been completed
       
    73      * and so sub-operations are pending.
       
    74      *
       
    75      * @since S60 v3.1
       
    76      * @return status of the operation:
       
    77      *     core_error_request_pending if the operation is not finished,
       
    78      *     otherwise the status code of the finished operation
       
    79      */
       
    80     core_error_e next_state();
       
    81 
       
    82     /**
       
    83      * This method is called when the operation is cancelled from the outside.
       
    84      *
       
    85      * @since S60 v3.2
       
    86      * @param do_graceful_cancel Whether cancel should be graceful or forced.
       
    87      */
       
    88     void user_cancel(
       
    89         bool_t do_graceful_cancel );
       
    90 
       
    91     /**
       
    92      * This method is called when the operation needs to be canceled.     
       
    93      *
       
    94      * @since S60 v3.1
       
    95      * @return status of the operation:
       
    96      *     core_error_request_pending if the operation is not finished,
       
    97      *     otherwise the status code of the finished operation
       
    98      */
       
    99     core_error_e cancel();
       
   100 
       
   101 private: // data
       
   102 
       
   103     /**
       
   104      * Current WLAN region.
       
   105      */
       
   106     core_wlan_region_e region_m;
       
   107     
       
   108     /**
       
   109      * Is MCC (mobile country code) currently known
       
   110      */
       
   111     bool_t mcc_known_m;
       
   112 
       
   113     };
       
   114 
       
   115 #endif // CORE_SUB_OPERATION_LOAD_DRIVERS_H