AJA NTV2 SDK
17.5.0.1492
NTV2 SDK 17.5.0.1492
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
50
class
AJA_EXPORT
AJAPnp
51
{
52
public
:
// CLASS METHODS
53
61
static
std::string MessageToString (
const
AJAPnpMessage
inMsg);
62
63
public
:
// INSTANCE METHODS
64
68
AJAPnp
();
69
73
virtual
~
AJAPnp
();
74
95
virtual
AJAStatus
Install (
AJAPnpCallback
pInCallback,
void
* inRefCon =
NULL
, uint32_t inDeviceMask = 0xFFFFFFFF);
96
100
virtual
AJAPnpCallback
GetCallback()
const
;
101
107
virtual
AJAStatus
Uninstall();
108
112
virtual
void
* GetRefCon()
const
;
113
117
virtual
uint32_t GetPnpDevices()
const
;
118
119
120
private
:
// INSTANCE METHODS
126
AJAPnp
(
const
AJAPnp
& inObjToCopy);
127
128
134
virtual
AJAPnp
& operator= (
const
AJAPnp
& inObjToCopy);
135
136
137
private
:
// INSTANCE DATA
138
AJAPnpImpl
* mpImpl;
139
140
};
// AJAPnp
141
142
#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:50
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 Mon Jan 13 2025 12:31:36 for AJA NTV2 SDK by
1.8.17