/src/wrappers/common/library/c_owned.e

http://github.com/tybor/Liberty · Specman e · 39 lines · 32 code · 6 blank · 1 comment · 3 complexity · f7d37ab5d25f46b5a37f9a6d4876613f MD5 · raw file

  1. note
  2. description:
  3. "A wrapper for a C object whose memory is handled by the Eiffel library "
  4. copyright:
  5. "[
  6. Copyright (C) 2008-2017: Paolo Redaelli
  7. This library is free software; you can redistribute it and/or
  8. modify it under the terms of the GNU Lesser General Public License
  9. as published by the Free Software Foundation; either version 2.1 of
  10. the License, or (at your option) any later version.
  11. This library is distributed in the hope that it will be useful, but
  12. WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. Lesser General Public License for more details.
  15. You should have received a copy of the GNU Lesser General Public
  16. License along with this library; if not, write to the Free Software
  17. Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  18. 02110-1301 USA
  19. ]"
  20. deferred class C_OWNED
  21. -- A wrapper for a C object whose memory is handled by the underlying C library
  22. inherit
  23. WRAPPER
  24. undefine from_external_pointer
  25. end
  26. feature {ANY}
  27. dispose
  28. do
  29. debug
  30. print("Disposing a " + generating_type + "; since it is a C_OWNED object the underlying memory is handled by the C library and not freed now. From now on, the struct will not be used anymore by any Eiffel object.%N")
  31. end
  32. end
  33. end -- class C_OWNED