OSDN Git Service

wifi: Stub implementation of WifiNanIface methods
authorRoshan Pius <rpius@google.com>
Fri, 28 Oct 2016 00:38:53 +0000 (17:38 -0700)
committerRoshan Pius <rpius@google.com>
Wed, 16 Nov 2016 22:57:07 +0000 (14:57 -0800)
Bug: 31991076
Test: Compiles
Change-Id: Ia3723a14af20176c08e6e466e8b55bb32c8f9d41

wifi/1.0/default/wifi_nan_iface.cpp
wifi/1.0/default/wifi_nan_iface.h

index c018e67..a2190a8 100644 (file)
@@ -33,6 +33,7 @@ WifiNanIface::WifiNanIface(const std::string& ifname,
 
 void WifiNanIface::invalidate() {
   legacy_hal_.reset();
+  event_callbacks_.clear();
   is_valid_ = false;
 }
 
@@ -47,6 +48,193 @@ Return<void> WifiNanIface::getName(getName_cb hidl_status_cb) {
                          hidl_status_cb);
 }
 
+Return<void> WifiNanIface::registerEventCallback(
+    const sp<IWifiNanIfaceEventCallback>& callback,
+    registerEventCallback_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::registerEventCallbackInternal,
+                         hidl_status_cb,
+                         callback);
+}
+
+Return<void> WifiNanIface::enableRequest(uint32_t cmd_id,
+                                         const NanEnableRequest& msg,
+                                         enableRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::enableRequestInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::disableRequest(uint32_t cmd_id,
+                                          disableRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::disableRequestInternal,
+                         hidl_status_cb,
+                         cmd_id);
+}
+
+Return<void> WifiNanIface::publishRequest(uint32_t cmd_id,
+                                          const NanPublishRequest& msg,
+                                          publishRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::publishRequestInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::publishCancelRequest(
+    uint32_t cmd_id,
+    const NanPublishCancelRequest& msg,
+    publishCancelRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::publishCancelRequestInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::subscribeRequest(
+    uint32_t cmd_id,
+    const NanSubscribeRequest& msg,
+    subscribeRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::subscribeRequestInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::subscribeCancelRequest(
+    uint32_t cmd_id,
+    const NanSubscribeCancelRequest& msg,
+    subscribeCancelRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::subscribeCancelRequestInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::transmitFollowupRequest(
+    uint32_t cmd_id,
+    const NanTransmitFollowupRequest& msg,
+    transmitFollowupRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::transmitFollowupRequestInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::configRequest(uint32_t cmd_id,
+                                         const NanConfigRequest& msg,
+                                         configRequest_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::configRequestInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::beaconSdfPayloadRequest(
+    uint32_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);
+}
+
+Return<void> WifiNanIface::getVersion(getVersion_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::getVersionInternal,
+                         hidl_status_cb);
+}
+
+Return<void> WifiNanIface::getCapabilities(uint32_t cmd_id,
+                                           getCapabilities_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::getCapabilitiesInternal,
+                         hidl_status_cb,
+                         cmd_id);
+}
+
+Return<void> WifiNanIface::dataInterfaceCreate(
+    uint32_t cmd_id,
+    const hidl_string& iface_name,
+    dataInterfaceCreate_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::dataInterfaceCreateInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         iface_name);
+}
+
+Return<void> WifiNanIface::dataInterfaceDelete(
+    uint32_t cmd_id,
+    const hidl_string& iface_name,
+    dataInterfaceDelete_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::dataInterfaceDeleteInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         iface_name);
+}
+
+Return<void> WifiNanIface::dataRequestInitiator(
+    uint32_t cmd_id,
+    const NanDataPathInitiatorRequest& msg,
+    dataRequestInitiator_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::dataRequestInitiatorInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::dataIndicationResponse(
+    uint32_t cmd_id,
+    const NanDataPathIndicationResponse& msg,
+    dataIndicationResponse_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::dataIndicationResponseInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
+Return<void> WifiNanIface::dataEnd(uint32_t cmd_id,
+                                   const NanDataPathEndRequest& msg,
+                                   dataEnd_cb hidl_status_cb) {
+  return validateAndCall(this,
+                         WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
+                         &WifiNanIface::dataEndInternal,
+                         hidl_status_cb,
+                         cmd_id,
+                         msg);
+}
+
 Return<void> WifiNanIface::getType(getType_cb hidl_status_cb) {
   return validateAndCall(this,
                          WifiStatusCode::ERROR_WIFI_IFACE_INVALID,
@@ -62,6 +250,93 @@ std::pair<WifiStatus, IfaceType> WifiNanIface::getTypeInternal() {
   return {createWifiStatus(WifiStatusCode::SUCCESS), IfaceType::NAN};
 }
 
+WifiStatus WifiNanIface::registerEventCallbackInternal(
+    const sp<IWifiNanIfaceEventCallback>& callback) {
+  // TODO(b/31632518): remove the callback when the client is destroyed
+  event_callbacks_.emplace_back(callback);
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
+WifiStatus WifiNanIface::enableRequestInternal(
+    uint32_t /* cmd_id */, const NanEnableRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
+WifiStatus WifiNanIface::disableRequestInternal(uint32_t /* cmd_id */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
+WifiStatus WifiNanIface::publishRequestInternal(
+    uint32_t /* cmd_id */, const NanPublishRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+
+WifiStatus WifiNanIface::publishCancelRequestInternal(
+    uint32_t /* cmd_id */, const NanPublishCancelRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::subscribeRequestInternal(
+    uint32_t /* cmd_id */, const NanSubscribeRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::subscribeCancelRequestInternal(
+    uint32_t /* cmd_id */, const NanSubscribeCancelRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::transmitFollowupRequestInternal(
+    uint32_t /* cmd_id */, const NanTransmitFollowupRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::configRequestInternal(
+    uint32_t /* cmd_id */, const NanConfigRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::beaconSdfPayloadRequestInternal(
+    uint32_t /* cmd_id */, const NanBeaconSdfPayloadRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+std::pair<WifiStatus, NanVersion> WifiNanIface::getVersionInternal() {
+  // TODO implement
+  return {createWifiStatus(WifiStatusCode::SUCCESS), 0};
+}
+WifiStatus WifiNanIface::getCapabilitiesInternal(uint32_t /* cmd_id */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::dataInterfaceCreateInternal(
+    uint32_t /* cmd_id */, const std::string& /* iface_name */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::dataInterfaceDeleteInternal(
+    uint32_t /* cmd_id */, const std::string& /* iface_name */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::dataRequestInitiatorInternal(
+    uint32_t /* cmd_id */, const NanDataPathInitiatorRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::dataIndicationResponseInternal(
+    uint32_t /* cmd_id */, const NanDataPathIndicationResponse& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
+WifiStatus WifiNanIface::dataEndInternal(
+    uint32_t /* cmd_id */, const NanDataPathEndRequest& /* msg */) {
+  // TODO implement
+  return createWifiStatus(WifiStatusCode::SUCCESS);
+}
 }  // namespace implementation
 }  // namespace V1_0
 }  // namespace wifi
index 31e0c7f..f3c0640 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <android-base/macros.h>
 #include <android/hardware/wifi/1.0/IWifiNanIface.h>
+#include <android/hardware/wifi/1.0/IWifiNanIfaceEventCallback.h>
 
 #include "wifi_legacy_hal.h"
 
@@ -42,14 +43,100 @@ class WifiNanIface : public IWifiNanIface {
   // HIDL methods exposed.
   Return<void> getName(getName_cb hidl_status_cb) override;
   Return<void> getType(getType_cb hidl_status_cb) override;
+  Return<void> registerEventCallback(
+      const sp<IWifiNanIfaceEventCallback>& callback,
+      registerEventCallback_cb hidl_status_cb) override;
+  Return<void> enableRequest(uint32_t cmd_id,
+                             const NanEnableRequest& msg,
+                             enableRequest_cb hidl_status_cb) override;
+  Return<void> disableRequest(uint32_t cmd_id,
+                              disableRequest_cb hidl_status_cb) override;
+  Return<void> publishRequest(uint32_t cmd_id,
+                              const NanPublishRequest& msg,
+                              publishRequest_cb hidl_status_cb) override;
+  Return<void> publishCancelRequest(
+      uint32_t cmd_id,
+      const NanPublishCancelRequest& msg,
+      publishCancelRequest_cb hidl_status_cb) override;
+  Return<void> subscribeRequest(uint32_t cmd_id,
+                                const NanSubscribeRequest& msg,
+                                subscribeRequest_cb hidl_status_cb) override;
+  Return<void> subscribeCancelRequest(
+      uint32_t cmd_id,
+      const NanSubscribeCancelRequest& msg,
+      subscribeCancelRequest_cb hidl_status_cb) override;
+  Return<void> transmitFollowupRequest(
+      uint32_t cmd_id,
+      const NanTransmitFollowupRequest& msg,
+      transmitFollowupRequest_cb hidl_status_cb) override;
+  Return<void> configRequest(uint32_t cmd_id,
+                             const NanConfigRequest& msg,
+                             configRequest_cb hidl_status_cb) override;
+  Return<void> beaconSdfPayloadRequest(
+      uint32_t cmd_id,
+      const NanBeaconSdfPayloadRequest& msg,
+      beaconSdfPayloadRequest_cb hidl_status_cb) override;
+  Return<void> getVersion(getVersion_cb hidl_status_cb) override;
+  Return<void> getCapabilities(uint32_t cmd_id,
+                               getCapabilities_cb hidl_status_cb) override;
+  Return<void> dataInterfaceCreate(
+      uint32_t cmd_id,
+      const hidl_string& iface_name,
+      dataInterfaceCreate_cb hidl_status_cb) override;
+  Return<void> dataInterfaceDelete(
+      uint32_t cmd_id,
+      const hidl_string& iface_name,
+      dataInterfaceDelete_cb hidl_status_cb) override;
+  Return<void> dataRequestInitiator(
+      uint32_t cmd_id,
+      const NanDataPathInitiatorRequest& msg,
+      dataRequestInitiator_cb hidl_status_cb) override;
+  Return<void> dataIndicationResponse(
+      uint32_t cmd_id,
+      const NanDataPathIndicationResponse& msg,
+      dataIndicationResponse_cb hidl_status_cb) override;
+  Return<void> dataEnd(uint32_t cmd_id,
+                       const NanDataPathEndRequest& msg,
+                       dataEnd_cb hidl_status_cb) override;
 
  private:
   // Corresponding worker functions for the HIDL methods.
   std::pair<WifiStatus, std::string> getNameInternal();
   std::pair<WifiStatus, IfaceType> getTypeInternal();
+  WifiStatus registerEventCallbackInternal(
+      const sp<IWifiNanIfaceEventCallback>& callback);
+  WifiStatus enableRequestInternal(uint32_t cmd_id,
+                                   const NanEnableRequest& msg);
+  WifiStatus disableRequestInternal(uint32_t cmd_id);
+  WifiStatus publishRequestInternal(uint32_t cmd_id,
+                                    const NanPublishRequest& msg);
+  WifiStatus publishCancelRequestInternal(uint32_t cmd_id,
+                                          const NanPublishCancelRequest& msg);
+  WifiStatus subscribeRequestInternal(uint32_t cmd_id,
+                                      const NanSubscribeRequest& msg);
+  WifiStatus subscribeCancelRequestInternal(
+      uint32_t cmd_id, const NanSubscribeCancelRequest& msg);
+  WifiStatus transmitFollowupRequestInternal(
+      uint32_t cmd_id, const NanTransmitFollowupRequest& msg);
+  WifiStatus configRequestInternal(uint32_t cmd_id,
+                                   const NanConfigRequest& msg);
+  WifiStatus beaconSdfPayloadRequestInternal(
+      uint32_t cmd_id, const NanBeaconSdfPayloadRequest& msg);
+  std::pair<WifiStatus, NanVersion> getVersionInternal();
+  WifiStatus getCapabilitiesInternal(uint32_t cmd_id);
+  WifiStatus dataInterfaceCreateInternal(uint32_t cmd_id,
+                                         const std::string& iface_name);
+  WifiStatus dataInterfaceDeleteInternal(uint32_t cmd_id,
+                                         const std::string& iface_name);
+  WifiStatus dataRequestInitiatorInternal(
+      uint32_t cmd_id, const NanDataPathInitiatorRequest& msg);
+  WifiStatus dataIndicationResponseInternal(
+      uint32_t cmd_id, const NanDataPathIndicationResponse& msg);
+  WifiStatus dataEndInternal(uint32_t cmd_id, const NanDataPathEndRequest& msg);
 
   std::string ifname_;
   std::weak_ptr<WifiLegacyHal> legacy_hal_;
+  std::vector<sp<IWifiNanIfaceEventCallback>> event_callbacks_;
   bool is_valid_;
 
   DISALLOW_COPY_AND_ASSIGN(WifiNanIface);