70 lines
1.6 KiB
C++
70 lines
1.6 KiB
C++
#ifndef EEDA2366_7E77_49AC_8716_526A3A63113F
|
|
#define EEDA2366_7E77_49AC_8716_526A3A63113F
|
|
/*
|
|
*******************************************************************************
|
|
* INCLUDE
|
|
*******************************************************************************
|
|
*/
|
|
#include <string>
|
|
#include "../core/Component.h"
|
|
#include <hi_mpi_sys.h>
|
|
|
|
namespace Video
|
|
{
|
|
namespace MPP5
|
|
{
|
|
/*
|
|
*******************************************************************************
|
|
* CLASS DECLARE
|
|
*******************************************************************************
|
|
*/
|
|
class MPPChannel
|
|
{
|
|
public:
|
|
MPPChannel(uint32_t moduleID, uint32_t deviceID, uint32_t channelID);
|
|
|
|
public:
|
|
bool operator<(const MPPChannel& other) const;
|
|
|
|
uint32_t moduleID() const;
|
|
uint32_t deviceID() const;
|
|
uint32_t channelID() const;
|
|
|
|
std::string toString() const;
|
|
|
|
virtual void bind(const MPPChannel& next);
|
|
virtual void unbind(const MPPChannel& next);
|
|
|
|
void doLink(Core::Component::Ptr pPrevious);
|
|
void doUnlink(Core::Component::Ptr pPrevious);
|
|
|
|
hi_mpp_chn raw();
|
|
|
|
private:
|
|
uint32_t _moduleID;
|
|
uint32_t _deviceID;
|
|
uint32_t _channelID;
|
|
};
|
|
|
|
inline bool MPPChannel::operator<(const MPPChannel& other) const
|
|
{
|
|
return moduleID() < other.moduleID() || deviceID() < other.deviceID() || channelID() < other.channelID();
|
|
}
|
|
|
|
inline uint32_t MPPChannel::moduleID() const
|
|
{
|
|
return _moduleID;
|
|
}
|
|
|
|
inline uint32_t MPPChannel::deviceID() const
|
|
{
|
|
return _deviceID;
|
|
}
|
|
|
|
inline uint32_t MPPChannel::channelID() const
|
|
{
|
|
return _channelID;
|
|
}
|
|
}
|
|
}
|
|
#endif
|