AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
ntv2task.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: MIT */
8
#ifndef NTV2TASK_H
9
#define NTV2TASK_H
10
11
#include "
ajaexport.h
"
12
#include "
ntv2card.h
"
13
#if defined(AJALinux)
14
#include <stdio.h>
15
#endif
16
#include <sstream>
17
21
class
AJAExport
NTV2_DEPRECATED_CLASS
CNTV2Task
22
{
23
public
:
24
25
// constructors
26
CNTV2Task
();
27
CNTV2Task
(
const
CNTV2Task
& other);
28
virtual
~
CNTV2Task
();
29
30
// initialize the task list
31
AJA_VIRTUAL
void
Init();
32
33
// clear the task list
34
AJA_VIRTUAL
void
Clear();
35
36
// add a frame synchronized register write
37
AJA_VIRTUAL
AutoCircGenericTask
* AddRegisterWriteTask (
ULWord
registerNum,
38
ULWord
registerValue,
39
ULWord
registerMask = 0xffffffff,
40
ULWord
registerShift = 0);
41
42
// add a frame synchronized register read
43
AJA_VIRTUAL
AutoCircGenericTask
* AddRegisterReadTask (
ULWord
registerNum,
44
ULWord
registerMask = 0xffffffff,
45
ULWord
registerShift = 0);
46
47
// add time code write
48
AJA_VIRTUAL
AutoCircGenericTask
* AddTimeCodeWriteTask (
RP188_STRUCT
* pTCInOut1 =
NULL
,
49
RP188_STRUCT
* pTCInOut2 =
NULL
,
50
RP188_STRUCT
* pLTCEmbedded =
NULL
,
51
RP188_STRUCT
* pLTCAnalog =
NULL
,
52
RP188_STRUCT
* pLTCEmbedded2 =
NULL
,
53
RP188_STRUCT
* pLTCAnalog2 =
NULL
,
54
RP188_STRUCT
* pTCInOut3 =
NULL
,
55
RP188_STRUCT
* pTCInOut4 =
NULL
,
56
RP188_STRUCT
* pTCInOut5 =
NULL
,
57
RP188_STRUCT
* pTCInOut6 =
NULL
,
58
RP188_STRUCT
* pTCInOut7 =
NULL
,
59
RP188_STRUCT
* pTCInOut8 =
NULL
);
60
61
// add time code read
62
AJA_VIRTUAL
AutoCircGenericTask
* AddTimeCodeReadTask();
63
64
// get a task by index
65
AJA_VIRTUAL
AutoCircGenericTask
* GetTask (
ULWord
index);
66
AJA_VIRTUAL
const
AutoCircGenericTask
& GetTask (
const
ULWord
index)
const
;
67
68
// get the current number of tasks
69
AJA_VIRTUAL
ULWord
GetNumTasks (
void
)
const
;
70
71
// get the maximum number of tasks
72
AJA_VIRTUAL
ULWord
GetMaxTasks (
void
)
const
;
73
74
// get a pointer to the task structure for TransferWithAutoCirculate_Ex2
75
AJA_VIRTUAL
PAUTOCIRCULATE_TASK_STRUCT
GetTaskStruct();
76
77
// operators
78
AJA_VIRTUAL
CNTV2Task
& operator = (
const
CNTV2Task
& other);
79
AJA_VIRTUAL
operator
AUTOCIRCULATE_TASK_STRUCT
()
const
{
return
m_AutoCircTask; }
80
AJA_VIRTUAL
operator
PAUTOCIRCULATE_TASK_STRUCT
() {
return
&m_AutoCircTask; }
81
82
protected
:
83
// used internally and by the driver
84
static
bool
InitTaskArray(
AutoCircGenericTask
* pTaskArray,
ULWord
numTasks);
85
static
ULWord
CopyTaskArray(
AutoCircGenericTask
* pDstArray,
ULWord
dstSize,
ULWord
dstMax,
86
const
AutoCircGenericTask
* pSrcArray,
ULWord
srcSize,
ULWord
srcNum);
87
88
AUTOCIRCULATE_TASK_STRUCT
m_AutoCircTask
;
89
AutoCircGenericTask
m_TaskArray [
AUTOCIRCULATE_TASK_MAX_TASKS
];
90
91
};
// CNTV2Task
92
93
94
// ostream operators
95
std::ostream &
operator <<
(std::ostream & inOutStream,
const
AutoCircGenericTask
& inObj);
96
std::ostream &
operator <<
(std::ostream & inOutStream,
const
CNTV2Task
& inObj);
97
std::ostream &
operator <<
(std::ostream & inOutStream,
const
AutoCircRegisterTask
& inObj);
98
std::ostream &
operator <<
(std::ostream & inOutStream,
const
AutoCircTimeCodeTask
& inObj);
99
100
#endif // NTV2TASK_H
AutoCircRegisterTask
Definition:
ntv2publicinterface.h:4696
ajaexport.h
Defines the import/export macros for producing DLLs or LIBs.
PAUTOCIRCULATE_TASK_STRUCT
struct AUTOCIRCULATE_TASK_STRUCT * PAUTOCIRCULATE_TASK_STRUCT
NULL
#define NULL
Definition:
ntv2caption608types.h:19
CNTV2Task
The AutoCirculate "task" facility is deprecated. Use the new AutoCirculate APIs.
Definition:
ntv2task.h:21
CNTV2Task::m_AutoCircTask
AUTOCIRCULATE_TASK_STRUCT m_AutoCircTask
Definition:
ntv2task.h:88
AutoCircGenericTask
Definition:
ntv2publicinterface.h:4726
ULWord
uint32_t ULWord
Definition:
ajatypes.h:253
AUTOCIRCULATE_TASK_MAX_TASKS
#define AUTOCIRCULATE_TASK_MAX_TASKS
Definition:
ntv2publicinterface.h:4669
ntv2card.h
Declares the CNTV2Card class.
AJA_VIRTUAL
#define AJA_VIRTUAL
Definition:
ajatypes.h:160
RP188_STRUCT
Definition:
ntv2publicinterface.h:4083
AutoCircTimeCodeTask
Definition:
ntv2publicinterface.h:4704
AJAExport
#define AJAExport
Definition:
export.h:33
AUTOCIRCULATE_TASK_STRUCT
struct AUTOCIRCULATE_TASK_STRUCT AUTOCIRCULATE_TASK_STRUCT
operator<<
std::ostream & operator<<(std::ostream &inOutStream, const AutoCircGenericTask &inObj)
AUTOCIRCULATE_TASK_STRUCT
Definition:
ntv2publicinterface.h:4755
NTV2_DEPRECATED_CLASS
#define NTV2_DEPRECATED_CLASS
Definition:
ajatypes.h:520
libajantv2
ajantv2
includes
ntv2task.h
Generated on Tue Dec 3 2024 10:26:00 for AJA NTV2 SDK by
1.8.17