InterfaceInfo.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //-----------------------------------------------------------------------------
  2. // Basler pylon SDK
  3. // Copyright (c) 2010-2021 Basler AG
  4. // http://www.baslerweb.com
  5. // Author: AH
  6. //-----------------------------------------------------------------------------
  7. /*!
  8. \file
  9. \brief Declaration of the interface information class.
  10. */
  11. #ifndef __INTERFACE_INFO_H__
  12. #define __INTERFACE_INFO_H__
  13. #if _MSC_VER > 1000
  14. #pragma once
  15. #endif
  16. #include <pylon/stdinclude.h>
  17. #include <pylon/Info.h>
  18. namespace Pylon
  19. {
  20. /**
  21. \ingroup PYLON_PUBLIC
  22. \brief Class used for storing information about an interface object provided by a transport layer.
  23. Enumerating the available Transport Layer Interface objects returns a list of
  24. CInterface objects (Pylon::InterfaceInfoList_t). A CInterfaceInfo object holds information
  25. about the enumerated interface.
  26. */
  27. class PYLONBASE_API CInterfaceInfo : public CInfoBase
  28. {
  29. public:
  30. /*!
  31. \brief Creates an empty interface info.
  32. \error
  33. Does not throw C++ exceptions.
  34. */
  35. CInterfaceInfo();
  36. /*!
  37. \brief Copy constructor.
  38. */
  39. CInterfaceInfo( const CInterfaceInfo& );
  40. /*!
  41. \brief Destructor.
  42. */
  43. ~CInterfaceInfo();
  44. /*!
  45. \brief Compares CInterfaceInfo objects by device class and interface ID.
  46. \param[in] rhs The right-hand side object of the comparison.
  47. \return Returns true according to this rule: USB < GigE < CameraLink < 1394 < Bcon < Less than compare of device class text < CamEmu.
  48. CInterfaceInfo objects of the same transport layer are compared by interface ID using less than text comparison.
  49. \error
  50. Does not throw C++ exceptions.
  51. */
  52. bool operator<( const CInterfaceInfo& rhs ) const;
  53. ///Retrieves the interface ID identifying the interface.
  54. ///This property is identified by Key::InterfaceIDKey.
  55. String_t GetInterfaceID() const;
  56. ///Sets the above property.
  57. CInterfaceInfo& SetInterfaceID( const String_t& InterfaceIDValue );
  58. ///Returns true if the above property is available.
  59. bool IsInterfaceIDAvailable() const;
  60. };
  61. }
  62. #endif