diff options
Diffstat (limited to 'nexus/WifiController.h')
| -rw-r--r-- | nexus/WifiController.h | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/nexus/WifiController.h b/nexus/WifiController.h deleted file mode 100644 index b1524f6..0000000 --- a/nexus/WifiController.h +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _WIFI_CONTROLLER_H -#define _WIFI_CONTROLLER_H - -#include <sys/types.h> - -#include "Controller.h" -#include "ScanResult.h" -#include "WifiNetwork.h" -#include "ISupplicantEventHandler.h" -#include "IWifiStatusPollerHandler.h" - -class NetInterface; -class Supplicant; -class SupplicantAssociatingEvent; -class SupplicantAssociatedEvent; -class SupplicantConnectedEvent; -class SupplicantScanResultsEvent; -class SupplicantStateChangeEvent; -class SupplicantDisconnectedEvent; -class WifiStatusPoller; - -class WifiController : public Controller, - public ISupplicantEventHandler, - public IWifiStatusPollerHandler { - - class WifiIntegerProperty : public IntegerProperty { - protected: - WifiController *mWc; - public: - WifiIntegerProperty(WifiController *c, const char *name, bool ro, - int elements); - virtual ~WifiIntegerProperty() {} - virtual int set(int idx, int value) = 0; - virtual int get(int idx, int *buffer) = 0; - }; - friend class WifiController::WifiIntegerProperty; - - class WifiStringProperty : public StringProperty { - protected: - WifiController *mWc; - public: - WifiStringProperty(WifiController *c, const char *name, bool ro, - int elements); - virtual ~WifiStringProperty() {} - virtual int set(int idx, const char *value) = 0; - virtual int get(int idx, char *buffer, size_t max) = 0; - }; - friend class WifiController::WifiStringProperty; - - class WifiEnabledProperty : public WifiIntegerProperty { - public: - WifiEnabledProperty(WifiController *c); - virtual ~WifiEnabledProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiScanOnlyProperty : public WifiIntegerProperty { - public: - WifiScanOnlyProperty(WifiController *c); - virtual ~WifiScanOnlyProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiAllowedChannelsProperty : public WifiIntegerProperty { - public: - WifiAllowedChannelsProperty(WifiController *c); - virtual ~WifiAllowedChannelsProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiActiveScanProperty : public WifiIntegerProperty { - public: - WifiActiveScanProperty(WifiController *c); - virtual ~WifiActiveScanProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiSearchingProperty : public WifiIntegerProperty { - public: - WifiSearchingProperty(WifiController *c); - virtual ~WifiSearchingProperty() {} - int set(int idx, int value) { return -1; } - int get(int idx, int *buffer); - }; - - class WifiPacketFilterProperty : public WifiIntegerProperty { - public: - WifiPacketFilterProperty(WifiController *c); - virtual ~WifiPacketFilterProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiBluetoothCoexScanProperty : public WifiIntegerProperty { - public: - WifiBluetoothCoexScanProperty(WifiController *c); - virtual ~WifiBluetoothCoexScanProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiBluetoothCoexModeProperty : public WifiIntegerProperty { - public: - WifiBluetoothCoexModeProperty(WifiController *c); - virtual ~WifiBluetoothCoexModeProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiCurrentNetworkProperty : public WifiIntegerProperty { - public: - WifiCurrentNetworkProperty(WifiController *c); - virtual ~WifiCurrentNetworkProperty() {} - int set(int idx, int value) { return -1; } - int get(int idx, int *buffer); - }; - - class WifiSuspendedProperty : public WifiIntegerProperty { - public: - WifiSuspendedProperty(WifiController *c); - virtual ~WifiSuspendedProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiNetCountProperty : public WifiIntegerProperty { - public: - WifiNetCountProperty(WifiController *c); - virtual ~WifiNetCountProperty() {} - int set(int idx, int value) { return -1; } - int get(int idx, int *buffer); - }; - - class WifiTriggerScanProperty : public WifiIntegerProperty { - public: - WifiTriggerScanProperty(WifiController *c); - virtual ~WifiTriggerScanProperty() {} - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiSupplicantStateProperty : public WifiStringProperty { - public: - WifiSupplicantStateProperty(WifiController *c); - virtual ~WifiSupplicantStateProperty() {} - int set(int idx, const char *value) { return -1; } - int get(int idx, char *buffer, size_t max); - }; - - class WifiInterfaceProperty : public WifiStringProperty { - public: - WifiInterfaceProperty(WifiController *c); - virtual ~WifiInterfaceProperty() {} - int set(int idx, const char *value) { return -1; } - int get(int idx, char *buffer, size_t max); - }; - - Supplicant *mSupplicant; - char mModulePath[255]; - char mModuleName[64]; - char mModuleArgs[255]; - - int mSupplicantState; - bool mActiveScan; - bool mScanOnly; - bool mPacketFilter; - bool mBluetoothCoexScan; - int mBluetoothCoexMode; - int mCurrentlyConnectedNetworkId; - bool mSuspended; - int mLastRssi; - int mRssiEventThreshold; - int mLastLinkSpeed; - int mNumAllowedChannels; - - ScanResultCollection *mLatestScanResults; - pthread_mutex_t mLatestScanResultsLock; - pthread_mutex_t mLock; - WifiStatusPoller *mStatusPoller; - - struct { - WifiEnabledProperty *propEnabled; - WifiScanOnlyProperty *propScanOnly; - WifiAllowedChannelsProperty *propAllowedChannels; - IntegerPropertyHelper *propRssiEventThreshold; - } mStaticProperties; - - struct { - WifiActiveScanProperty *propActiveScan; - WifiSearchingProperty *propSearching; - WifiPacketFilterProperty *propPacketFilter; - WifiBluetoothCoexScanProperty *propBluetoothCoexScan; - WifiBluetoothCoexModeProperty *propBluetoothCoexMode; - WifiCurrentNetworkProperty *propCurrentNetwork; - IntegerPropertyHelper *propRssi; - IntegerPropertyHelper *propLinkSpeed; - WifiSuspendedProperty *propSuspended; - WifiNetCountProperty *propNetCount; - WifiSupplicantStateProperty *propSupplicantState; - WifiInterfaceProperty *propInterface; - WifiTriggerScanProperty *propTriggerScan; - } mDynamicProperties; - - // True if supplicant is currently searching for a network - bool mIsSupplicantSearching; - int mNumScanResultsSinceLastStateChange; - - bool mEnabled; - -public: - WifiController(PropertyManager *propmngr, IControllerHandler *handlers, char *modpath, char *modname, char *modargs); - virtual ~WifiController() {} - - int start(); - int stop(); - - WifiNetwork *createNetwork(); - int removeNetwork(int networkId); - WifiNetworkCollection *createNetworkList(); - - ScanResultCollection *createScanResults(); - - char *getModulePath() { return mModulePath; } - char *getModuleName() { return mModuleName; } - char *getModuleArgs() { return mModuleArgs; } - - Supplicant *getSupplicant() { return mSupplicant; } - -protected: - // Move this crap into a 'driver' - virtual int powerUp() = 0; - virtual int powerDown() = 0; - virtual int loadFirmware(); - - virtual bool isFirmwareLoaded() = 0; - virtual bool isPoweredUp() = 0; - -private: - void sendStatusBroadcast(const char *msg); - int setActiveScan(bool active); - int triggerScan(); - int enable(); - int disable(); - int setSuspend(bool suspend); - bool getSuspended(); - int setBluetoothCoexistenceScan(bool enable); - int setBluetoothCoexistenceMode(int mode); - int setPacketFilter(bool enable); - int setScanOnly(bool scanOnly); - - // ISupplicantEventHandler methods - void onAssociatingEvent(SupplicantAssociatingEvent *evt); - void onAssociatedEvent(SupplicantAssociatedEvent *evt); - void onConnectedEvent(SupplicantConnectedEvent *evt); - void onScanResultsEvent(SupplicantScanResultsEvent *evt); - void onStateChangeEvent(SupplicantStateChangeEvent *evt); - void onConnectionTimeoutEvent(SupplicantConnectionTimeoutEvent *evt); - void onDisconnectedEvent(SupplicantDisconnectedEvent *evt); -#if 0 - virtual void onTerminatingEvent(SupplicantEvent *evt); - virtual void onPasswordChangedEvent(SupplicantEvent *evt); - virtual void onEapNotificationEvent(SupplicantEvent *evt); - virtual void onEapStartedEvent(SupplicantEvent *evt); - virtual void onEapMethodEvent(SupplicantEvent *evt); - virtual void onEapSuccessEvent(SupplicantEvent *evt); - virtual void onEapFailureEvent(SupplicantEvent *evt); - virtual void onLinkSpeedEvent(SupplicantEvent *evt); - virtual void onDriverStateEvent(SupplicantEvent *evt); -#endif - - void onStatusPollInterval(); - - int verifyNotSuspended(); -}; - -#endif |
