Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a63de989 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes I336c21fd,I9bd9c2a9,I33fef133

* changes:
  wifi(implementation): Fix formatting
  wifi(implementation): Dual interface support
  wifi(implementation): Use real iface names
parents 6fed84a3 abcf78fe
Loading
Loading
Loading
Loading
+65 −62
Original line number Diff line number Diff line
@@ -37,7 +37,8 @@ class HidlDeathHandler : public android::hardware::hidl_death_recipient {
    // Death notification for callbacks.
    void serviceDied(
        uint64_t cookie,
      const android::wp<android::hidl::base::V1_0::IBase>& /* who */) override {
        const android::wp<android::hidl::base::V1_0::IBase>& /* who */)
        override {
        cb_function_(cookie);
    }

@@ -61,14 +62,14 @@ class HidlCallbackHandler {
   public:
    HidlCallbackHandler()
        : death_handler_(new HidlDeathHandler<CallbackType>(
            std::bind(&HidlCallbackHandler::onObjectDeath,
                      this,
              std::bind(&HidlCallbackHandler::onObjectDeath, this,
                        std::placeholders::_1))) {}
    ~HidlCallbackHandler() = default;

    bool addCallback(const sp<CallbackType>& cb) {
        // TODO(b/33818800): Can't compare proxies yet. So, use the cookie
    // (callback proxy's raw pointer) to track the death of individual clients.
        // (callback proxy's raw pointer) to track the death of individual
        // clients.
        uint64_t cookie = reinterpret_cast<uint64_t>(cb.get());
        if (cb_set_.find(cb) != cb_set_.end()) {
            LOG(WARNING) << "Duplicate death notification registration";
@@ -82,7 +83,9 @@ class HidlCallbackHandler {
        return true;
    }

  const std::set<android::sp<CallbackType>>& getCallbacks() { return cb_set_; }
    const std::set<android::sp<CallbackType>>& getCallbacks() {
        return cb_set_;
    }

    // Death notification for callbacks.
    void onObjectDeath(uint64_t cookie) {
+47 −60
Original line number Diff line number Diff line
@@ -41,11 +41,8 @@ using namespace android::hardware::wifi::V1_0;
// Use for HIDL methods which return only an instance of WifiStatus.
template <typename ObjT, typename WorkFuncT, typename... Args>
Return<void> validateAndCall(
    ObjT* obj,
    WifiStatusCode status_code_if_invalid,
    WorkFuncT&& work,
    const std::function<void(const WifiStatus&)>& hidl_cb,
    Args&&... args) {
    ObjT* obj, WifiStatusCode status_code_if_invalid, WorkFuncT&& work,
    const std::function<void(const WifiStatus&)>& hidl_cb, Args&&... args) {
    const auto lock = hidl_sync_util::acquireGlobalLock();
    if (obj->isValid()) {
        hidl_cb((obj->*work)(std::forward<Args>(args)...));
@@ -60,11 +57,8 @@ Return<void> validateAndCall(
// Note: Only used by IWifi::stop() currently.
template <typename ObjT, typename WorkFuncT, typename... Args>
Return<void> validateAndCallWithLock(
    ObjT* obj,
    WifiStatusCode status_code_if_invalid,
    WorkFuncT&& work,
    const std::function<void(const WifiStatus&)>& hidl_cb,
    Args&&... args) {
    ObjT* obj, WifiStatusCode status_code_if_invalid, WorkFuncT&& work,
    const std::function<void(const WifiStatus&)>& hidl_cb, Args&&... args) {
    auto lock = hidl_sync_util::acquireGlobalLock();
    if (obj->isValid()) {
        hidl_cb((obj->*work)(&lock, std::forward<Args>(args)...));
@@ -78,9 +72,7 @@ Return<void> validateAndCallWithLock(
// value.
template <typename ObjT, typename WorkFuncT, typename ReturnT, typename... Args>
Return<void> validateAndCall(
    ObjT* obj,
    WifiStatusCode status_code_if_invalid,
    WorkFuncT&& work,
    ObjT* obj, WifiStatusCode status_code_if_invalid, WorkFuncT&& work,
    const std::function<void(const WifiStatus&, ReturnT)>& hidl_cb,
    Args&&... args) {
    const auto lock = hidl_sync_util::acquireGlobalLock();
@@ -98,15 +90,10 @@ Return<void> validateAndCall(

// Use for HIDL methods which return instance of WifiStatus and 2 return
// values.
template <typename ObjT,
          typename WorkFuncT,
          typename ReturnT1,
          typename ReturnT2,
          typename... Args>
template <typename ObjT, typename WorkFuncT, typename ReturnT1,
          typename ReturnT2, typename... Args>
Return<void> validateAndCall(
    ObjT* obj,
    WifiStatusCode status_code_if_invalid,
    WorkFuncT&& work,
    ObjT* obj, WifiStatusCode status_code_if_invalid, WorkFuncT&& work,
    const std::function<void(const WifiStatus&, ReturnT1, ReturnT2)>& hidl_cb,
    Args&&... args) {
    const auto lock = hidl_sync_util::acquireGlobalLock();
@@ -124,7 +111,7 @@ Return<void> validateAndCall(
    return Void();
}

}  // namespace hidl_util
}  // namespace hidl_return_util
}  // namespace implementation
}  // namespace V1_2
}  // namespace wifi
+2031 −1822

File changed.

Preview size limit exceeded, changes collapsed.

+8 −10
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@

#include <vector>

#include <android/hardware/wifi/1.0/types.h>
#include <android/hardware/wifi/1.0/IWifiChip.h>
#include <android/hardware/wifi/1.0/types.h>
#include <android/hardware/wifi/1.1/IWifiChip.h>

#include "wifi_legacy_hal.h"
@@ -41,8 +41,7 @@ using namespace android::hardware::wifi::V1_0;

// Chip conversion methods.
bool convertLegacyFeaturesToHidlChipCapabilities(
    uint32_t legacy_feature_set,
    uint32_t legacy_logger_feature_set,
    uint32_t legacy_feature_set, uint32_t legacy_logger_feature_set,
    uint32_t* hidl_caps);
bool convertLegacyDebugRingBufferStatusToHidl(
    const legacy_hal::wifi_ring_buffer_status& legacy_status,
@@ -58,8 +57,7 @@ legacy_hal::wifi_power_scenario convertHidlTxPowerScenarioToLegacy(

// STA iface conversion methods.
bool convertLegacyFeaturesToHidlStaCapabilities(
    uint32_t legacy_feature_set,
    uint32_t legacy_logger_feature_set,
    uint32_t legacy_feature_set, uint32_t legacy_logger_feature_set,
    uint32_t* hidl_caps);
bool convertLegacyApfCapabilitiesToHidl(
    const legacy_hal::PacketFilterCapabilities& legacy_caps,
@@ -74,8 +72,7 @@ bool convertHidlGscanParamsToLegacy(
// |has_ie_data| indicates whether or not the wifi_scan_result includes 802.11
// Information Elements (IEs)
bool convertLegacyGscanResultToHidl(
    const legacy_hal::wifi_scan_result& legacy_scan_result,
    bool has_ie_data,
    const legacy_hal::wifi_scan_result& legacy_scan_result, bool has_ie_data,
    StaScanResult* hidl_scan_result);
// |cached_results| is assumed to not include IEs.
bool convertLegacyVectorOfCachedGscanResultsToHidl(
@@ -101,8 +98,8 @@ bool convertLegacyVectorOfDebugRxPacketFateToHidl(
    std::vector<WifiDebugRxPacketFateReport>* hidl_fates);

// NAN iface conversion methods.
void convertToWifiNanStatus(legacy_hal::NanStatusType type, const char* str, size_t max_len,
    WifiNanStatus* wifiNanStatus);
void convertToWifiNanStatus(legacy_hal::NanStatusType type, const char* str,
                            size_t max_len, WifiNanStatus* wifiNanStatus);
bool convertHidlNanEnableRequestToLegacy(
    const NanEnableRequest& hidl_request,
    legacy_hal::NanEnableRequest* legacy_request);
@@ -133,7 +130,8 @@ bool convertLegacyNanCapabilitiesResponseToHidl(
bool convertLegacyNanMatchIndToHidl(const legacy_hal::NanMatchInd& legacy_ind,
                                    NanMatchInd* hidl_ind);
bool convertLegacyNanFollowupIndToHidl(
    const legacy_hal::NanFollowupInd& legacy_ind, NanFollowupReceivedInd* hidl_ind);
    const legacy_hal::NanFollowupInd& legacy_ind,
    NanFollowupReceivedInd* hidl_ind);
bool convertLegacyNanDataPathRequestIndToHidl(
    const legacy_hal::NanDataPathRequestInd& legacy_ind,
    NanDataPathRequestInd* hidl_ind);
+12 −12
Original line number Diff line number Diff line
@@ -25,8 +25,8 @@ using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;

int main(int /*argc*/, char** argv) {
  android::base::InitLogging(argv,
                             android::base::LogdLogger(android::base::SYSTEM));
    android::base::InitLogging(
        argv, android::base::LogdLogger(android::base::SYSTEM));
    LOG(INFO) << "Wifi Hal is booting up...";

    configureRpcThreadpool(1, true /* callerWillJoin */);
Loading