Device.h
接口就是结构体,里面全是纯虚函数 #define interface struct
//The interface implemented by all device objects所有设备对象都要实现的接口
interface PUBLIC_INTERFACE IDevice
{
virtual void Open(AccessModeSet mode = (Stream | Control | Event)) = 0;
virtual void Close() = 0;
virtual bool IsOpen() const = 0;
virtual AccessModeSet AccessMode(void) const = 0;
virtual const CDeviceInfo& GetDeviceInfo() const = 0;
};
// Interface for camera objects 摄像机对象实现的接口
interface PUBLIC_INTERFACE IPylonDevice : public IDevice
{
public:
virtual uint32_t GetNumStreamGrabberChannels() const = 0;
virtual IStreamGrabber* GetStreamGrabber(uint32_t index) = 0;
virtual IEventGrabber* GetEventGrabber() = 0;
virtual GenApi::INodeMap* GetNodeMap() = 0;//获取设备节点图,设置参数
virtual GenApi::INodeMap* GetTLNodeMap() = 0;
virtual Pylon::IChunkParser* CreateChunkParser() = 0;
virtual void DestroyChunkParser(Pylon::IChunkParser* pChunkParser) = 0;
virtual IEventAdapter* CreateEventAdapter() = 0;
virtual void DestroyEventAdapter(IEventAdapter*) = 0;
virtual ISelfReliantChunkParser* CreateSelfReliantChunkParser() = 0;
virtual void DestroySelfReliantChunkParser(ISelfReliantChunkParser*) = 0;
virtual DeviceCallbackHandle RegisterRemovalCallback(DeviceCallback& d) = 0;
virtual bool DeregisterRemovalCallback(DeviceCallbackHandle h) = 0;
};