vendor/rockchip/hardware/interfaces/tv/input/1.0/default/TvInputExt.h

89 lines
3.5 KiB
C++

#ifndef ROCKCHIP_HARDWARE_TV_INPUT_V1_0_TVINPUT_H
#define ROCKCHIP_HARDWARE_TV_INPUT_V1_0_TVINPUT_H
#include <hidl/Status.h>
#include <string>
#include <hardware/tv_input.h>
#include <hidl/MQDescriptor.h>
#include <rockchip/hardware/tv/input/1.0/ITvInput.h>
#include "TvInput.h"
namespace rockchip {
namespace hardware {
namespace tv {
namespace input {
namespace V1_0 {
namespace implementation {
using ::android::hardware::audio::common::V2_0::AudioDevice;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::hardware::tv::input::V1_0::ITvInputCallback;
using ::android::hardware::tv::input::V1_0::CableConnectionStatus;
using ::android::hardware::tv::input::V1_0::Result;
using ::android::hardware::tv::input::V1_0::TvInputType;
using ::rockchip::hardware::tv::input::V1_0::PreviewRequest;
using ::android::hardware::hidl_vec;
using ::android::hardware::hidl_string;
using ::android::sp;
using android::hardware::hidl_handle;
using HwITvInput = ::android::hardware::tv::input::V1_0::ITvInput;
using ICallbackExt = ::rockchip::hardware::tv::input::V1_0::ITvInputCallback;
using HwTvInputEvent = ::android::hardware::tv::input::V1_0::TvInputEvent;
struct TvInputExt : public ::rockchip::hardware::tv::input::V1_0::ITvInput {
TvInputExt(HwITvInput*&& tvInput);
~TvInputExt();
// Methods from ::rockchip::hardware::tv::input::1.0::ITvInput follow.
Return<void> setCallback(const sp<ITvInputCallback>& callback) override {
return mTvInput->setCallback(callback);
}
Return<void> getStreamConfigurations(int32_t deviceId,
getStreamConfigurations_cb _hidl_cb) override {
return mTvInput->getStreamConfigurations(deviceId, _hidl_cb);
}
Return<void> openStream(int32_t deviceId, int32_t streamId,
openStream_cb _hidl_cb) override {
return mTvInput->openStream(deviceId, streamId, _hidl_cb);
}
Return<Result> closeStream(int32_t deviceId, int32_t streamId) override {
return mTvInput->closeStream(deviceId, streamId);
}
// Methods from ::rockchip::hardware::tv::input::V1_0::ITvInput follow.
Return<void> setExtCallback(const sp<ICallbackExt>& callback) override;
Return<Result> privCmdFromApp(const PrivAppCmdInfo& cmdInfo) override;
Return<Result> requestCapture(int32_t deviceId, int32_t streamId,
uint64_t buffId, const hidl_handle& buffer, int32_t seq) override;
Return<void> cancelCapture(int32_t deviceId, int32_t streamId,
int32_t seq) override;
Return<Result> setPreviewInfo(int32_t deviceId, int32_t streamId,
int32_t top, int32_t left, int32_t width, int32_t height,
int32_t extInfo) override;
Return<void> setSinglePreviewBuffer(const PreviewBuffer& buff) override;
Return<void> getStreamConfigurations_ext(int32_t deviceId,
getStreamConfigurations_ext_cb _hidl_cb) override;
Return<void> openStream_ext(int32_t deviceId, int32_t streamId, int32_t streamType,
openStream_ext_cb _hidl_cb) override;
static void notify_ext(struct tv_input_device* __unused, tv_input_event_ext_t* event,
void* __unused);
private:
std::unique_ptr<HwITvInput> mTvInput;
static sp<ICallbackExt> mExtCallback;
tv_input_callback_ops_ext_t mCallbackOpsExt;
tv_input_device_t* mDevice;
};
} // namespace implementation
} // namespace V1_0
} // namespace input
} // namespace tv
} // namespace hardware
} // namespace rockchip
#endif // ROCKCHIP_HARDWARE_TV_INPUT_V1_0_TVINPUT_H