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