PylonIncludes.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. //-----------------------------------------------------------------------------
  2. // Basler pylon SDK
  3. // Copyright (c) 2008-2021 Basler AG
  4. // http://www.baslerweb.com
  5. // Author: JS
  6. //-----------------------------------------------------------------------------
  7. /*!
  8. \file
  9. \brief Master include for Pylon
  10. */
  11. #ifndef PYLONINCLUDES_H_INCLUDED__
  12. #define PYLONINCLUDES_H_INCLUDED__
  13. // PylonPlatform.h must be included before including any GenICam/GenApi header files,
  14. // to ensure that the GENICAM_COMPILER_STR macro used by GenICam/GenApi is set properly
  15. #include <pylon/Platform.h>
  16. #include <pylon/PylonLinkage.h>
  17. // basic types (from GenICam)
  18. #include <Base/GCTypes.h>
  19. #include <Base/GCString.h>
  20. #include <Base/GCStringVector.h>
  21. // GenICam stuff
  22. #if defined( PYLON_NO_AUTO_IMPLIB )
  23. # define GENICAM_NO_AUTO_IMPLIB
  24. # define HAS_DEFINED_GENICAM_NO_AUTO_IMPLIB
  25. #endif
  26. #ifdef PYLON_LINUX_BUILD
  27. # undef GCC_VERSION
  28. # define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
  29. # undef GCC_DIAGNOSTIC_AWARE
  30. # define GCC_DIAGNOSTIC_AWARE (GCC_VERSION >= 40200)
  31. # undef GCC_DIAGNOSTIC_PUSH_POP_AWARE
  32. # define GCC_DIAGNOSTIC_PUSH_POP_AWARE (GCC_VERSION >= 40600)
  33. #else
  34. # undef GCC_DIAGNOSTIC_AWARE
  35. # define GCC_DIAGNOSTIC_AWARE 0
  36. #endif
  37. #if GCC_DIAGNOSTIC_AWARE
  38. # if GCC_DIAGNOSTIC_PUSH_POP_AWARE
  39. # pragma GCC diagnostic push
  40. # endif
  41. # pragma GCC diagnostic ignored "-Wunknown-pragmas"
  42. # pragma GCC diagnostic ignored "-Wpragmas" // gcc < 4.6 doesn't know the following pragma
  43. # pragma GCC diagnostic ignored "-Wunused-but-set-variable"
  44. #endif
  45. #if defined (PYLON_OSX_BUILD)
  46. # pragma clang diagnostic push
  47. # pragma clang diagnostic ignored "-Wunused-variable"
  48. # pragma clang diagnostic ignored "-Wunknown-pragmas"
  49. #endif
  50. #include <GenApi/GenApi.h>
  51. #if defined (PYLON_OSX_BUILD)
  52. # pragma clang diagnostic pop
  53. #endif
  54. #if GCC_DIAGNOSTIC_AWARE
  55. # if GCC_DIAGNOSTIC_PUSH_POP_AWARE
  56. # pragma GCC diagnostic pop
  57. # else
  58. # pragma GCC diagnostic warning "-Wunknown-pragmas"
  59. # pragma GCC diagnostic warning "-Wunused-but-set-variable"
  60. # pragma GCC diagnostic warning "-Wpragmas" // gcc < 4.6 doesn't know the pragma
  61. # endif
  62. #endif
  63. #if defined( HAS_DEFINED_GENICAM_NO_AUTO_IMPLIB )
  64. # undef GENICAM_NO_AUTO_IMPLIB
  65. # undef HAS_DEFINED_GENICAM_NO_AUTO_IMPLIB
  66. #endif
  67. // basic macros
  68. #include <pylon/stdinclude.h>
  69. // init functions
  70. #include <pylon/PylonBase.h>
  71. #include <pylon/PylonVersionInfo.h>
  72. #include <pylon/Info.h> // IProperties interface and CInfoBase class
  73. #include <pylon/TlInfo.h> // CTlInfo
  74. #include <pylon/DeviceClass.h> // DeviceClass definitions
  75. #include <pylon/DeviceInfo.h> // CDeviceInfo
  76. #include <pylon/Container.h> // DeviceInfoList, TlInfoList
  77. #include <pylon/DeviceFactory.h> // IDeviceFactory
  78. #include <pylon/TransportLayer.h> // ITransportLayer, CTransportLayerBase
  79. #include <pylon/TlFactory.h> // TlFactory
  80. #include <pylon/EventAdapter.h> // IEventAdapter
  81. #include <pylon/Callback.h> // Base_Callback1Body, Callback1, Function_CallbackBody, Member_CallbackBody, make_MemberFunctionCallback
  82. #include <pylon/Device.h> // EDeviceAccessMode, AccessModeSet, IDevice, IPylonDevice, RegisterRemovalCallback
  83. #include <pylon/StreamGrabber.h> // IStreamGrabber
  84. #include <pylon/PixelType.h> // EPixelType, EPixelColorFilter, several helper function for EPixelType
  85. #include <pylon/Pixel.h> // Structs that describe the memory layout of pixel.
  86. #include <pylon/PixelTypeMapper.h> // CPixelTypeMapper, CCameraPixelTypeMapperT template maps device specific pixel formats to pylon pixel types.
  87. #include <pylon/Result.h> // EGrabStatus, EPayloadType, GrabResult, EventResult
  88. #include <pylon/PylonDataComponent.h> // PylonDataComponent to access for multi-component grab results
  89. #include <pylon/PylonDataContainer.h> // PylonDataContainer to
  90. #include <pylon/ChunkParser.h> // IChunkParser, CChunkParser
  91. #include <pylon/EventGrabber.h> // IEventGrabber
  92. #include <pylon/EventGrabberProxy.h>// CEventGrabberProxy
  93. #include <pylon/NodeMapProxy.h> // CNodeMapProxy
  94. #include <pylon/WaitObject.h>
  95. #include <pylon/WaitObjects.h>
  96. #include <pylon/AcquireSingleFrameConfiguration.h> // CAcquireSingleFrameConfiguration
  97. #include <pylon/InstantCameraArray.h> // CInstantCameraArray, includes CInstantCamera
  98. #include <pylon/AcquireContinuousConfiguration.h> // CAcquireContinuousConfiguration
  99. #include <pylon/SoftwareTriggerConfiguration.h> // CSoftwareTriggerConfiguration
  100. #include <pylon/InstantInterface.h> // CInstantInterface, IInterface
  101. #include <pylon/ParameterIncludes.h> // Parameter classes
  102. //////////////////////////////////////////////////////////////////////////////
  103. // add the PylonUntility headers
  104. #ifndef PYLON_NO_UTILITY_INCLUDES
  105. # include <pylon/PylonUtilityIncludes.h>
  106. #endif
  107. //////////////////////////////////////////////////////////////////////////////
  108. // add the pylon libs
  109. #if defined(PYLON_WIN_BUILD)
  110. # ifndef PYLON_NO_AUTO_IMPLIB
  111. # pragma comment(lib, PYLON_LIB_NAME( "PylonBase" ))
  112. # endif
  113. #endif
  114. #include <GenApi/GenApiDll.h>
  115. #endif //PYLONINCLUDES_H_INCLUDED__