IUserData.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //-----------------------------------------------------------------------------
  2. // (c) 2015 by Basler
  3. // Project: GenApi
  4. // Author: Fritz Dierks
  5. // $Header$
  6. //-----------------------------------------------------------------------------
  7. /*!
  8. \file IUserData.h
  9. \brief Definition of interface IUserData
  10. */
  11. #ifndef GENAPI_IUSERDATA_H
  12. #define GENAPI_IUSERDATA_H
  13. #include <GenApi/GenApiDll.h>
  14. #pragma warning ( push )
  15. #pragma warning ( disable : 4251 ) // XXX needs to have dll-interface to be used by clients of class YYY
  16. namespace GENAPI_NAMESPACE
  17. {
  18. typedef void* UserData_t;
  19. //*************************************************************
  20. // IUserData
  21. //*************************************************************
  22. /**
  23. * \ingroup internal_itf
  24. * \brief Interface to manage user data stored in nodes or nodemaps.
  25. */
  26. interface GENAPI_DECL_ABSTRACT IUserData
  27. {
  28. //! Returns the stored user defined data.
  29. virtual UserData_t GetUserData() const = 0;
  30. //! Stores user defined data without taking ownership. Returns the previously stored value.
  31. virtual UserData_t SetUserData( UserData_t userdata ) = 0;
  32. };
  33. }
  34. #pragma warning ( pop )
  35. #endif // GENAPI_IUSERDATA_H