Author: colin Date: 2010-01-26 18:02:40 +0100 (Tue, 26 Jan 2010) New Revision: 35296 Changeset: http://dev.haiku-os.org/changeset/35296/haiku Added: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/requests/ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/requests/ConnectRequest.h Removed: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/AuthenticateRequest.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/AuthenticateRequest.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/JoinRequest.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/JoinRequest.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Request.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Request.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Requests.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/ConnectRequest.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Request.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Requests.h Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/ieee80211_control.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Device.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/DeviceContext.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Jamfile haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Jamfile haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.h haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Jamfile haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.h Log: * Refactoring of classes and file layout. * Introduce concept of services. Service objects are intended to run as a single thread providing only one solely service. * Implement framework for AuthenticateService and DistributeService. * Make use of a dedicated parameter for returning results of requests, instead of using the return parameter directly. * Where applicable return parameters are used as a compensation for missing exceptions in kernel land. * Introduce concept of FrameFactory. It creates Frame objects out of requests. * Introduce Frame class, which contains the data meant to be transmitted over the air. Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/ieee80211_control.cpp =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/ieee80211_control.cpp 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/ieee80211_control.cpp 2010-01-26 17:02:40 UTC (rev 35296) @@ -14,6 +14,7 @@ using namespace Ieee80211; +using namespace StationManagement; extern Stack gIeee80211Stack; @@ -52,7 +53,7 @@ return B_BAD_VALUE; Device* device = _device->genericDevice; - StationManagement::Request* request = NULL; + Request<RequestResult>* request = NULL; gIeee80211Stack.SetupRequestConverter(device, _request); status_t status = gIeee80211Stack.ConvertToStationManagementRequest( @@ -63,7 +64,7 @@ switch (_request->type) { case IEEE80211_IOC_CONNECT: status = gIeee80211Stack.ConnectToNetwork( - static_cast<ConnectRequest*>(request)); + reinterpret_cast<ConnectRequest*>(request)); break; default: status = B_NOT_SUPPORTED; Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Device.h =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Device.h 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Device.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -2,8 +2,8 @@ * Copyright 2010 Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef DEVICE_H_ -#define DEVICE_H_ +#ifndef IEEE80211_STACK_DEVICE_H_ +#define IEEE80211_STACK_DEVICE_H_ #include <SupportDefs.h> @@ -27,4 +27,4 @@ } /* namespace Ieee80211 */ -#endif /* DEVICE_H_ */ +#endif /* IEEE80211_STACK_DEVICE_H_ */ Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/DeviceContext.h =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/DeviceContext.h 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/DeviceContext.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -2,8 +2,8 @@ * Copyright 2010 Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef DEVICECONTEXT_H_ -#define DEVICECONTEXT_H_ +#ifndef IEEE80211_DEVICE_CONTEXT_H_ +#define IEEE80211_DEVICE_CONTEXT_H_ namespace Ieee80211 { @@ -13,4 +13,4 @@ } /* namespace Ieee80211 */ -#endif /* DEVICECONTEXT_H_ */ +#endif /* IEEE80211_DEVICE_CONTEXT_H_ */ Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Jamfile =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Jamfile 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Jamfile 2010-01-26 17:02:40 UTC (rev 35296) @@ -8,6 +8,8 @@ KernelMergeObject ieee80211_stack.o : Device.cpp + Frame.cpp + FrameFactory.cpp Stack.cpp : : mac_management.o @@ -16,3 +18,4 @@ HaikuSubInclude mac_management ; HaikuSubInclude station_management ; +HaikuSubInclude utilities ; \ No newline at end of file Copied: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.cpp (from rev 35217, haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Request.cpp) =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.cpp (rev 0) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.cpp 2010-01-26 17:02:40 UTC (rev 35296) @@ -0,0 +1,36 @@ +/* + * Copyright 2010 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Colin Günther, coling@xxxxxx + */ + + +/*! Base class for all requests. + Provides a general interface and some default implementations. + */ + + +#include <Request.h> + + +using namespace Ieee80211; + + +/*! Waits until the request was completed. + Completion means that the request was either successfully carried out or + that there was an error during request-processing. + Such an error may arise, due to insufficient data provided by the request. + + \param result of the processed request. + \return B_OK The result can be used. + \return Else No result returned, due to an unrecoverable error during + request processing. + */ +template<class ResultType> +status_t +Request::WaitForConfirm(ResultType** result) +{ + return B_OK; +} Property changes on: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Copied: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.h (from rev 35216, haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Request.h) =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.h (rev 0) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -0,0 +1,43 @@ +/* + * Copyright 2010 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef IEEE80211_REQUEST_H_ +#define IEEE80211_REQUEST_H_ + + +#include <SupportDefs.h> + + +namespace Ieee80211 { + +template<class ResultType> +class Request { +public: + status_t WaitForConfirm(ResultType**); +}; + + +/* #pragma mark - implementation */ + + +/*! Waits until the request was completed. + Completion means that the request was either successfully carried out or + that there was an error during request-processing. + Such an error may arise, due to insufficient data provided by the request. + + \param result of the processed request. + \return B_OK The result can be used. + \return Else No result returned, due to an unrecoverable error during + request processing. + */ +template<class ResultType> +status_t +Request<ResultType>::WaitForConfirm(ResultType** result) +{ + return B_OK; +} + +} /* namespace Ieee80211 */ + +#endif /* IEEE80211_REQUEST_H_ */ Property changes on: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Request.h ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.cpp =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.cpp 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.cpp 2010-01-26 17:02:40 UTC (rev 35296) @@ -20,6 +20,7 @@ using namespace Ieee80211; +using namespace StationManagement; /*! Tells whether the Stack class was constructed successful. @@ -127,7 +128,7 @@ \return B_ERROR Request couldn't be converted. */ status_t -Stack::ConvertToStationManagementRequest(StationManagement::Request** request) +Stack::ConvertToStationManagementRequest(Request<RequestResult>** request) { return B_OK; } @@ -141,7 +142,7 @@ \return B_ERROR Connection failed. */ status_t -Stack::ConnectToNetwork(StationManagement::ConnectRequest* request) +Stack::ConnectToNetwork(ConnectRequest* request) { return fStationManagement.ConnectToNetwork(request); } Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.h =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.h 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/Stack.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -2,8 +2,8 @@ * Copyright 2010 Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef STACK_H_ -#define STACK_H_ +#ifndef IEEE80211_STACK_H_ +#define IEEE80211_STACK_H_ #include <SupportDefs.h> @@ -11,7 +11,10 @@ #include <ieee80211_control.h> #include <Device.h> -#include <station_management.h> +#include <Request.h> +#include <station_management/Roster.h> +#include <station_management/requests/ConnectRequest.h> +#include <station_management/results/RequestResult.h> namespace Ieee80211 { @@ -26,7 +29,8 @@ void DeactivateDevice(Device*); void SetupRequestConverter(Device*, ieee80211req_t*); - status_t ConvertToStationManagementRequest(StationManagement::Request**); + status_t ConvertToStationManagementRequest( + Request<StationManagement::RequestResult>**); status_t ConnectToNetwork(StationManagement::ConnectRequest*); @@ -36,4 +40,4 @@ } /* namespace Ieee80211 */ -#endif /* STACK_H_ */ +#endif /* IEEE80211_STACK_H_ */ Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Jamfile =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Jamfile 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Jamfile 2010-01-26 17:02:40 UTC (rev 35296) @@ -5,9 +5,12 @@ KernelMergeObject mac_management.o : Roster.cpp + : : + mac_management_requests.o + mac_management_services.o + ; - # Requests - Request.cpp - AuthenticateRequest.cpp - JoinRequest.cpp - ; +HaikuSubInclude frames ; +HaikuSubInclude requests ; +HaikuSubInclude results ; +HaikuSubInclude services ; Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.cpp =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.cpp 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.cpp 2010-01-26 17:02:40 UTC (rev 35296) @@ -36,7 +36,7 @@ status_t Roster::AddAuthenticateRequest(AuthenticateRequest *request) { - return B_OK; + return fAuthenticateService.Process(request); } Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.h =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.h 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/Roster.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -2,13 +2,17 @@ * Copyright 2010 Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef MAC_MANAGEMENT_ROSTER_H_ -#define MAC_MANAGEMENT_ROSTER_H_ +#ifndef IEEE80211_MAC_MANAGEMENT_ROSTER_H_ +#define IEEE80211_MAC_MANAGEMENT_ROSTER_H_ -#include <mac_management/Requests.h> +#include <SupportDefs.h> +#include <mac_management/requests/AuthenticateRequest.h> +#include <mac_management/requests/JoinRequest.h> +#include <mac_management/services/AuthenticateService.h> + namespace Ieee80211 { namespace MacManagement { @@ -16,9 +20,12 @@ public: status_t AddAuthenticateRequest(AuthenticateRequest*); status_t AddJoinRequest(JoinRequest*); + +private: + AuthenticateService fAuthenticateService; }; } /* namespace MacManagement */ } /* namespace Ieee80211 */ -#endif /* MAC_MANAGEMENT_ROSTER_H_ */ +#endif /* IEEE80211_MAC_MANAGEMENT_ROSTER_H_ */ Copied: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.cpp (from rev 35243, haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/AuthenticateRequest.cpp) =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.cpp (rev 0) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.cpp 2010-01-26 17:02:40 UTC (rev 35296) @@ -0,0 +1,32 @@ +/* + * Copyright 2010 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Colin Günther, coling@xxxxxx + */ + + +/*! Contains the data for the authentication request. + + \sa IEEE Standard 802.11-2007, section 10.3.4.1 "MLME-AUTHENTICATE.request" + */ + +#include <mac_management/requests/AuthenticateRequest.h> + + +using namespace Ieee80211; + + +/*! Constructs a new object by using relevant data from the ConnectRequest. + + \param request ConnectRequest object, containing data needed for + proper authentication. + \return NULL not enough memory. + \return AuthenticateRequest otherwise. + */ +MacManagement::AuthenticateRequest::AuthenticateRequest( + StationManagement::ConnectRequest* request) +{ + return; +} Copied: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.h (from rev 35243, haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/AuthenticateRequest.h) =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.h (rev 0) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/AuthenticateRequest.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -0,0 +1,29 @@ +/* + * Copyright 2010 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef IEEE80211_AUTHENTICATION_REQUEST_H_ +#define IEEE80211_AUTHENTICATION_REQUEST_H_ + + +#include <Request.h> +#include <mac_management/results/AuthenticateRequestResult.h> +#include <station_management/requests/ConnectRequest.h> + + +namespace Ieee80211 { + +namespace MacManagement { +class AuthenticateRequest; +} /* namespace MacManagement */ + + +class MacManagement::AuthenticateRequest + : public Request<MacManagement::AuthenticateRequestResult> { +public: + AuthenticateRequest(StationManagement::ConnectRequest*); +}; + +} /* namespace Ieee80211 */ + +#endif /* IEEE80211_AUTHENTICATION_REQUEST_H_ */ Copied: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.cpp (from rev 35243, haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/JoinRequest.cpp) =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.cpp (rev 0) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.cpp 2010-01-26 17:02:40 UTC (rev 35296) @@ -0,0 +1,33 @@ +/* + * Copyright 2010 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Colin Günther, coling@xxxxxx + */ + + +/*! Contains the data for the join (synchronization) request. + + \sa IEEE Standard 802.11-2007, section 10.3.3.1 "MLME-JOIN.request" + */ + + +#include <mac_management/requests/JoinRequest.h> +#include <station_management/requests/ConnectRequest.h> + + +using namespace Ieee80211; + + +/*! Constructs a new object by using relevant data from the ConnectRequest. + + \param request ConnectRequest object, containing data needed for joining. + \return NULL not enough memory. + \return JoinRequest otherwise. + */ +MacManagement::JoinRequest::JoinRequest( + StationManagement::ConnectRequest* request) +{ + return; +} Property changes on: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Copied: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.h (from rev 35243, haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/JoinRequest.h) =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.h (rev 0) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -0,0 +1,29 @@ +/* + * Copyright 2010 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef IEEE80211_JOIN_REQUEST_H_ +#define IEEE80211_JOIN_REQUEST_H_ + + +#include <Request.h> +#include <mac_management/results/JoinRequestResult.h> +#include <station_management/requests/ConnectRequest.h> + + +namespace Ieee80211 { + +namespace MacManagement { +class JoinRequest; +} /* namespace MacManagement */ + + +class MacManagement::JoinRequest + : public Request<MacManagement::JoinRequestResult> { +public: + JoinRequest(StationManagement::ConnectRequest*); +}; + +} /* namespace Ieee80211 */ + +#endif /* IEEE80211_JOIN_REQUEST_H_ */ Property changes on: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mac_management/requests/JoinRequest.h ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Jamfile =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Jamfile 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Jamfile 2010-01-26 17:02:40 UTC (rev 35296) @@ -6,3 +6,6 @@ KernelMergeObject station_management.o : Roster.cpp ; + +HaikuSubInclude requests ; +HaikuSubInclude results ; Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.cpp =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.cpp 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.cpp 2010-01-26 17:02:40 UTC (rev 35296) @@ -54,17 +54,23 @@ status = fMacRoster.AddJoinRequest(&joinRequest); if (status != B_OK) return status; - status = joinRequest.WaitForConfirm(); + + MacManagement::JoinRequestResult* joinResult = NULL; + status = joinRequest.WaitForConfirm(&joinResult); if (status != B_OK) return status; + // TODO: Actually test the joinResult before proceed MacManagement::AuthenticateRequest authenticationRequest(request); status = fMacRoster.AddAuthenticateRequest(&authenticationRequest); if (status != B_OK) return status; - status = authenticationRequest.WaitForConfirm(); + + MacManagement::AuthenticateRequestResult* authenticateResult = NULL; + status = authenticationRequest.WaitForConfirm(&authenticateResult); if (status != B_OK) return status; + // TODO: Actually test the authenticateResult before proceed return B_OK; } Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.h =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.h 2010-01-26 14:44:58 UTC (rev 35295) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/Roster.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -2,14 +2,14 @@ * Copyright 2010 Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef STATION_MANAGEMENT_ROSTER_H_ -#define STATION_MANAGEMENT_ROSTER_H_ +#ifndef IEEE80211_STATION_MANAGEMENT_ROSTER_H_ +#define IEEE80211_STATION_MANAGEMENT_ROSTER_H_ #include <SupportDefs.h> #include <mac_management/Roster.h> -#include <station_management/Requests.h> +#include <station_management/requests/ConnectRequest.h> namespace Ieee80211 { @@ -32,4 +32,4 @@ } /* namespace Ieee80211 */ -#endif /* STATION_MANAGEMENT_ROSTER_H_ */ +#endif /* IEEE80211_STATION_MANAGEMENT_ROSTER_H_ */ Copied: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/requests/ConnectRequest.h (from rev 35216, haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/ConnectRequest.h) =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/requests/ConnectRequest.h (rev 0) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/requests/ConnectRequest.h 2010-01-26 17:02:40 UTC (rev 35296) @@ -0,0 +1,24 @@ +/* + * Copyright 2010 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef IEEE80211_CONNECT_REQUEST_H_ +#define IEEE80211_CONNECT_REQUEST_H_ + + +#include <Request.h> +#include <station_management/results/ConnectRequestResult.h> + + +namespace Ieee80211 { +namespace StationManagement { +class ConnectRequest; +} /* namespace StationManagement */ + +class StationManagement::ConnectRequest + : public Request<StationManagement::ConnectRequestResult> { +}; + +} /* namespace Ieee80211 */ + +#endif /* IEEE80211_CONNECT_REQUEST_H_ */ Property changes on: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/station_management/requests/ConnectRequest.h ___________________________________________________________________ Added: svn:mime-type + text/plain