obs-studio/build_dependencies/aja/include/ajalibraries/ajabase/pnp/windows/pnpimpl.h

42 lines
874 B
C
Raw Normal View History

2023-03-04 18:33:16 +01:00
/* SPDX-License-Identifier: MIT */
/**
@file pnp/windows/pnpimpl.h
@brief Declares the AJAPnpImpl class.
@copyright (C) 2011-2021 AJA Video Systems, Inc. All rights reserved.
**/
#ifndef AJA_PNP_IMPL_H
#define AJA_PNP_IMPL_H
#include <Windows.h>
#include "ajabase/pnp/pnp.h"
class AJAPnpImpl
{
public:
AJAPnpImpl();
virtual ~AJAPnpImpl(void);
AJAStatus Install(AJAPnpCallback callback, void* refCon, uint32_t devices);
AJAStatus Uninstall(void);
AJAPnpCallback GetCallback();
void* GetRefCon();
uint32_t GetPnpDevices();
void AddSignaled();
void RemoveSignaled();
private:
void* mRefCon;
AJAPnpCallback mCallback;
uint32_t mDevices;
HANDLE mAddEventHandle;
HANDLE mAddWaitHandle;
HANDLE mRemoveEventHandle;
HANDLE mRemoveWaitHandle;
bool mbInstalled;
};
#endif // AJA_PNP_IMPL_H