/* * Copyright (c) Hisilicon Technologies Co., Ltd. 2012-2020. All rights reserved. * Description: * Author: * create: */ #ifndef ANDROID_HARDWARE_HWTVMW_V1_0_HWTVMW_H #define ANDROID_HARDWARE_HWTVMW_V1_0_HWTVMW_H #include #include #include #include #include #include namespace vendor { namespace huanglong { namespace hardware { namespace hwtvmw { namespace V1_0 { namespace implementation { using ::vendor::huanglong::hardware::hwtvmw::V1_0::IHwtvmw; using ::vendor::huanglong::hardware::hwtvmw::V1_0::IHwtvmwCallback; using ::android::hardware::Return; using ::android::hardware::Void; using ::android::hardware::hidl_vec; using ::android::hardware::hidl_string; using ::android::hardware::hidl_death_recipient; using ::android::sp; using android::hardware::hidl_memory; using android::hidl::memory::V1_0::IMemory; class TvmwDeathRecipient; class Hwtvmw : public IHwtvmw { public: Hwtvmw(); ~Hwtvmw() override; Return hwInvoke(const hidl_string& request, hwInvoke_cb _hidl_cb) override; Return hwRegistCallback(const sp& callback) override; Return getCapBuffer(uint32_t id, getCapBuffer_cb _hidl_cb) override; Return onObjectDeath(uint64_t cookie); Return NotifyCb(unsigned int type, const void *data, unsigned int len, const void *prev, const android::Parcel *request = nullptr, android::Parcel *notifyReply = nullptr) const; Return notifyEachClient( unsigned int type, android::Parcel *notifyReply, const hidl_string inputStr, const hidl_string inputStrReq) const; public: sp mDeathRecipient; private: Return getTvmwService(); sp m_pTVSerice; std::vector> mCallbacks; android::Mutex mNotifyLock; }; extern "C" IHwtvmw* HIDL_FETCH_IHwtvmw(const char* name); } // namespace implementation } // namespace V1_0 } // namespace hwtvmw } // namespace hardware } // namespace huanglong } // namespace vendor #endif