7#ifndef _ADTF_RECORDER_INTF_CLASS_HEADER_
8#define _ADTF_RECORDER_INTF_CLASS_HEADER_
28ucom::object_ptr<IRecorder> pRecorder;
29// MIND: This call will only succeed if a recorder is present and it will be called _AFTER_ the Streaming Graph has been constructed! (RL_StreamingGraph)
30// But a Start call is only possible while RL_Running
31if (IS_OK(get_recorder(pRecorder))
33 if (IS_OK(pRecorder->Start("c:/temp/my_test_file.adtfdat")))
35 //Recorder is now recording
44 * @see @ref sec_streaming_graph "Streaming Graph", @ref section_recorder
121#ifdef _ADTF_SYSTEMSDK_PACKAGE_HEADER_
131template <
typename RecorderInterface = IRecorder>
144 if (
IS_OK(pSession->GetCurrentFilterGraph(pFilterGraph)))
149 for (
auto it : lstRecordersFound)
151 lstRecorders.PushObject(it);
165template <
typename RecorderInterface = IRecorder>
170 if (lstRecorders.
GetSize() > 0)
172 return pRecorder.Reset(*lstRecorders.
begin());
202 const char* strAdditional =
nullptr) = 0;
211#ifdef _ADTF_SYSTEMSDK_PACKAGE_HEADER_
212using ant::get_recorders;
213using ant::get_recorder;
228 #pragma warning(push)
229 #pragma warning(disable : 4200)
251 uint8_t aEventData[0];
263#ifdef _ADTF_SYSTEMSDK_PACKAGE_HEADER_
264using ant::get_recorder;
265using ant::get_recorders;
tInt64 tTimeStamp
type definition for a time value.
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
#define RETURN_ERROR_DESC(_code,...)
Same as RETURN_ERROR(_error) using a printf like parameter list for detailed error description.
#define RETURN_IF_FAILED(s)
Return if expression is failed, which requires the calling function's return type to be tResult.
#define RETURN_NOERROR
Return status ERR_NOERROR, which requires the calling function's return type to be tResult.
#define IS_OK(s)
Check if result is OK.
The IString interface provides methods for getting and setting strings through abstract interfaces.
ADTFDAT File Recorder Service Control interface to control the ADTFDAT File Recorder.
ADTF_IID(IRecorder, "recorder.ant.services.adtf.iid")
Interface ID for the recorder service interface.
virtual IRecorder::tState GetCurrentState() const =0
Information interface to get the current state of the Recorder.
@ Queueing
waiting for trigger, items are kept in history buffer.
@ Idle
waiting for a trigger to start recording.
virtual tResult GetTimeRange(tTimeStamp &tmFirstItem, tTimeStamp &tmLastItem) const =0
Information interface to get the time range of the current opened files.
virtual tResult GetCurrentFileName(adtf::base::ant::IString &&strFileName) const =0
Information interface to get the name of the currently opened file.
virtual tResult Split(const char *strFileName)=0
Stops an ongoing recording and starts a new one.
virtual tResult Stop(const char *strFileName)=0
Stops an ongoing recording.
virtual tResult Start(const char *strFileName)=0
Starts a new recording.
ADTFDAT File Recorder Service Control interface to control the ADTFDAT File Recorder.
ADTF_IID(IRecorder, "recorder.bat.services.adtf.iid")
Interface ID for the recorder service interface.
virtual tResult AddMarker(tTimeStamp tmTimeStamp, const char *strName=nullptr, const char *strAdditional=nullptr)=0
Adds a marker to the corrently ongoing recording.
virtual tResult DropHistory()=0
Drops all data currently kept in the history buffer.
ADTF_IID(IRecorder, "recorder.devil.services.adtf.iid")
Interface ID for the recorder service interface.
Base class for every interface type within the uCOM.
size_t GetSize() const override
Retrieves the current value count.
iterator begin()
begin iterator
Namespace for all service interfaces provided since v3.0.
tResult get_session(ucom::ant::iobject_ptr< ISession > &pCurrentSession)
Retrieves the current ISession from ISessionManager.
Namespace for all service interfaces provided since v3.1.
Namespace for all service interfaces provided since v3.3.
Namespace for a summary of all service interfaces (System Service) provided by ADTF.
tResult get_filter_graph_objects(const IFilterGraph &oGraph, ucom::ant::iobject_enum< ucom::ant::IObject > &lstObjects)
Iterates the named graph objects of the Filter Graph and calls iobject_enum::PushObject to the lstObj...
tResult get_streaming_graph_objects(const IStreamingGraph &oGraph, ucom::ant::iobject_enum< ucom::ant::IObject > &lstObjects)
Retrieve all items of the Streaming Graph where the iobject_ptr::Reset returns ERR_NOERROR.
object_enum< T, INTERFACE_TYPE, std::list > object_list
Implementation of an iobject_list<INTERFACE_TYPE> interface by using a std::list as container type.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
Layout of the events emitted by a recorder streaming service.
@ PostFileClosed
Sent after a file has been closed.
@ PostFileDiscarded
Sent after a file has been discarded.
uint64_t nEventDataSize
the event id.