[AWARE] Remove support for vendor-specific attributes

am: ccb1562771

Change-Id: I0c90ff4438e60402aedf06be3e664c8e72fa445f
This commit is contained in:
Etan Cohen
2017-02-10 00:56:45 +00:00
committed by android-build-merger
11 changed files with 4 additions and 448 deletions

View File

@@ -73,44 +73,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanBeaconSdfPayloadInd)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadInd
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanBeaconSdfPayloadRequest)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadRequest
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanCapabilities)
#
@@ -586,25 +548,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanVsaRxFrameMask)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.0::types.NanVsaRxFrameMask
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (RttBw)
#
@@ -1933,44 +1876,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanBeaconSdfPayloadInd)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadInd.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadInd
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanBeaconSdfPayloadRequest)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanBeaconSdfPayloadRequest.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.0::types.NanBeaconSdfPayloadRequest
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanCapabilities)
#
@@ -2446,25 +2351,6 @@ $(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (NanVsaRxFrameMask)
#
GEN := $(intermediates)/android/hardware/wifi/V1_0/NanVsaRxFrameMask.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.wifi@1.0::types.NanVsaRxFrameMask
$(GEN): $(LOCAL_PATH)/types.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
#
# Build types.hal (RttBw)
#

View File

@@ -240,19 +240,4 @@ interface IWifiNanIface extends IWifiIface {
*/
terminateDataPathRequest(CommandIdShort cmdId, uint32_t ndpInstanceId)
generates (WifiStatus status);
/**
* Configure NAN Beacon or SDF payload to include vendor-specific payload.
*
* @param cmdId command Id to use for this invocation.
* @param msg Instance of |NanBeaconSdfPayloadRequest|.
* @return status WifiStatus of the operation.
* Possible status codes:
* |WifiStatusCode.SUCCESS|,
* |WifiStatusCode.ERROR_WIFI_IFACE_INVALID|,
* |WifiStatusCode.ERROR_INVALID_ARGS|,
* |WifiStatusCode.ERROR_UNKNOWN|
*/
beaconSdfPayloadRequest(CommandIdShort cmdId, NanBeaconSdfPayloadRequest msg)
generates (WifiStatus status);
};

View File

@@ -194,18 +194,6 @@ interface IWifiNanIfaceEventCallback {
*/
oneway notifyTerminateDataPathResponse(CommandIdShort id, WifiNanStatus status);
/**
* Callback invoked in response to a request to include vendor-specific payload in beacon or SDF
* frames |beaconSdfPayloadRequest|.
*
* @param cmdId command Id corresponding to the original request.
* @param status WifiNanStatus of the operation. Possible status codes are:
* |NanStatusType.SUCCESS|
* |NanStatusType.INVALID_ARGS|
* |NanStatusType.INTERNAL_FAILURE|
*/
oneway notifyBeaconSdfPayloadResponse(CommandIdShort id, WifiNanStatus status);
/**
* Callbacks for the various asynchornous NAN Events.
*/
@@ -303,11 +291,4 @@ interface IWifiNanIfaceEventCallback {
* @param ndpInstanceId: data-path ID of the terminated data-path.
*/
oneway eventDataPathTerminated(uint32_t ndpInstanceId);
/**
* Asynchronous callback indicating vendor-specific payload received in NAN beacon or SDF frame.
*
* @param event: NanBeaconSdfPayloadInd containing event details.
*/
oneway eventBeaconSdfPayload(NanBeaconSdfPayloadInd event);
};

View File

@@ -1177,30 +1177,6 @@ bool convertHidlNanConfigRequestToLegacy(
return true;
}
bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
const NanBeaconSdfPayloadRequest& hidl_request,
legacy_hal::NanBeaconSdfPayloadRequest* legacy_request) {
if (!legacy_request) {
LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: legacy_request is null";
return false;
}
memset(legacy_request, 0, sizeof(legacy_hal::NanBeaconSdfPayloadRequest));
legacy_request->vsa.payload_transmit_flag = hidl_request.transmitInNext16dws ? 1 : 0;
legacy_request->vsa.tx_in_discovery_beacon = hidl_request.transmitInDiscoveryBeacon;
legacy_request->vsa.tx_in_sync_beacon = hidl_request.transmitInSyncBeacon;
legacy_request->vsa.tx_in_service_discovery = hidl_request.transmitInServiceDiscoveryFrame;
legacy_request->vsa.vendor_oui = hidl_request.vendorOui;
legacy_request->vsa.vsa_len = hidl_request.vsa.size();
if (legacy_request->vsa.vsa_len > NAN_MAX_VSA_DATA_LEN) {
LOG(ERROR) << "convertHidlNanBeaconSdfPayloadRequestToLegacy: vsa_len too long";
return false;
}
memcpy(legacy_request->vsa.vsa, hidl_request.vsa.data(), legacy_request->vsa.vsa_len);
return true;
}
bool convertHidlNanDataPathInitiatorRequestToLegacy(
const NanInitiateDataPathRequest& hidl_request,
legacy_hal::NanDataPathInitiatorRequest* legacy_request) {
@@ -1352,26 +1328,6 @@ bool convertLegacyNanFollowupIndToHidl(
return true;
}
bool convertLegacyNanBeaconSdfPayloadIndToHidl(
const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
NanBeaconSdfPayloadInd* hidl_ind) {
if (!hidl_ind) {
LOG(ERROR) << "convertLegacyNanBeaconSdfPayloadIndToHidl: hidl_ind is null";
return false;
}
hidl_ind->addr = hidl_array<uint8_t, 6>(legacy_ind.addr);
hidl_ind->isVsaReceived = legacy_ind.is_vsa_received == 1;
hidl_ind->vsaReceivedOnFrames = legacy_ind.vsa.vsa_received_on;
hidl_ind->vsaVendorOui = legacy_ind.vsa.vendor_oui;
hidl_ind->vsa = std::vector<uint8_t>(legacy_ind.vsa.vsa,
legacy_ind.vsa.vsa + legacy_ind.vsa.attr_len);
hidl_ind->isBeaconSdfPayloadReceived = legacy_ind.is_beacon_sdf_payload_received == 1;
hidl_ind->beaconSdfPayloadData = std::vector<uint8_t>(legacy_ind.data.frame_data,
legacy_ind.data.frame_data + legacy_ind.data.frame_len);
return true;
}
bool convertLegacyNanDataPathRequestIndToHidl(
const legacy_hal::NanDataPathRequestInd& legacy_ind,
NanDataPathRequestInd* hidl_ind) {

View File

@@ -110,9 +110,6 @@ bool convertHidlNanSubscribeRequestToLegacy(
bool convertHidlNanTransmitFollowupRequestToLegacy(
const NanTransmitFollowupRequest& hidl_request,
legacy_hal::NanTransmitFollowupRequest* legacy_request);
bool convertHidlNanBeaconSdfPayloadRequestToLegacy(
const NanBeaconSdfPayloadRequest& hidl_request,
legacy_hal::NanBeaconSdfPayloadRequest* legacy_request);
bool convertHidlNanDataPathInitiatorRequestToLegacy(
const NanInitiateDataPathRequest& hidl_request,
legacy_hal::NanDataPathInitiatorRequest* legacy_request);
@@ -135,9 +132,6 @@ bool convertLegacyNanDataPathRequestIndToHidl(
bool convertLegacyNanDataPathConfirmIndToHidl(
const legacy_hal::NanDataPathConfirmInd& legacy_ind,
NanDataPathConfirmInd* hidl_ind);
bool convertLegacyNanBeaconSdfPayloadIndToHidl(
const legacy_hal::NanBeaconSdfPayloadInd& legacy_ind,
NanBeaconSdfPayloadInd* hidl_ind);
// RTT controller conversion methods.
bool convertHidlVectorOfRttConfigToLegacy(

View File

@@ -120,14 +120,6 @@ WifiNanIface::WifiNanIface(
}
break;
}
case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD: {
for (const auto& callback : shared_ptr_this->event_callbacks_) {
if (!callback->notifyBeaconSdfPayloadResponse(id, wifiNanStatus).isOk()) {
LOG(ERROR) << "Failed to invoke the callback";
}
}
break;
}
case legacy_hal::NAN_GET_CAPABILITIES: {
NanCapabilities hidl_struct;
if (!hidl_struct_util::convertLegacyNanCapabilitiesResponseToHidl(
@@ -183,6 +175,8 @@ WifiNanIface::WifiNanIface(
}
break;
}
case legacy_hal::NAN_RESPONSE_BEACON_SDF_PAYLOAD:
/* fall through */
case legacy_hal::NAN_RESPONSE_TCA:
/* fall through */
case legacy_hal::NAN_RESPONSE_STATS:
@@ -402,24 +396,8 @@ WifiNanIface::WifiNanIface(
};
callback_handlers.on_event_beacon_sdf_payload = [weak_ptr_this](
const legacy_hal::NanBeaconSdfPayloadInd& msg) {
const auto shared_ptr_this = weak_ptr_this.promote();
if (!shared_ptr_this.get() || !shared_ptr_this->isValid()) {
LOG(ERROR) << "Callback invoked on an invalid object";
return;
}
NanBeaconSdfPayloadInd hidl_struct;
if (!hidl_struct_util::convertLegacyNanBeaconSdfPayloadIndToHidl(
msg, &hidl_struct)) {
LOG(ERROR) << "Failed to convert nan capabilities response";
return;
}
for (const auto& callback : shared_ptr_this->event_callbacks_) {
if (!callback->eventBeaconSdfPayload(hidl_struct).isOk()) {
LOG(ERROR) << "Failed to invoke the callback";
}
}
const legacy_hal::NanBeaconSdfPayloadInd& /* msg */) {
LOG(ERROR) << "on_event_beacon_sdf_payload - should not be called";
};
legacy_hal::wifi_error legacy_status =
@@ -621,18 +599,6 @@ Return<void> WifiNanIface::terminateDataPathRequest(uint16_t cmd_id, uint32_t nd
ndpInstanceId);
}
Return<void> WifiNanIface::beaconSdfPayloadRequest(
uint16_t cmd_id,
const NanBeaconSdfPayloadRequest& msg,
beaconSdfPayloadRequest_cb hidl_status_cb) {
return validateAndCall(this,
WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
&WifiNanIface::beaconSdfPayloadRequestInternal,
hidl_status_cb,
cmd_id,
msg);
}
std::pair<WifiStatus, std::string> WifiNanIface::getNameInternal() {
return {createWifiStatus(WifiStatusCode::SUCCESS), ifname_};
}
@@ -783,16 +749,6 @@ WifiStatus WifiNanIface::terminateDataPathRequestInternal(
free(legacy_msg);
return createWifiStatusFromLegacyError(legacy_status);
}
WifiStatus WifiNanIface::beaconSdfPayloadRequestInternal(
uint16_t cmd_id, const NanBeaconSdfPayloadRequest& msg) {
legacy_hal::NanBeaconSdfPayloadRequest legacy_msg;
if (!hidl_struct_util::convertHidlNanBeaconSdfPayloadRequestToLegacy(msg, &legacy_msg)) {
return createWifiStatus(WifiStatusCode::ERROR_INVALID_ARGS);
}
legacy_hal::wifi_error legacy_status =
legacy_hal_.lock()->nanBeaconSdfPayloadRequest(cmd_id, legacy_msg);
return createWifiStatusFromLegacyError(legacy_status);
}
} // namespace implementation
} // namespace V1_0

View File

@@ -87,9 +87,6 @@ class WifiNanIface : public IWifiNanIface {
Return<void> terminateDataPathRequest(uint16_t cmd_id,
uint32_t ndpInstanceId,
terminateDataPathRequest_cb hidl_status_cb) override;
Return<void> beaconSdfPayloadRequest(uint16_t cmd_id,
const NanBeaconSdfPayloadRequest& msg,
beaconSdfPayloadRequest_cb hidl_status_cb) override;
private:
// Corresponding worker functions for the HIDL methods.
@@ -121,8 +118,6 @@ class WifiNanIface : public IWifiNanIface {
uint16_t cmd_id, const NanRespondToDataPathIndicationRequest& msg);
WifiStatus terminateDataPathRequestInternal(
uint16_t cmd_id, uint32_t ndpInstanceId);
WifiStatus beaconSdfPayloadRequestInternal(
uint16_t cmd_id, const NanBeaconSdfPayloadRequest& msg);
std::string ifname_;
std::weak_ptr<legacy_hal::WifiLegacyHal> legacy_hal_;

View File

@@ -1158,31 +1158,6 @@ struct NanRespondToDataPathIndicationRequest {
vec<uint8_t> pmk;
};
/**
* Specifies vendor-specific information fields to be included in NAN management frames.
*/
struct NanBeaconSdfPayloadRequest {
/**
* If true information is transmitted in next 16 DWs, else only in the next (1) DW.
*/
bool transmitInNext16dws;
/**
* Specify the management frames in which the vendor-specific information is included.
*/
bool transmitInDiscoveryBeacon;
bool transmitInSyncBeacon;
bool transmitInServiceDiscoveryFrame;
/**
* Organizationally Unique Identifier (OUI).
*/
uint32_t vendorOui;
/**
* Vendor specific attribute to be transmitted.
* Max length: |NanCapabilities.maxVsaDataLen|.
*/
vec<uint8_t> vsa;
};
/**
* NDP Capabilities response.
*/
@@ -1393,54 +1368,6 @@ struct NanClusterEventInd {
MacAddress addr;
};
/**
* Mask to determine on which frames the vendor-specific attribute (VSA) was received on.
*/
enum NanVsaRxFrameMask: uint32_t {
DISCOVERY_BEACON_MASK = 1 << 0,
SYNC_BEACON_MASK = 1 << 1,
SERVICE_DISCOVERY_MASK = 1 << 2
};
/**
* NAN Beacon or SDF Payload Indication Message structure.
* The BeaconSdfPayloadInd message indicates to the upper layers that information
* elements were received either in a Beacon or SDF which needs to be delivered
* outside of a Publish/Subscribe Handle.
*/
struct NanBeaconSdfPayloadInd {
/**
* The MAC address of the peer which sent the attributes.
*/
MacAddress addr;
/**
* A flag indicating whether a vendor-specific attribute (VSA) has been received.
*/
bool isVsaReceived;
/**
* Frames on which this vendor specific attribute was received.
* Mask |NanVsaRxFrameMask| defined above.
*/
bitfield<NanVsaRxFrameMask> vsaReceivedOnFrames;
/**
* Organizationally Unique Identifier (OUI) of the vendor-specific attribute.
*/
uint32_t vsaVendorOui;
/**
* Contents of the vendor specific attribute.
* Max length: |NanCapabilities.maxVsaDataLen|.
*/
vec<uint8_t> vsa;
/**
* A flag indicating whether a NAN beacon or SDF payload has been received.
*/
bool isBeaconSdfPayloadReceived;
/**
* The contents of the NAN beacon or SDF payload.
*/
vec<uint8_t> beaconSdfPayloadData;
};
/**
* NAN Data path request Indication Message structure.
* Event indication received by an intended Responder when a Nan Data request initiated by an

View File

@@ -259,20 +259,4 @@ interface: {
}
}
api: {
name: "beaconSdfPayloadRequest"
return_type_hidl: {
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::WifiStatus"
}
arg: {
type: TYPE_SCALAR
scalar_type: "uint16_t"
}
arg: {
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest"
}
}
}

View File

@@ -191,18 +191,6 @@ interface: {
}
}
api: {
name: "notifyBeaconSdfPayloadResponse"
arg: {
type: TYPE_SCALAR
scalar_type: "uint16_t"
}
arg: {
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::WifiNanStatus"
}
}
api: {
name: "eventClusterEvent"
arg: {
@@ -307,12 +295,4 @@ interface: {
}
}
api: {
name: "eventBeaconSdfPayload"
arg: {
type: TYPE_STRUCT
predefined_type: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd"
}
}
}

View File

@@ -1512,44 +1512,6 @@ attribute: {
}
}
attribute: {
name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadRequest"
type: TYPE_STRUCT
struct_value: {
name: "transmitInNext16dws"
type: TYPE_SCALAR
scalar_type: "bool_t"
}
struct_value: {
name: "transmitInDiscoveryBeacon"
type: TYPE_SCALAR
scalar_type: "bool_t"
}
struct_value: {
name: "transmitInSyncBeacon"
type: TYPE_SCALAR
scalar_type: "bool_t"
}
struct_value: {
name: "transmitInServiceDiscoveryFrame"
type: TYPE_SCALAR
scalar_type: "bool_t"
}
struct_value: {
name: "vendorOui"
type: TYPE_SCALAR
scalar_type: "uint32_t"
}
struct_value: {
name: "vsa"
type: TYPE_VECTOR
vector_value: {
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
}
}
attribute: {
name: "::android::hardware::wifi::V1_0::NanCapabilities"
type: TYPE_STRUCT
@@ -1803,56 +1765,6 @@ attribute: {
}
}
attribute: {
name: "::android::hardware::wifi::V1_0::NanBeaconSdfPayloadInd"
type: TYPE_STRUCT
struct_value: {
name: "addr"
type: TYPE_ARRAY
vector_value: {
vector_size: 6
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
}
struct_value: {
name: "isVsaReceived"
type: TYPE_SCALAR
scalar_type: "bool_t"
}
struct_value: {
name: "vsaReceivedOnFrames"
type: TYPE_MASK
predefined_type: "::android::hardware::wifi::V1_0::NanVsaRxFrameMask"
}
struct_value: {
name: "vsaVendorOui"
type: TYPE_SCALAR
scalar_type: "uint32_t"
}
struct_value: {
name: "vsa"
type: TYPE_VECTOR
vector_value: {
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
}
struct_value: {
name: "isBeaconSdfPayloadReceived"
type: TYPE_SCALAR
scalar_type: "bool_t"
}
struct_value: {
name: "beaconSdfPayloadData"
type: TYPE_VECTOR
vector_value: {
type: TYPE_SCALAR
scalar_type: "uint8_t"
}
}
}
attribute: {
name: "::android::hardware::wifi::V1_0::NanDataPathRequestInd"
type: TYPE_STRUCT