wifi(hidl): Add supplicant HIDL interface

Convert the existing AIDL binder interface of wpa_supplicant to HIDL.

Summary of changes:
1. Every HIDL method returns an instance of |SupplicantStatus|
along with any others params (for getters). This is needed to return the
equivalent of |Binder::Status| to indicate errors in the args passed,
stale proxy, etc.
2. All constants are changed to enums. There were some constants which
should have been enums in the first place, but wasn't because AIDL did
not support enums. But, there are others which should be standalone
constants, but are enums now because constants are not supported in HIDL.
3. Conform to HIDL style guide.

Bug: 31365276
Test: `mmm -j32 hardware/interfaces/wifi/1.0/`
Change-Id: Iba753e279fd260788d8628ea2f5c2281b5844095
diff --git a/wifi/1.0/ISupplicantCallback.hal b/wifi/1.0/ISupplicantCallback.hal
new file mode 100644
index 0000000..879b1da
--- /dev/null
+++ b/wifi/1.0/ISupplicantCallback.hal
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi@1.0;
+
+/**
+ * Callback Interface exposed by the wpa_supplicant service (ISupplicant).
+ *
+ * Clients need to host an instance of this HIDL interface object and
+ * pass a reference of the object to wpa_supplicant via the
+ * |ISupplicant.registerCallback| method.
+ */
+interface ISupplicantCallback {
+  /**
+   * Used to indicate that a new interface has been created.
+   *
+   * @param ifName Name of the network interface, e.g., wlan0
+   */
+  oneway onInterfaceCreated(string ifName);
+
+  /**
+   * Used to indicate that an interface has been removed.
+   *
+   * @param ifName Name of the network interface, e.g., wlan0
+   */
+  oneway onInterfaceRemoved(string ifName);
+};