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.

62 lines
1.6 KiB

/*
* Copyright (c) Hisilicon Technologies Co., Ltd.. 2012-2019. All rights reserved.
* Description:
* Author:
* Create:
*/
#ifndef ITVMANAGER_H
#define ITVMANAGER_H
#include <utils/RefBase.h>
#include <utils/Errors.h>
#include <utils/Mutex.h>
#include <hwbinder/Parcel.h>
#include "IPicture.h"
#include "IAudio.h"
#include "IVideo3D.h"
#include "IFactory.h"
#include "ISystemSetting.h"
#include "ISourceManager.h"
#include "IPCSetting.h"
#include "IHdmiCEC.h"
#include "IHdmiTx.h"
#include "IAtvChannel.h"
#include "ICusEx.h"
namespace android {
class ITVListener : virtual public RefBase {
public:
virtual void notify(unsigned int type, const void *data, unsigned int len, const void *prev) = 0;
};
class ITVManager : virtual public RefBase {
public:
virtual status_t invoke(const hardware::Parcel &request, hardware::Parcel *reply) = 0;
virtual int setListener(const sp<ITVListener> &listener) = 0;
virtual int getWinHandle(unsigned int *pHandle) = 0;
virtual IPicture *getPicture() = 0;
virtual IAudio *getAudio() = 0;
virtual IVideo3D *getVideo3D() = 0;
virtual IFactory *getFactory() = 0;
virtual ISystemSetting *getSystemSetting() = 0;
virtual ISourceManager *getSourceManager() = 0;
virtual IPCSetting *getPCSetting() = 0;
virtual IHdmiCEC *getHdmiCEC() = 0;
virtual IHdmiTx *getHdmiTx() = 0;
virtual IAtvChannel *getAtvChannel() = 0;
virtual ICusEx *getCusEx() = 0;
};
class TVCreator {
public:
static ITVManager *create();
static ITVManager *getmITVManagerValue();
private:
static ITVManager *mITVManager;
static Mutex mITVManagerLock;
};
}; // namespace android
#endif