diff options
Diffstat (limited to 'wifi/1.5/default/hidl_struct_util.cpp')
-rw-r--r-- | wifi/1.5/default/hidl_struct_util.cpp | 98 |
1 files changed, 74 insertions, 24 deletions
diff --git a/wifi/1.5/default/hidl_struct_util.cpp b/wifi/1.5/default/hidl_struct_util.cpp index 91a82a7661..578f3e2f0f 100644 --- a/wifi/1.5/default/hidl_struct_util.cpp +++ b/wifi/1.5/default/hidl_struct_util.cpp @@ -1280,7 +1280,7 @@ bool convertHidlNanEnableRequestToLegacy( bool convertHidlNanEnableRequest_1_4ToLegacy( const V1_4::NanEnableRequest& hidl_request1, - const V1_2::NanConfigRequestSupplemental& hidl_request2, + const NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanEnableRequest* legacy_request) { if (!legacy_request) { LOG(ERROR) @@ -1295,14 +1295,60 @@ bool convertHidlNanEnableRequest_1_4ToLegacy( legacy_request->config_discovery_beacon_int = 1; legacy_request->discovery_beacon_interval = - hidl_request2.discoveryBeaconIntervalMs; + hidl_request2.V1_2.discoveryBeaconIntervalMs; legacy_request->config_nss = 1; - legacy_request->nss = hidl_request2.numberOfSpatialStreamsInDiscovery; + legacy_request->nss = hidl_request2.V1_2.numberOfSpatialStreamsInDiscovery; legacy_request->config_dw_early_termination = 1; legacy_request->enable_dw_termination = - hidl_request2.enableDiscoveryWindowEarlyTermination; + hidl_request2.V1_2.enableDiscoveryWindowEarlyTermination; legacy_request->config_enable_ranging = 1; - legacy_request->enable_ranging = hidl_request2.enableRanging; + legacy_request->enable_ranging = hidl_request2.V1_2.enableRanging; + + return true; +} + +bool convertHidlNanEnableRequest_1_5ToLegacy( + const V1_4::NanEnableRequest& hidl_request1, + const NanConfigRequestSupplemental& hidl_request2, + legacy_hal::NanEnableRequest* legacy_request) { + if (!legacy_request) { + LOG(ERROR) + << "convertHidlNanEnableRequest_1_5ToLegacy: null legacy_request"; + return false; + } + + *legacy_request = {}; + if (!convertHidlNanEnableRequest_1_4ToLegacy(hidl_request1, hidl_request2, + legacy_request)) { + return false; + } + + legacy_request->config_enable_instant_mode = 1; + legacy_request->enable_instant_mode = + hidl_request2.enableInstantCommunicationMode; + + return true; +} + +bool convertHidlNanConfigRequest_1_5ToLegacy( + const V1_4::NanConfigRequest& hidl_request1, + const NanConfigRequestSupplemental& hidl_request2, + legacy_hal::NanConfigRequest* legacy_request) { + if (!legacy_request) { + LOG(ERROR) + << "convertHidlNanConfigRequest_1_5ToLegacy: null legacy_request"; + return false; + } + + *legacy_request = {}; + if (!convertHidlNanConfigRequest_1_4ToLegacy(hidl_request1, hidl_request2, + legacy_request)) { + return false; + } + + legacy_request->config_enable_instant_mode = 1; + legacy_request->enable_instant_mode = + hidl_request2.enableInstantCommunicationMode; return true; } @@ -1794,7 +1840,7 @@ bool convertHidlNanConfigRequestToLegacy( bool convertHidlNanConfigRequest_1_4ToLegacy( const V1_4::NanConfigRequest& hidl_request1, - const V1_2::NanConfigRequestSupplemental& hidl_request2, + const NanConfigRequestSupplemental& hidl_request2, legacy_hal::NanConfigRequest* legacy_request) { if (!legacy_request) { LOG(ERROR) << "convertHidlNanConfigRequest_1_4ToLegacy: legacy_request " @@ -1809,14 +1855,14 @@ bool convertHidlNanConfigRequest_1_4ToLegacy( legacy_request->config_discovery_beacon_int = 1; legacy_request->discovery_beacon_interval = - hidl_request2.discoveryBeaconIntervalMs; + hidl_request2.V1_2.discoveryBeaconIntervalMs; legacy_request->config_nss = 1; - legacy_request->nss = hidl_request2.numberOfSpatialStreamsInDiscovery; + legacy_request->nss = hidl_request2.V1_2.numberOfSpatialStreamsInDiscovery; legacy_request->config_dw_early_termination = 1; legacy_request->enable_dw_termination = - hidl_request2.enableDiscoveryWindowEarlyTermination; + hidl_request2.V1_2.enableDiscoveryWindowEarlyTermination; legacy_request->config_enable_ranging = 1; - legacy_request->enable_ranging = hidl_request2.enableRanging; + legacy_request->enable_ranging = hidl_request2.V1_2.enableRanging; return true; } @@ -2023,27 +2069,31 @@ bool convertLegacyNanCapabilitiesResponseToHidl( } *hidl_response = {}; - hidl_response->maxConcurrentClusters = + hidl_response->V1_0.maxConcurrentClusters = legacy_response.max_concurrent_nan_clusters; - hidl_response->maxPublishes = legacy_response.max_publishes; - hidl_response->maxSubscribes = legacy_response.max_subscribes; - hidl_response->maxServiceNameLen = legacy_response.max_service_name_len; - hidl_response->maxMatchFilterLen = legacy_response.max_match_filter_len; - hidl_response->maxTotalMatchFilterLen = + hidl_response->V1_0.maxPublishes = legacy_response.max_publishes; + hidl_response->V1_0.maxSubscribes = legacy_response.max_subscribes; + hidl_response->V1_0.maxServiceNameLen = + legacy_response.max_service_name_len; + hidl_response->V1_0.maxMatchFilterLen = + legacy_response.max_match_filter_len; + hidl_response->V1_0.maxTotalMatchFilterLen = legacy_response.max_total_match_filter_len; - hidl_response->maxServiceSpecificInfoLen = + hidl_response->V1_0.maxServiceSpecificInfoLen = legacy_response.max_service_specific_info_len; - hidl_response->maxExtendedServiceSpecificInfoLen = + hidl_response->V1_0.maxExtendedServiceSpecificInfoLen = legacy_response.max_sdea_service_specific_info_len; - hidl_response->maxNdiInterfaces = legacy_response.max_ndi_interfaces; - hidl_response->maxNdpSessions = legacy_response.max_ndp_sessions; - hidl_response->maxAppInfoLen = legacy_response.max_app_info_len; - hidl_response->maxQueuedTransmitFollowupMsgs = + hidl_response->V1_0.maxNdiInterfaces = legacy_response.max_ndi_interfaces; + hidl_response->V1_0.maxNdpSessions = legacy_response.max_ndp_sessions; + hidl_response->V1_0.maxAppInfoLen = legacy_response.max_app_info_len; + hidl_response->V1_0.maxQueuedTransmitFollowupMsgs = legacy_response.max_queued_transmit_followup_msgs; - hidl_response->maxSubscribeInterfaceAddresses = + hidl_response->V1_0.maxSubscribeInterfaceAddresses = legacy_response.max_subscribe_address; - hidl_response->supportedCipherSuites = + hidl_response->V1_0.supportedCipherSuites = legacy_response.cipher_suites_supported; + hidl_response->instantCommunicationModeSupportFlag = + legacy_response.is_instant_mode_supported; return true; } |