AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
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 {
19 } AJAPnpDevice;
20 
21 
22 typedef enum
23 {
31 
32 
39 typedef void (*AJAPnpCallback)(AJAPnpMessage inMessage, void * inRefCon);
40 
41 
42 // forward declarations.
43 class AJAPnpImpl;
44 
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.
AJAStatus
AJAStatus
Definition: types.h:365
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