You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
/*
|
|
* Copyright (c) Hisilicon Technologies Co., Ltd.. 2019-2022. All rights reserved.
|
|
* Description: Support hwdisplay hal adaptation interface
|
|
* Author: Hisilicon
|
|
* Created: 2022-12-28
|
|
*/
|
|
|
|
#ifndef ITVMANAGER_H
|
|
#define ITVMANAGER_H
|
|
|
|
#include <utils/RefBase.h>
|
|
#include <utils/Errors.h>
|
|
#include <utils/Mutex.h>
|
|
#include <hwbinder/Parcel.h>
|
|
|
|
namespace android {
|
|
class IDispListener : virtual public RefBase {
|
|
public:
|
|
virtual void Notify(unsigned int type, const void *data, unsigned int len) = 0;
|
|
};
|
|
|
|
class IDispManager : virtual public RefBase {
|
|
public:
|
|
virtual status_t Invoke(const hardware::Parcel &request, hardware::Parcel *reply) = 0;
|
|
virtual int SetListener(const sp<IDispListener> &listener) = 0;
|
|
virtual void RegisterCallback(const unsigned int eventId) = 0;
|
|
virtual void UnRegisterCallback(const unsigned int eventId) = 0;
|
|
};
|
|
|
|
class DispCreator {
|
|
public:
|
|
static IDispManager *Create();
|
|
static IDispManager *GetmITVManagerValue();
|
|
|
|
private:
|
|
static IDispManager *mITVManager;
|
|
static Mutex mITVManagerLock;
|
|
};
|
|
}; // namespace android
|
|
#endif
|