diff --git a/hidl/consumerir/Android.bp b/hidl/consumerir/Android.bp new file mode 100644 index 00000000..fa275dc0 --- /dev/null +++ b/hidl/consumerir/Android.bp @@ -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 '-' 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 index 00000000..c97d5574 --- /dev/null +++ b/hidl/consumerir/ConsumerIr.cpp @@ -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 ConsumerIr::transmit(int32_t carrierFreq, const hidl_vec& pattern) { + // TODO implement + return bool {}; +} + +Return 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 index 00000000..1cac73cc --- /dev/null +++ b/hidl/consumerir/ConsumerIr.h @@ -0,0 +1,40 @@ +#ifndef ANDROID_HARDWARE_IR_V1_0_CONSUMERIR_H +#define ANDROID_HARDWARE_IR_V1_0_CONSUMERIR_H + +#include +#include +#include + +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 transmit(int32_t carrierFreq, const hidl_vec& pattern) override; + Return 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