36 #ifndef DOXYGEN_SHOULD_SKIP_THIS
39 #include <visp3/core/vpConfig.h>
40 #if (defined(VISP_HAVE_DIRECTSHOW))
42 #include <visp3/sensor/vpDirectShowDevice.h>
49 bool vpDirectShowDevice::init(
const CComPtr<IMoniker> &pMoniker)
54 CComPtr<IPropertyBag> pPropBag;
55 pMoniker->BindToStorage(0, 0, IID_IPropertyBag, (
void **)(&pPropBag));
61 VariantInit(&varName);
62 VariantInit(&varDesc);
63 VariantInit(&varDevPath);
64 char tmp[FILENAME_MAX];
66 hr = pPropBag->Read(L
"FriendlyName", &varName, 0);
70 snprintf(tmp, FILENAME_MAX,
"%S", varName.bstrVal);
74 VariantClear(&varName);
76 hr = pPropBag->Read(L
"Description", &varDesc, 0);
80 snprintf(tmp, FILENAME_MAX,
"%S", varDesc.bstrVal);
84 VariantClear(&varDesc);
86 hr = pPropBag->Read(L
"DevicePath", &varDevPath, 0);
90 snprintf(tmp, FILENAME_MAX,
"%S", varDevPath.bstrVal);
94 VariantClear(&varDevPath);
105 bool vpDirectShowDevice::operator==(vpDirectShowDevice &dev)
107 return name == dev.name && desc == dev.desc && devPath == dev.devPath;
110 VISP_EXPORT std::ostream &
operator<<(std::ostream &os, vpDirectShowDevice &dev)
112 return os << dev.name << std::endl << dev.desc << std::endl << dev.devPath;
115 #elif !defined(VISP_BUILD_SHARED_LIBS)
118 void dummy_vpDirectShowDevice(){};
friend std::ostream & operator<<(std::ostream &s, const vpArray2D< Type > &A)