42 lines
874 B
C++
42 lines
874 B
C++
/* 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
|