37#ifndef vpDirectShowDevice_hh
38#define vpDirectShowDevice_hh
40#ifndef DOXYGEN_SHOULD_SKIP_THIS
42#include <visp3/core/vpConfig.h>
43#if (defined(VISP_HAVE_DIRECTSHOW))
51class VISP_EXPORT vpDirectShowDevice
61 vpDirectShowDevice() : inUse(false) { }
62 VP_EXPLICIT vpDirectShowDevice(
const CComPtr<IMoniker> &moniker) : inUse(false) { init(moniker); }
64 bool init(
const CComPtr<IMoniker> &moniker);
66 bool getState() {
return inUse; }
67 void setInUse() { inUse =
true; }
68 void resetInUse() { inUse =
false; }
70 std::string &getName() {
return name; }
71 std::string &getDesc() {
return desc; }
72 std::string &getDevPath() {
return devPath; }
74 bool operator==(vpDirectShowDevice &dev);
76 friend VISP_EXPORT std::ostream &operator<<(std::ostream &os, vpDirectShowDevice &dev);