PocketLzma  1.0.0
A cross-platform singleheader LZMA compression/decompression library for C++11
FileStatus.hpp
Go to the documentation of this file.
1 //
2 // Created by robin on 29.12.2020.
3 //
4 
5 #ifndef POCKETLZMA_FILESTATUS_HPP
6 #define POCKETLZMA_FILESTATUS_HPP
7 
8 namespace plz
9 {
10  class FileStatus
11  {
12  public:
13 
14  enum class Code
15  {
16  Ok = 0,
17  FileWriteError = 100,
20 
21  FileReadError = 200,
22  FileReadErrorBadBit = 201,
24  };
25 
26  inline FileStatus() = default;
27  inline FileStatus(FileStatus::Code status, int code, const std::string &exception, const std::string &category, const std::string &message);
28 
29  inline void set(FileStatus::Code status, int code, const std::string &exception, const std::string &category, const std::string &message);
30 
31  inline Code status() const;
32  inline int code() const;
33  inline const std::string &exception() const;
34  inline const std::string &category() const;
35  inline const std::string &message() const;
36 
37  private:
38  Code m_status { Code::Ok };
39  int m_code {0};
40  std::string m_exception;
41  std::string m_category;
42  std::string m_message;
43 
44  };
45 
46  FileStatus::FileStatus(FileStatus::Code status, int code, const std::string &exception, const std::string &category, const std::string &message)
47  {
49  }
50 
51  void FileStatus::set(FileStatus::Code status, int code, const std::string &exception, const std::string &category, const std::string &message)
52  {
53  m_status = status;
54  m_code = code;
55  m_exception = exception;
56  m_category = category;
57  m_message = message;
58  }
59 
61  {
62  return m_status;
63  }
64 
65  int FileStatus::code() const
66  {
67  return m_code;
68  }
69 
70  const std::string &FileStatus::exception() const
71  {
72  return m_exception;
73  }
74 
75  const std::string &FileStatus::category() const
76  {
77  return m_category;
78  }
79 
80  const std::string &FileStatus::message() const
81  {
82  return m_message;
83  }
84 }
85 
86 #endif //POCKETLZMA_FILESTATUS_HPP
plz::FileStatus::set
void set(FileStatus::Code status, int code, const std::string &exception, const std::string &category, const std::string &message)
Definition: FileStatus.hpp:51
plz::FileStatus::FileStatus
FileStatus()=default
plz::FileStatus::Code::FileReadErrorFailBit
@ FileReadErrorFailBit
plz::FileStatus::Code::Ok
@ Ok
plz::FileStatus::message
const std::string & message() const
Definition: FileStatus.hpp:80
plz::FileStatus::Code::FileWriteError
@ FileWriteError
plz::FileStatus::Code::FileWriteErrorBadBit
@ FileWriteErrorBadBit
plz::FileStatus
Definition: FileStatus.hpp:11
plz::FileStatus::code
int code() const
Definition: FileStatus.hpp:65
plz::FileStatus::category
const std::string & category() const
Definition: FileStatus.hpp:75
plz::FileStatus::status
Code status() const
Definition: FileStatus.hpp:60
plz::FileStatus::Code::FileReadErrorBadBit
@ FileReadErrorBadBit
plz::FileStatus::Code::FileWriteErrorFailBit
@ FileWriteErrorFailBit
plz::FileStatus::Code
Code
Definition: FileStatus.hpp:15
plz::FileStatus::exception
const std::string & exception() const
Definition: FileStatus.hpp:70
plz
Definition: File.hpp:11
plz::FileStatus::Code::FileReadError
@ FileReadError