CuteHMI - CuteHMI (CuteHMI.2)
Error.hpp
1 #ifndef H_EXTENSIONS_CUTEHMI_2_INCLUDE_CUTEHMI_ERROR_HPP
2 #define H_EXTENSIONS_CUTEHMI_2_INCLUDE_CUTEHMI_ERROR_HPP
3 
4 #include "internal/platform.hpp"
5 
6 #include <QString>
7 #include <QCoreApplication>
8 
9 namespace cutehmi {
10 
15 struct CUTEHMI_API Error
16 {
17  Q_DECLARE_TR_FUNCTIONS(cutehmi::Error) // This macro ends with "private:" specifier :o !!!
18 
19  public:
20  enum : int {
21  UNINITIALIZED = -2,
22  FAIL = -1,
23  OK = 0,
24  SUBCLASS_BEGIN = 1
25  };
26 
30  Error();
31 
36  Error(int code);
37 
38  bool operator ==(const Error & other) const;
39 
40  bool operator !=(const Error & other) const;
41 
45  operator bool() const;
46 
51  int code() const;
52 
62  QString str() const;
63 
64  protected:
65  void setCode(int code);
66 
67  private:
68  int m_code;
69 };
70 
71 }
72 
73 CUTEHMI_API bool operator ==(const cutehmi::Error & error, int code);
74 
75 CUTEHMI_API bool operator ==(int code, const cutehmi::Error & error);
76 
77 CUTEHMI_API bool operator !=(const cutehmi::Error & error, int code);
78 
79 CUTEHMI_API bool operator !=(int code, const cutehmi::Error & error);
80 
81 #endif
82 
83 //(c)C: Copyright © 2018-2019, Michał Policht <michal@policht.pl>. All rights reserved.
84 //(c)C: This file is a part of CuteHMI.
85 //(c)C: CuteHMI is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
86 //(c)C: CuteHMI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
87 //(c)C: You should have received a copy of the GNU Lesser General Public License along with CuteHMI. If not, see <https://www.gnu.org/licenses/>.
cutehmi::Error
Standarized error.
Definition: Error.hpp:15
cutehmi
Definition: constants.hpp:6
QString