--- /dev/null
+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",
+ ],
+}
--- /dev/null
+#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
--- /dev/null
+#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