UsbInterface.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #ifndef __DAHUA_GENICAM_IUSBINTERFACE_H__
  2. #define __DAHUA_GENICAM_IUSBINTERFACE_H__
  3. #include "GenICam/Defs.h"
  4. #include "GenICam/Camera.h"
  5. #include "Infra/String.h"
  6. #include "Memory/SharedPtr.h"
  7. GENICAM_NAMESPACE_BEGIN
  8. class IUsbInterface;
  9. typedef Memory::TSharedPtr<IUsbInterface> IUsbInterfacePtr;
  10. /// \~chinese
  11. /// \brief 相机接口类
  12. /// \defgroup IUsbInterface 连接Usb相机的接口类
  13. /// \~english
  14. /// \brief camera interface class
  15. /// \defgroup IUsbInterface API for U3V interface Only
  16. /// @{
  17. /// \~chinese
  18. /// \brief Class IUsbInterface 连接Usb相机的接口类
  19. /// \~english
  20. /// \brief Class IUsbInterface interface class used to connect Usb Camera
  21. class GENICAM_API IUsbInterface
  22. {
  23. protected:
  24. virtual ~IUsbInterface(){}
  25. public:
  26. /// \~chinese
  27. /// \brief 连接Usb相机接口对象获取函数,同一个cameraPtr对应的是同一个接口对象
  28. /// \param [in] cameraPtr Usb相机智能指针对象
  29. /// \~english
  30. /// \brief Usb camera object access interface, same cameraPtr is correspond to same Usb camera object
  31. /// \param [in] cameraPtr Usb camera smart pointer object
  32. static IUsbInterfacePtr getInstance(const ICameraPtr &cameraPtr);
  33. /// \~chinese
  34. /// \brief 获取接口描述信息
  35. /// \return 返回接口描述信息,失败返回NULL
  36. /// \~english
  37. /// \brief get interface description information
  38. /// \return success:return interface description information, fail:return NULL
  39. virtual const char * getDescription() = 0;
  40. /// \~chinese
  41. /// \brief 获取接口的Vendor ID
  42. /// \return 返回接口的Vendor ID,失败返回NULL
  43. /// \~english
  44. /// \brief get interface's Vendor ID
  45. /// \return success:return interface's Vendor ID, fail:return NULL
  46. virtual const char * getVendorID() = 0;
  47. /// \~chinese
  48. /// \brief 获取接口的Device ID
  49. /// \return 返回接口的Device ID,失败返回NULL
  50. /// \~english
  51. /// \brief get interface's Device ID
  52. /// \return success:return interface's Device ID, fail:return NULL
  53. virtual const char * getDeviceID() = 0;
  54. /// \~chinese
  55. /// \brief 获取接口的Subsystem ID
  56. /// \return 返回接口的Subsystem ID,失败返回NULL
  57. /// \~english
  58. /// \brief get interface's Subsystem ID
  59. /// \return success:return interface's Subsystem ID, fail:return NULL
  60. virtual const char * getSubsystemID() = 0;
  61. /// \~chinese
  62. /// \brief 获取接口的Revision
  63. /// \return 返回接口的Revision,失败返回NULL
  64. /// \~english
  65. /// \brief get interface's Revision
  66. /// \return success:return interface's Revision, fail:return NULL
  67. virtual const char * getRevision() = 0;
  68. /// \~chinese
  69. /// \brief 获取接口的Speed
  70. /// \return 返回接口的Speed,失败返回NULL
  71. /// \~english
  72. /// \brief get interface's Speed
  73. /// \return success:return interface's Speed, fail:return NULL
  74. virtual const char * getSpeed() = 0;
  75. };
  76. /// @}
  77. GENICAM_NAMESPACE_END
  78. #endif//__DAHUA_GENICAM_IUSBINTERFACE_H__