summaryrefslogtreecommitdiffstats
path: root/nexus/WifiNetwork.h
diff options
context:
space:
mode:
Diffstat (limited to 'nexus/WifiNetwork.h')
-rw-r--r--nexus/WifiNetwork.h356
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