#ifndef __USE_VideoView_I_H__
#define __USE_VideoView_I_H__

#include <QtCore/QString>
#ifdef USED_CPP_API
#include "api/videorender.h"
#else//USED_CPP_API
#include "api_c/videorender_c.h"
#endif//USED_CPP_API

class IVideoView 
{
public:
#ifdef USED_CPP_API
	virtual rtc::IVideoRender* getRender() = 0;
	virtual bool setScalingType(rtc::IVideoRenderView::ScalingType type) = 0;
#else//USED_CPP_API
	virtual AVDHandle getRender() = 0;
	virtual bool setScalingType(AVDScalingType type) = 0;
#endif//USED_CPP_API
	virtual void updateViewSize(int width, int height) = 0;
public:
	void updateUserName(const QString& user_name) {
		_user_name = user_name;
	}
	void updatevId(const QString& aid) {
		_id = aid;
	}
	const QString& vid() { return _id; }
protected:
	virtual ~IVideoView() {}

protected:
	QString	_id;
	QString	_user_name;
	bool	_hasBorder;
};

#endif //__USE_VideoView_I_H__
