lzham_static_lib.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #pragma once
  2. #define LZHAM_STATIC_LIB 1
  3. #include "lzham.h"
  4. #ifdef __cplusplus
  5. // Like lzham_dynamic_lib, except it sets the function pointer members to point directly to the C functions in lzhamlib
  6. class lzham_static_lib : public ilzham
  7. {
  8. lzham_static_lib(const lzham_static_lib &other);
  9. lzham_static_lib& operator= (const lzham_static_lib &rhs);
  10. public:
  11. lzham_static_lib() : ilzham() { }
  12. virtual ~lzham_static_lib() { }
  13. virtual bool load()
  14. {
  15. this->lzham_get_version = ::lzham_get_version;
  16. this->lzham_set_memory_callbacks = ::lzham_set_memory_callbacks;
  17. this->lzham_compress_init = ::lzham_compress_init;
  18. this->lzham_compress_deinit = ::lzham_compress_deinit;
  19. this->lzham_compress = ::lzham_compress;
  20. this->lzham_compress2 = ::lzham_compress2;
  21. this->lzham_compress_reinit = ::lzham_compress_reinit;
  22. this->lzham_compress_memory = ::lzham_compress_memory;
  23. this->lzham_decompress_init = ::lzham_decompress_init;
  24. this->lzham_decompress_reinit = ::lzham_decompress_reinit;
  25. this->lzham_decompress_deinit = ::lzham_decompress_deinit;
  26. this->lzham_decompress = ::lzham_decompress;
  27. this->lzham_decompress_memory = ::lzham_decompress_memory;
  28. this->lzham_z_version = ::lzham_z_version;
  29. this->lzham_z_deflateInit = ::lzham_z_deflateInit;
  30. this->lzham_z_deflateInit2 = ::lzham_z_deflateInit2;
  31. this->lzham_z_deflateReset = ::lzham_z_deflateReset;
  32. this->lzham_z_deflate = ::lzham_z_deflate;
  33. this->lzham_z_deflateEnd = ::lzham_z_deflateEnd;
  34. this->lzham_z_deflateBound = ::lzham_z_deflateBound;
  35. this->lzham_z_compress = ::lzham_z_compress;
  36. this->lzham_z_compress2 = ::lzham_z_compress2;
  37. this->lzham_z_compressBound = ::lzham_z_compressBound;
  38. this->lzham_z_inflateInit = ::lzham_z_inflateInit;
  39. this->lzham_z_inflateInit2 = ::lzham_z_inflateInit2;
  40. this->lzham_z_inflate = ::lzham_z_inflate;
  41. this->lzham_z_inflateEnd = ::lzham_z_inflateEnd;
  42. this->lzham_z_inflateReset = ::lzham_z_inflateReset;
  43. this->lzham_z_uncompress = ::lzham_z_uncompress;
  44. this->lzham_z_error = ::lzham_z_error;
  45. return true;
  46. }
  47. virtual void unload() { clear(); }
  48. virtual bool is_loaded() { return lzham_get_version != NULL; }
  49. };
  50. #endif // __cplusplus