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

/*
* 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