hidl: consumerir: Add autogenerated HIDL impl and blueprint
authorPaul Keith <javelinanddart@gmail.com>
Tue, 28 Jan 2020 02:19:23 +0000 (20:19 -0600)
committerJan Altensen <info@stricted.net>
Fri, 31 Jan 2020 14:51:27 +0000 (15:51 +0100)
* Using the commands:
 - hidl-gen -p ../.. -o hidl/consumerir -r android.hardware:hardware/interfaces android.hardware.ir@1.0 -L androidbp-impl
 - hidl-gen -p ../.. -o hidl/consumerir -r android.hardware:hardware/interfaces android.hardware.ir@1.0 -L c++-impl

Change-Id: I4079d2a7b50bdb6e9b9389892bce2a9e881db039

hidl/consumerir/Android.bp [new file with mode: 0644]
hidl/consumerir/ConsumerIr.cpp [new file with mode: 0644]
hidl/consumerir/ConsumerIr.h [new file with mode: 0644]

diff --git a/hidl/consumerir/Android.bp b/hidl/consumerir/Android.bp
new file mode 100644 (file)
index 0000000..fa275dc
--- /dev/null
@@ -0,0 +1,25 @@
+cc_library_shared {
+    // FIXME: this should only be -impl for a passthrough hal.
+    // In most cases, to convert this to a binderized implementation, you should:
+    // - change '-impl' to '-service' here and make it a cc_binary instead of a
+    //   cc_library_shared.
+    // - add a *.rc file for this module.
+    // - delete HIDL_FETCH_I* functions.
+    // - call configureRpcThreadpool and registerAsService on the instance.
+    // You may also want to append '-impl/-service' with a specific identifier like
+    // '-vendor' or '-<hardware identifier>' etc to distinguish it.
+    name: "android.hardware.ir@1.0-impl",
+    relative_install_path: "hw",
+    // FIXME: this should be 'vendor: true' for modules that will eventually be
+    // on AOSP.
+    proprietary: true,
+    srcs: [
+        "ConsumerIr.cpp",
+    ],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libutils",
+        "android.hardware.ir@1.0",
+    ],
+}
diff --git a/hidl/consumerir/ConsumerIr.cpp b/hidl/consumerir/ConsumerIr.cpp
new file mode 100644 (file)
index 0000000..c97d557
--- /dev/null
@@ -0,0 +1,31 @@
+#include "ConsumerIr.h"
+
+namespace android {
+namespace hardware {
+namespace ir {
+namespace V1_0 {
+namespace implementation {
+
+// Methods from ::android::hardware::ir::V1_0::IConsumerIr follow.
+Return<bool> ConsumerIr::transmit(int32_t carrierFreq, const hidl_vec<int32_t>& pattern) {
+    // TODO implement
+    return bool {};
+}
+
+Return<void> ConsumerIr::getCarrierFreqs(getCarrierFreqs_cb _hidl_cb) {
+    // TODO implement
+    return Void();
+}
+
+
+// Methods from ::android::hidl::base::V1_0::IBase follow.
+
+//IConsumerIr* HIDL_FETCH_IConsumerIr(const char* /* name */) {
+    //return new ConsumerIr();
+//}
+//
+}  // namespace implementation
+}  // namespace V1_0
+}  // namespace ir
+}  // namespace hardware
+}  // namespace android
diff --git a/hidl/consumerir/ConsumerIr.h b/hidl/consumerir/ConsumerIr.h
new file mode 100644 (file)
index 0000000..1cac73c
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef ANDROID_HARDWARE_IR_V1_0_CONSUMERIR_H
+#define ANDROID_HARDWARE_IR_V1_0_CONSUMERIR_H
+
+#include <android/hardware/ir/1.0/IConsumerIr.h>
+#include <hidl/MQDescriptor.h>
+#include <hidl/Status.h>
+
+namespace android {
+namespace hardware {
+namespace ir {
+namespace V1_0 {
+namespace implementation {
+
+using ::android::hardware::hidl_array;
+using ::android::hardware::hidl_memory;
+using ::android::hardware::hidl_string;
+using ::android::hardware::hidl_vec;
+using ::android::hardware::Return;
+using ::android::hardware::Void;
+using ::android::sp;
+
+struct ConsumerIr : public IConsumerIr {
+    // Methods from ::android::hardware::ir::V1_0::IConsumerIr follow.
+    Return<bool> transmit(int32_t carrierFreq, const hidl_vec<int32_t>& pattern) override;
+    Return<void> getCarrierFreqs(getCarrierFreqs_cb _hidl_cb) override;
+
+    // Methods from ::android::hidl::base::V1_0::IBase follow.
+
+};
+
+// FIXME: most likely delete, this is only for passthrough implementations
+// extern "C" IConsumerIr* HIDL_FETCH_IConsumerIr(const char* name);
+
+}  // namespace implementation
+}  // namespace V1_0
+}  // namespace ir
+}  // namespace hardware
+}  // namespace android
+
+#endif  // ANDROID_HARDWARE_IR_V1_0_CONSUMERIR_H