29#ifndef GENAPI_IPORTRECORDER_H
30#define GENAPI_IPORTRECORDER_H
35# pragma warning ( push )
36# pragma warning ( disable : 4251 )
39namespace GENAPI_NAMESPACE
42 GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IPortWriteList
45 virtual void Write(
const void *pBuffer, int64_t Address, int64_t Length) = 0;
48 virtual void Replay(IPort* pPort) = 0;
62 GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IPortReplay :
virtual public IPort
70 virtual void Replay(IPortWriteList *pPortRecorder,
bool Invalidate =
true) = 0;
77 GENICAM_INTERFACE GENAPI_DECL_ABSTRACT
IPortRecorder :
public IPortReplay
80 virtual void StartRecording(IPortWriteList *pPortRecorder) = 0;
96 class CPortRecorderRefT :
public CPortRefT<T>
98 typedef CPortRefT<T> ref;
111 virtual void Replay(IPortWriteList *pPortRecorder,
bool Invalidate =
true)
115 ref::m_Ptr->Replay(pPortRecorder, Invalidate);
124 virtual void StartRecording(IPortWriteList *pPortRecorder)
128 ref::m_Ptr->StartRecording(pPortRecorder);
137 virtual void StopRecording()
141 ref::m_Ptr->StopRecording();
157# pragma warning ( pop )
virtual void StopRecording()=0
stops recording
virtual void SetCookie(const int64_t Value)=0
Sets a cookie in case the port implementation want to cache a command list.
virtual int64_t GetCookie()=0
Gets the cookie a port implementation may have set for caching a command list.
virtual void Replay(IPort *pPort)=0
Replays the write command to the given port interface.
Definition of interface IPort.
virtual void Write(const void *pBuffer, int64_t Address, int64_t Length)=0
Writes a chunk of bytes to the port.
#define ACCESS_EXCEPTION
Fires a access exception, e.g. throw ACCESS_EXCEPTION("Not everybody")
Definition GCException.h:252
CPortRecorderRefT< IPortRecorder > CPortRecorderRef
Definition IPortRecorder.h:152
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IPort
Interface for ports.
Definition IPort.h:55
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT IPortRecorder
Interface for recording write commands on a port.
Definition IPortRecorder.h:80