IUserData.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. #ifdef _MSC_VER
  15. # pragma warning ( push )
  16. # pragma warning ( disable : 4251 ) // XXX needs to have dll-interface to be used by clients of class YYY
  17. #endif
  18. namespace GENAPI_NAMESPACE
  19. {
  20. typedef void* UserData_t;
  21. //*************************************************************
  22. // IUserData
  23. //*************************************************************
  24. /**
  25. * \ingroup internal_itf
  26. * \brief Interface to manage user data stored in nodes or nodemaps.
  27. */
  28. interface GENAPI_DECL_ABSTRACT IUserData
  29. {
  30. //! Returns the stored user defined data.
  31. virtual UserData_t GetUserData() const = 0;
  32. //! Stores user defined data without taking ownership. Returns the previously stored value.
  33. virtual UserData_t SetUserData( UserData_t userdata ) = 0;
  34. };
  35. }
  36. #ifdef _MSC_VER
  37. # pragma warning ( pop )
  38. #endif
  39. #endif // GENAPI_IUSERDATA_H