LoadBuffer.cpp 969 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "LoadBuffer.h"
  2. #include "FileService.h"
  3. LoadBuffer::LoadBuffer(const byte * _buffer, dword _size, const char * _cppFileName, long _cppFileLine)
  4. {
  5. buffer = _buffer;
  6. size = _size;
  7. #ifndef STOP_DEBUG
  8. cppFileName = _cppFileName;
  9. cppFileLine = _cppFileLine;
  10. #endif
  11. }
  12. LoadBuffer::~LoadBuffer()
  13. {
  14. if(buffer)
  15. {
  16. delete buffer;
  17. buffer = null;
  18. }
  19. }
  20. //Удалить сообщив об ошибке
  21. void LoadBuffer::ErrorRelease()
  22. {
  23. #ifndef STOP_DEBUG
  24. api->Trace("FileService error: ILoadBuffer not released (file: %s, line: %i)", cppFileName, cppFileLine);
  25. #endif
  26. delete this;
  27. }
  28. //Удалить объект
  29. void LoadBuffer::Release()
  30. {
  31. {
  32. SingleExClassThread(FileService::object)
  33. FileService::object->DeleteLoadBuffer(this);
  34. }
  35. delete this;
  36. }
  37. //Получить указатель на буффер
  38. const byte * LoadBuffer::Buffer()
  39. {
  40. return buffer;
  41. }
  42. //Получить размер буффера
  43. dword LoadBuffer::Size()
  44. {
  45. return size;
  46. }