aboutsummaryrefslogtreecommitdiffstats
path: root/nexus/Supplicant.h
diff options
context:
space:
mode:
authorSan Mehat <san@google.com>2009-06-15 14:10:44 -0700
committerSan Mehat <san@google.com>2009-06-15 14:20:02 -0700
commit3aff2d1de59972684bf2ab798351be5544158239 (patch)
treee16fdc00ec3615dc4257ef1b57b2d0f49437fdcf /nexus/Supplicant.h
parent669a7011e7e23c0594242465caa15b46b92aa340 (diff)
downloadsystem_core-3aff2d1de59972684bf2ab798351be5544158239.tar.gz
system_core-3aff2d1de59972684bf2ab798351be5544158239.tar.bz2
system_core-3aff2d1de59972684bf2ab798351be5544158239.zip
Nexus: Clean up supplicant events, protocol, and continue plumbing
- Create SupplicantEvent classes for events - New SupplicantEventFactory for creating events - Extract Controller -> NetworkManager callbacks into IControllerHandler - Move ScanResult handling from Supplicant -> WifiController - Plumb more 'onConnected()' code - Instead of re-creating NetworkList every-time, merge in new entries - Extract SupplicantListener -> Supplicant callbacks into ISupplicantEventHandler - Move SupplicantListener callback handling to WifiController - Add unlocked version of lookupNetwork() - Save supplicant config after setting a WifiNetwork variable - Move property registration from WifiNetwork -> Supplicant - Change wifi enable broadcast messages - Add 3 new events: 'onAssociating', 'onAssociated', 'onConnectionTimeout' - Add support for handling KeyManagement Signed-off-by: San Mehat <san@google.com>
Diffstat (limited to 'nexus/Supplicant.h')
-rw-r--r--nexus/Supplicant.h43
1 files changed, 10 insertions, 33 deletions
diff --git a/nexus/Supplicant.h b/nexus/Supplicant.h
index 42f2f79a..3efbe4cd 100644
--- a/nexus/Supplicant.h
+++ b/nexus/Supplicant.h
@@ -19,38 +19,31 @@
struct wpa_ctrl;
class SupplicantListener;
-class SupplicantEvent;
class ServiceManager;
-class PropertyManager;
class Controller;
class WifiController;
+class SupplicantStatus;
#include <pthread.h>
-#include "ScanResult.h"
#include "WifiNetwork.h"
-#include "IPropertyProvider.h"
#include "ISupplicantEventHandler.h"
-class Supplicant : public IPropertyProvider, public ISupplicantEventHandler {
+class Supplicant {
private:
struct wpa_ctrl *mCtrl;
struct wpa_ctrl *mMonitor;
SupplicantListener *mListener;
- int mState;
ServiceManager *mServiceManager;
- PropertyManager *mPropMngr;
WifiController *mController;
char *mInterfaceName;
- ScanResultCollection *mLatestScanResults;
- pthread_mutex_t mLatestScanResultsLock;
-
- WifiNetworkCollection *mNetworks;
- pthread_mutex_t mNetworksLock;
+ WifiNetworkCollection *mNetworks;
+ pthread_mutex_t mNetworksLock;
+ ISupplicantEventHandler *mHandlers;
public:
- Supplicant(WifiController *wc, PropertyManager *propmngr);
+ Supplicant(WifiController *wc, ISupplicantEventHandler *handlers);
virtual ~Supplicant();
int start();
@@ -58,7 +51,6 @@ public:
bool isStarted();
int triggerScan(bool active);
- ScanResultCollection *createLatestScanResults();
WifiNetwork *createNetwork();
WifiNetwork *lookupNetwork(int networkId);
@@ -71,33 +63,18 @@ public:
size_t max);
int enableNetwork(int networkId, bool enabled);
- int getState() { return mState; }
+ SupplicantStatus *getStatus();
+
Controller *getController() { return (Controller *) mController; }
const char *getInterfaceName() { return mInterfaceName; }
- int set(const char *name, const char *value);
- const char *get(const char *name, char *buffer, size_t max);
+ int sendCommand(const char *cmd, char *reply, size_t *reply_len);
private:
int connectToSupplicant();
- int sendCommand(const char *cmd, char *reply, size_t *reply_len);
int setupConfig();
int retrieveInterfaceName();
-
- // ISupplicantEventHandler methods
- virtual int onConnectedEvent(SupplicantEvent *evt);
- virtual int onDisconnectedEvent(SupplicantEvent *evt);
- virtual int onTerminatingEvent(SupplicantEvent *evt);
- virtual int onPasswordChangedEvent(SupplicantEvent *evt);
- virtual int onEapNotificationEvent(SupplicantEvent *evt);
- virtual int onEapStartedEvent(SupplicantEvent *evt);
- virtual int onEapMethodEvent(SupplicantEvent *evt);
- virtual int onEapSuccessEvent(SupplicantEvent *evt);
- virtual int onEapFailureEvent(SupplicantEvent *evt);
- virtual int onScanResultsEvent(SupplicantEvent *evt);
- virtual int onStateChangeEvent(SupplicantEvent *evt);
- virtual int onLinkSpeedEvent(SupplicantEvent *evt);
- virtual int onDriverStateEvent(SupplicantEvent *evt);
+ WifiNetwork *lookupNetwork_UNLOCKED(int networkId);
};
#endif