UsbCamera.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. #ifndef __DAHUA_GENICAM_IUSBCAMERA_H__
  2. #define __DAHUA_GENICAM_IUSBCAMERA_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 IUsbCamera;
  9. typedef Memory::TSharedPtr<IUsbCamera> IUsbCameraPtr;
  10. /// \~chinese
  11. /// \brief 相机对象接口类
  12. /// \defgroup UsbCamera Usb相机对象操作接口
  13. /// \~english
  14. /// \brief camera object interface class
  15. /// \defgroup UsbCamera API for U3V Cameras Only
  16. /// @{
  17. /// \~chinese
  18. /// \brief Usb相机对象
  19. /// \~english
  20. /// \brief Usb camera object
  21. class GENICAM_API IUsbCamera
  22. {
  23. protected:
  24. /// \~chinese
  25. /// \brief 析构函数
  26. /// \~english
  27. /// \brief destruct function
  28. virtual ~IUsbCamera(){}
  29. public:
  30. /// \~chinese
  31. /// \brief Usb相机对象获取接口,同一个cameraPtr对应的是同一个Usb相机对象
  32. /// \param [in] cameraPtr Usb类型的相机智能指针对象,如果传入了其它非Usb相机类型,该接口返回空指针,表示无效
  33. /// \~english
  34. /// \brief Usb camera object access interface, same cameraPtr is correspond to same Usb camera object
  35. /// \brief [in] cameraPtr Smart pointer object of Usb camera, if the cameraPtr point to a camera which is not Usb camera, the interface return NULL which means it is invalid
  36. static IUsbCameraPtr getInstance(const ICameraPtr &cameraPtr);
  37. /// \~chinese
  38. /// \brief 获取相机的 Configuration Valid
  39. /// \return 返回相机的 Configuration Valid,失败返回NULL
  40. /// \~english
  41. /// \brief get Configuration Valid of camera
  42. /// \return success:return Configuration Valid of camera, fail:return NULL
  43. virtual const char * getConfigurationValid() = 0;
  44. /// \~chinese
  45. /// \brief 获取相机的 GenCP Version
  46. /// \return 返回相机的GenCP Version,失败返回NULL
  47. /// \~english
  48. /// \brief get subnetMask of camera
  49. /// \return success:return camera's subnetMask, fail:return NULL
  50. virtual const char * getGenCPVersion() = 0;
  51. /// \~chinese
  52. /// \brief 返回相机的U3V Version
  53. /// \return 返回相机的U3V Version,失败返回NULL
  54. /// \~english
  55. /// \brief get U3V Version of camera
  56. /// \return success:return camera's U3V Version, fail:return NULL
  57. virtual const char * getU3VVersion() = 0;
  58. /// \~chinese
  59. /// \brief 获取相机的 Device GUID
  60. /// \return 返回相机的GUID,失败返回NULL
  61. /// \~english
  62. /// \brief get Device GUID of camera
  63. /// \return success:return camera's GUID, fail:return NULL
  64. virtual const char * getDeviceGUID() = 0;
  65. /// \~chinese
  66. /// \brief 获取相机的 Family Name
  67. /// \return 返回相机的Family Name,失败返回NULL
  68. /// \~english
  69. /// \brief get Family Name of camera
  70. /// \return success:return camera's Family Name, fail:return NULL
  71. virtual const char * getFamilyName() = 0;
  72. /// \~chinese
  73. /// \brief 获取相机的序列号
  74. /// \return 返回相机的序列号,失败返回NULL
  75. /// \~english
  76. /// \brief get serial number of camera
  77. /// \return success:return camera's serial number, fail:return NULL
  78. virtual const char * getU3VSerialNumber() = 0;
  79. /// \~chinese
  80. /// \brief 获取相机的 Low Speed Support
  81. /// \return 返回相机的 Low Speed Support
  82. /// \~english
  83. /// \brief get Low Speed Support of camera
  84. /// \return success:return camera's Low Speed Support
  85. virtual bool isLowSpeedSupported() const = 0;
  86. /// \~chinese
  87. /// \brief 获取相机的 Full Speed Support
  88. /// \return 返回相机的Full Speed Support
  89. /// \~english
  90. /// \brief get Full Speed Support of camera
  91. /// \return success:return camera's Full Speed Support
  92. virtual bool isFullSpeedSupported() const = 0;
  93. /// \~chinese
  94. /// \brief 获取相机的 High Speed Support
  95. /// \return 返回相机的 High Speed Support
  96. /// \~english
  97. /// \brief get High Speed Support of camera
  98. /// \return success:return camera's High Speed Support
  99. virtual bool isHighSpeedSupported() const = 0;
  100. /// \~chinese
  101. /// \brief 获取相机的 Super Speed Support
  102. /// \return 返回相机的 Super Speed Support
  103. /// \~english
  104. /// \brief get Super Speed Support of camera
  105. /// \return success:return camera's Super Speed Support
  106. virtual bool isSuperSpeedSupported() const = 0;
  107. /// \~chinese
  108. /// \brief 获取相机的 Speed
  109. /// \return 返回相机的 Speed,失败返回NULL
  110. /// \~english
  111. /// \brief get Speed of camera
  112. /// \return success:return camera's Speed, fail:return NULL
  113. virtual const char * getSpeed() = 0;
  114. /// \~chinese
  115. /// \brief 获取相机的 Max Power
  116. /// \return 返回相机的 Max Power,失败返回NULL
  117. /// \~english
  118. /// \brief get Max Power of camera
  119. /// \return success:return camera's Max Power, fail:return NULL
  120. virtual const char * getMaxPower() = 0;
  121. /// \~chinese
  122. /// \brief 获取相机的 Driver Installed
  123. /// \return 返回相机的 Driver Installed
  124. /// \~english
  125. /// \brief get Driver Installed of camera
  126. /// \return success:return camera's Driver Installed
  127. virtual bool isDriverInstalled() const = 0;
  128. };
  129. /// @}
  130. GENICAM_NAMESPACE_END
  131. #endif//__DAHUA_GENICAM_IUSBCAMERA_H__