AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
pnp.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: MIT */
8
#ifndef AJA_PNP_H
9
#define AJA_PNP_H
10
11
#include "
ajabase/common/public.h
"
12
13
14
typedef
enum
15
{
16
AJA_Pnp_PciVideoDevices
= (1 << 0),
17
AJA_Pnp_UsbSerialDevices
= (1 << 1),
18
AJA_Pnp_FireWireDevices
= (1 << 2)
19
}
AJAPnpDevice
;
20
21
22
typedef
enum
23
{
24
AJA_Pnp_DeviceAdded
,
25
AJA_Pnp_DeviceRemoved
,
26
AJA_Pnp_DeviceOnline
,
27
AJA_Pnp_DeviceOffline
,
28
AJA_Pnp_DeviceGoingToSleep
,
29
AJA_Pnp_DeviceWakingUp
30
}
AJAPnpMessage
;
31
32
39
typedef
void
(*
AJAPnpCallback
)(
AJAPnpMessage
inMessage,
void
* inRefCon);
40
41
42
// forward declarations.
43
class
AJAPnpImpl
;
44
51
class
AJA_EXPORT
AJAPnp
52
{
53
public
:
// INSTANCE METHODS
54
58
AJAPnp
();
59
63
virtual
~
AJAPnp
();
64
84
virtual
AJAStatus
Install(
AJAPnpCallback
callback,
void
* refCon=
NULL
, uint32_t devices = 0);
85
89
virtual
AJAPnpCallback
GetCallback()
const
;
90
96
virtual
AJAStatus
Uninstall();
97
101
virtual
void
* GetRefCon()
const
;
102
106
virtual
uint32_t GetPnpDevices()
const
;
107
108
109
private
:
// INSTANCE METHODS
115
AJAPnp
(
const
AJAPnp
& inObjToCopy);
116
117
123
virtual
AJAPnp
& operator= (
const
AJAPnp
& inObjToCopy);
124
125
126
private
:
// INSTANCE DATA
127
AJAPnpImpl
* mpImpl;
128
129
};
// AJAPnp
130
131
#endif // AJA_PNP_H
AJAPnp
This is a platform-agnostic plug-and-play class that notifies a client when AJA devices are attached/...
Definition:
pnp.h:51
AJA_Pnp_DeviceGoingToSleep
@ AJA_Pnp_DeviceGoingToSleep
Definition:
pnp.h:28
AJA_Pnp_UsbSerialDevices
@ AJA_Pnp_UsbSerialDevices
Definition:
pnp.h:17
NULL
#define NULL
Definition:
ntv2caption608types.h:19
AJAPnpCallback
void(* AJAPnpCallback)(AJAPnpMessage inMessage, void *inRefCon)
If installed (see AJAPnp::Install) in an AJAPnp instance, this function is called when an AJA device ...
Definition:
pnp.h:39
AJA_EXPORT
#define AJA_EXPORT
Definition:
export.h:34
AJAPnpMessage
AJAPnpMessage
Definition:
pnp.h:22
AJA_Pnp_PciVideoDevices
@ AJA_Pnp_PciVideoDevices
Definition:
pnp.h:16
public.h
Master header for the ajabase library.
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::detail::void
j template void())
Definition:
json.hpp:4893
AJAStatus
AJAStatus
Definition:
types.h:378
AJA_Pnp_DeviceOffline
@ AJA_Pnp_DeviceOffline
Definition:
pnp.h:27
AJA_Pnp_FireWireDevices
@ AJA_Pnp_FireWireDevices
Definition:
pnp.h:18
AJA_Pnp_DeviceOnline
@ AJA_Pnp_DeviceOnline
Definition:
pnp.h:26
AJA_Pnp_DeviceRemoved
@ AJA_Pnp_DeviceRemoved
Definition:
pnp.h:25
AJAPnpImpl
Definition:
pnpimpl.h:13
AJAPnpDevice
AJAPnpDevice
Definition:
pnp.h:14
AJA_Pnp_DeviceWakingUp
@ AJA_Pnp_DeviceWakingUp
Definition:
pnp.h:29
AJA_Pnp_DeviceAdded
@ AJA_Pnp_DeviceAdded
Definition:
pnp.h:24
libajantv2
ajabase
pnp
pnp.h
Generated on Tue Dec 3 2024 10:25:59 for AJA NTV2 SDK by
1.8.17