wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/abs_core_server_callback.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanengine/wlan_common/wlanengine_common_3.1/inc/abs_core_server_callback.h Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Callback interface from core server
+*
+*/
+
+
+#ifndef ABS_CORE_SERVER_CALLBACK_H
+#define ABS_CORE_SERVER_CALLBACK_H
+
+#include "am_platform_libraries.h"
+#include "core_types.h"
+
+class abs_wlan_eapol_callback_c;
+
+/**
+ * Abstract adaptation layer interface for core server callbacks.
+ *
+ * This interface is implemented by the adaptation layer and a reference
+ * to the class implementing it is passed as a parameter to the core server
+ * constructor.
+ *
+ * @since S60 v3.1
+ * @see abs_core_server_c
+ */
+class abs_core_server_callback_c
+ {
+public:
+
+ /**
+ * Destructor.
+ */
+ virtual ~abs_core_server_callback_c() {};
+
+ /**
+ * Notify about country information received from APs.
+ * @param request_id An unique identification for the request.
+ * @param found_region WLAN region information obtained from the AP's country information.
+ * @param inconsistent_info Information whether different APs gave inconsistent country information.
+ */
+ virtual void store_ap_country_info(
+ u32_t request_id,
+ const core_wlan_region_e& found_region,
+ bool_t inconsistent_info ) = 0;
+
+ /**
+ * Get current regulatory domain.
+ *
+ * @since S60 v3.1
+ * @param request_id An unique identification for the request.
+ * @param region Current regulatory domain.
+ * @param mcc_known Information whether the WLAN region and MCC is currently known.
+ */
+ virtual void get_regulatory_domain(
+ u32_t request_id,
+ core_wlan_region_e& region,
+ bool_t& mcc_known ) = 0;
+
+ /**
+ * Send a notification to the adaptation layer.
+ *
+ * @since S60 v3.1
+ * @param notification The notification to be sent.
+ * @param data_length Length of optional data.
+ * @param data Pointer to optional data.
+ */
+ virtual void notify(
+ core_notification_e notification,
+ int_t data_length,
+ const u8_t* data ) = 0;
+
+ /**
+ * An asynchronous request from the adaptation layer has been completed.
+ *
+ * @since S60 v3.1
+ * @param request_id Identification of the corresponding request.
+ * @param status Completion status of the request.
+ */
+ virtual void request_complete(
+ u32_t request_id,
+ core_error_e status ) = 0;
+
+ /**
+ * Cancel a pending asynchronous request.
+ *
+ * @since S60 v3.1
+ * @param request_id Identification of the corresponding request.
+ */
+ virtual void cancel_request(
+ u32_t request_id ) = 0;
+
+ /**
+ * Initialize interface to EAPOL.
+ *
+ * @since S60 v3.2
+ * @param mode Operating mode to use.
+ * @param partner Pointer to partner instance.
+ * @return Status value of operation.
+ */
+ virtual u32_t load_eapol(
+ core_eapol_operating_mode_e mode,
+ abs_wlan_eapol_callback_c* const partner ) = 0;
+
+ /**
+ * Shutdown EAPOL.
+ *
+ * @since S60 v3.2
+ * @return Status value of operation.
+ */
+ virtual u32_t shutdown() = 0;
+
+ /**
+ * Configure EAPOL.
+ *
+ * @since S60 v3.2
+ * @param header_offset Offset of EAP-header in packet_send.
+ * @param MTU Maximum transfer unit (MTU).
+ * @param trailer_length Length of trailer needed by lower levels..
+ * @return Status value of operation.
+ */
+ virtual u32_t configure(
+ const u32_t header_offset,
+ const u32_t MTU,
+ const u32_t trailer_length ) = 0;
+
+ /**
+ * Send data to EAPOL.
+ *
+ * @since S60 v3.2
+ * @param data Pointer to data to be send.
+ * @param length Length of data to be send.
+ * @return Status value of operation.
+ */
+ virtual u32_t process_data(
+ const void* const data,
+ const u32_t length ) = 0;
+
+ };
+
+#endif // ABS_CORE_SERVER_CALLBACK_H