diff options
Diffstat (limited to 'nexus/WifiNetwork.h')
| -rw-r--r-- | nexus/WifiNetwork.h | 356 |
1 files changed, 0 insertions, 356 deletions
diff --git a/nexus/WifiNetwork.h b/nexus/WifiNetwork.h deleted file mode 100644 index 15ec647..0000000 --- a/nexus/WifiNetwork.h +++ /dev/null @@ -1,356 +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_NETWORK_H -#define _WIFI_NETWORK_H - -#include <sys/types.h> - -#include <utils/List.h> - -#include "Property.h" - -class PropertyManager; - -class KeyManagementMask { -public: - static const uint32_t UNKNOWN = 0; - static const uint32_t NONE = 0x01; - static const uint32_t WPA_PSK = 0x02; - static const uint32_t WPA_EAP = 0x04; - static const uint32_t IEEE8021X = 0x08; - static const uint32_t ALL = WPA_PSK | WPA_EAP | IEEE8021X; -}; - -class SecurityProtocolMask { -public: - static const uint32_t WPA = 0x01; - static const uint32_t RSN = 0x02; -}; - -class AuthenticationAlgorithmMask { -public: - static const uint32_t OPEN = 0x01; - static const uint32_t SHARED = 0x02; - static const uint32_t LEAP = 0x04; -}; - -class PairwiseCiphersMask { -public: - static const uint32_t NONE = 0x00; - static const uint32_t TKIP = 0x01; - static const uint32_t CCMP = 0x02; -}; - -class GroupCiphersMask { -public: - static const uint32_t WEP40 = 0x01; - static const uint32_t WEP104 = 0x02; - static const uint32_t TKIP = 0x04; - static const uint32_t CCMP = 0x08; -}; - -class Supplicant; -class Controller; -class WifiController; - -class WifiNetwork { - class WifiNetworkIntegerProperty : public IntegerProperty { - protected: - WifiNetwork *mWn; - public: - WifiNetworkIntegerProperty(WifiNetwork *wn, const char *name, bool ro, - int elements); - virtual ~WifiNetworkIntegerProperty() {} - virtual int set(int idx, int value) = 0; - virtual int get(int idx, int *buffer) = 0; - }; - friend class WifiNetwork::WifiNetworkIntegerProperty; - - class WifiNetworkStringProperty : public StringProperty { - protected: - WifiNetwork *mWn; - public: - WifiNetworkStringProperty(WifiNetwork *wn, const char *name, bool ro, - int elements); - virtual ~WifiNetworkStringProperty() {} - virtual int set(int idx, const char *value) = 0; - virtual int get(int idx, char *buffer, size_t max) = 0; - }; - friend class WifiNetwork::WifiNetworkStringProperty; - - class WifiNetworkEnabledProperty : public WifiNetworkIntegerProperty { - public: - WifiNetworkEnabledProperty(WifiNetwork *wn); - virtual ~WifiNetworkEnabledProperty() {}; - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiNetworkPriorityProperty : public WifiNetworkIntegerProperty { - public: - WifiNetworkPriorityProperty(WifiNetwork *wn); - virtual ~WifiNetworkPriorityProperty() {}; - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiNetworkDefaultKeyIndexProperty : public WifiNetworkIntegerProperty { - public: - WifiNetworkDefaultKeyIndexProperty(WifiNetwork *wn); - virtual ~WifiNetworkDefaultKeyIndexProperty() {}; - int set(int idx, int value); - int get(int idx, int *buffer); - }; - - class WifiNetworkSsidProperty : public WifiNetworkStringProperty { - public: - WifiNetworkSsidProperty(WifiNetwork *wn); - virtual ~WifiNetworkSsidProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkBssidProperty : public WifiNetworkStringProperty { - public: - WifiNetworkBssidProperty(WifiNetwork *wn); - virtual ~WifiNetworkBssidProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkPskProperty : public WifiNetworkStringProperty { - public: - WifiNetworkPskProperty(WifiNetwork *wn); - virtual ~WifiNetworkPskProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkKeyManagementProperty : public WifiNetworkStringProperty { - public: - WifiNetworkKeyManagementProperty(WifiNetwork *wn); - virtual ~WifiNetworkKeyManagementProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkAuthAlgorithmsProperty : public WifiNetworkStringProperty { - public: - WifiNetworkAuthAlgorithmsProperty(WifiNetwork *wn); - virtual ~WifiNetworkAuthAlgorithmsProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkProtocolsProperty : public WifiNetworkStringProperty { - public: - WifiNetworkProtocolsProperty(WifiNetwork *wn); - virtual ~WifiNetworkProtocolsProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkWepKeyProperty : public WifiNetworkStringProperty { - public: - WifiNetworkWepKeyProperty(WifiNetwork *wn); - virtual ~WifiNetworkWepKeyProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkPairwiseCiphersProperty : public WifiNetworkStringProperty { - public: - WifiNetworkPairwiseCiphersProperty(WifiNetwork *wn); - virtual ~WifiNetworkPairwiseCiphersProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkGroupCiphersProperty : public WifiNetworkStringProperty { - public: - WifiNetworkGroupCiphersProperty(WifiNetwork *wn); - virtual ~WifiNetworkGroupCiphersProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - - class WifiNetworkHiddenSsidProperty : public WifiNetworkStringProperty { - public: - WifiNetworkHiddenSsidProperty(WifiNetwork *wn); - virtual ~WifiNetworkHiddenSsidProperty() {}; - int set(int idx, const char *value); - int get(int idx, char *buffer, size_t max); - }; - -private: - Supplicant *mSuppl; - WifiController *mController; - - /* - * Unique network id - normally provided by supplicant - */ - int mNetid; - - /* - * The networks' SSID. Can either be an ASCII string, - * which must be enclosed in double quotation marks - * (ie: "MyNetwork"), or a string of hex digits which - * are not enclosed in quotes (ie: 01ab7893) - */ - char *mSsid; - - /* - * When set, this entry should only be used - * when associating with the AP having the specified - * BSSID. The value is a string in the format of an - * Ethernet MAC address - */ - char *mBssid; - - /* - * Pre-shared key for use with WPA-PSK - */ - char *mPsk; - - /* - * Up to four WEP keys. Either in ASCII string enclosed in - * double quotes, or a string of hex digits - */ - char *mWepKeys[4]; - - /* - * Default WEP key index, ranging from 0 -> NUM_WEP_KEYS -1 - */ - int mDefaultKeyIndex; - - /* - * Priority determines the preference given to a network by - * supplicant when choosing an access point with which - * to associate - */ - int mPriority; - - /* - * This is a network that does not broadcast it's SSID, so an - * SSID-specific probe request must be used for scans. - */ - char *mHiddenSsid; - - /* - * The set of key management protocols supported by this configuration. - */ - uint32_t mKeyManagement; - - /* - * The set of security protocols supported by this configuration. - */ - uint32_t mProtocols; - - /* - * The set of authentication protocols supported by this configuration. - */ - uint32_t mAuthAlgorithms; - - /* - * The set of pairwise ciphers for WPA supported by this configuration. - */ - uint32_t mPairwiseCiphers; - - /* - * The set of group ciphers for WPA supported by this configuration. - */ - uint32_t mGroupCiphers; - - /* - * Set if this Network is enabled - */ - bool mEnabled; - - char *mPropNamespace; - struct { - WifiNetworkEnabledProperty *propEnabled; - WifiNetworkSsidProperty *propSsid; - WifiNetworkBssidProperty *propBssid; - WifiNetworkPskProperty *propPsk; - WifiNetworkWepKeyProperty *propWepKey; - WifiNetworkDefaultKeyIndexProperty *propDefKeyIdx; - WifiNetworkPriorityProperty *propPriority; - WifiNetworkKeyManagementProperty *propKeyManagement; - WifiNetworkProtocolsProperty *propProtocols; - WifiNetworkAuthAlgorithmsProperty *propAuthAlgorithms; - WifiNetworkPairwiseCiphersProperty *propPairwiseCiphers; - WifiNetworkGroupCiphersProperty *propGroupCiphers; - WifiNetworkHiddenSsidProperty *propHiddenSsid; - } mStaticProperties; -private: - WifiNetwork(); - -public: - WifiNetwork(WifiController *c, Supplicant *suppl, int networkId); - WifiNetwork(WifiController *c, Supplicant *suppl, const char *data); - - virtual ~WifiNetwork(); - - WifiNetwork *clone(); - int attachProperties(PropertyManager *pm, const char *nsName); - int detachProperties(PropertyManager *pm, const char *nsName); - - int getNetworkId() { return mNetid; } - const char *getSsid() { return mSsid; } - const char *getBssid() { return mBssid; } - const char *getPsk() { return mPsk; } - const char *getWepKey(int idx) { return mWepKeys[idx]; } - int getDefaultKeyIndex() { return mDefaultKeyIndex; } - int getPriority() { return mPriority; } - const char *getHiddenSsid() { return mHiddenSsid; } - uint32_t getKeyManagement() { return mKeyManagement; } - uint32_t getProtocols() { return mProtocols; } - uint32_t getAuthAlgorithms() { return mAuthAlgorithms; } - uint32_t getPairwiseCiphers() { return mPairwiseCiphers; } - uint32_t getGroupCiphers() { return mGroupCiphers; } - bool getEnabled() { return mEnabled; } - Controller *getController() { return (Controller *) mController; } - - int setEnabled(bool enabled); - int setSsid(const char *ssid); - int setBssid(const char *bssid); - int setPsk(const char *psk); - int setWepKey(int idx, const char *key); - int setDefaultKeyIndex(int idx); - int setPriority(int pri); - int setHiddenSsid(const char *ssid); - int setKeyManagement(uint32_t mask); - int setProtocols(uint32_t mask); - int setAuthAlgorithms(uint32_t mask); - int setPairwiseCiphers(uint32_t mask); - int setGroupCiphers(uint32_t mask); - - // XXX:Should this really be exposed?.. meh - int refresh(); - -private: - int parseKeyManagementMask(const char *buffer, uint32_t *mask); - int parseProtocolsMask(const char *buffer, uint32_t *mask); - int parseAuthAlgorithmsMask(const char *buffer, uint32_t *mask); - int parsePairwiseCiphersMask(const char *buffer, uint32_t *mask); - int parseGroupCiphersMask(const char *buffer, uint32_t *mask); - void createProperties(); -}; - -typedef android::List<WifiNetwork *> WifiNetworkCollection; - -#endif |
