AM Daemon ライブラリリファレンス
AimeErrorInfo.h
[詳解]
1 /// @file
2 /// @brief Aime関連エラー情報を提供するクラス AimeErrorInfo のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_AIMEERRORINFO_H
7 #define AMDAEMON_AIMEERRORINFO_H
8 
9 #include "amdaemon/env.h"
10 #include "amdaemon/AimeErrorId.h"
12 #include "amdaemon/ErrorInfo.h"
13 
14 #include <cstddef>
15 
16 namespace amdaemon
17 {
18 /// @addtogroup g_aime
19 /// @{
20 
21  // 内部クラスの前方宣言
22  class InnerIndexHolder;
23 
24  /// @brief Aime関連エラー情報を提供するクラス。
25  /// @see AimeUnit
26  ///
27  /// このクラスのインスタンスをアプリ側で直接生成することはできない。
28  /// AimeUnit クラスのメンバ関数 AimeUnit#getErrorInfo から取得すること。
29  class AimeErrorInfo : public ErrorInfo
30  {
31  public:
32  /// @brief コンストラクタ。
33  /// @note アプリ側からは利用できない。
34  explicit AimeErrorInfo(InnerIndexHolder);
35 
36  // 下記は暗黙の定義を用いる。
37  //‾AimeErrorInfo() = default;
38 
39  /// @brief 内部エラーID値を取得する。
40  /// @return 内部エラーID値。エラーが発生していなければ AimeErrorId::None 。
41  AimeErrorId getId() const;
42 
43  /// @brief エラーカテゴリ値を取得する。
44  /// @return エラーカテゴリ値。エラーが発生していなければ AimeErrorCategory::None 。
45  ///
46  /// Aime読み取りエラー発生時の処理をこの値で切り分けることができる。
47  /// 詳細は各 @ref AimeErrorCategory 列挙値の説明を参照すること。
49 
50  /// @brief エラーが発生しているか否かを取得する。
51  /// @retval true エラーが発生している場合。
52  /// @retval false エラーが発生していない場合。
53  ///
54  /// 条件式 (getId() != AimeErrorId::None) の結果を返す。
55  bool isOccurred() const override
56  {
57  return (getId() != AimeErrorId::None);
58  }
59 
60  /// @brief エラー番号を取得する。
61  /// @return
62  /// エラー番号。エラーが発生していないか、エラー番号が定義されていなければ 0 。
63  ///
64  /// エラーが発生していても、エラー番号が定義されていない場合は 0 を返す。
65  /// エラーが発生しているか否かはメンバ関数 #isOccurred で判別すること。
66  ///
67  /// エラーメッセージ表示時にはこのエラー番号を同時に表示することが好ましい。
68  std::uint32_t getNumber() const override;
69 
70  /// @brief サブエラー番号(枝番)を取得する。
71  /// @return サブエラー番号(枝番)。枝番が無いならば 0 。
72  ///
73  /// - エラーが発生しており、Aimeリーダーが 2 台以上接続されている場合は
74  /// (ユニットインデックス + 1) を返す。
75  /// - エラーが発生していないか、Aimeリーダーが 1 台のみの場合は常に 0 を返す。
76  std::uint32_t getSubNumber() const override;
77 
78  /// @brief エラーメッセージを取得する。
79  /// @return エラーメッセージ。エラーが発生していなければ不定値。
80  ///
81  /// エラーが発生していても、エラーメッセージが定義されていない場合は空文字列を返す。
82  /// エラーが発生しているか否かはメンバ関数 #isOccurred で判別すること。
83  const wchar_t* getMessage() const override;
84 
85  /// @brief エラー発生日時を取得する。
86  /// @return エラー発生日時。エラーが発生していなければ不定値。
87  const ::amdaemon::util::DateTime& getTime() const override;
88 
89  private:
90  /// @brief エラーリセット種別を取得する。
91  /// @return 常に ErrorResetType::None 。
92  ErrorResetType getResetType() const override;
93 
94  private:
95  std::size_t _unitIndex; ///< ユニットインデックス。
96 
97  private:
98  // コピー禁止
99  AimeErrorInfo(const AimeErrorInfo&); // 宣言のみ
100  AimeErrorInfo& operator=(const AimeErrorInfo&); // 宣言のみ
101  };
102 
103 /// @}
104 } // namespace amdaemon
105 
106 #endif // AMDAEMON_AIMEERRORINFO_H
AimeErrorInfo(InnerIndexHolder)
コンストラクタ。
エラーなし。
AimeErrorCategory getCategory() const
エラーカテゴリ値を取得する。
Aime内部エラーID列挙 AimeErrorId のヘッダ。
Daemonライブラリの環境定義を行うヘッダ。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
Aimeエラーカテゴリ列挙 AimeErrorCategory のヘッダ。
ErrorResetType
エラーのリセット種別列挙。
Definition: ErrorResetType.h:37
AimeErrorCategory
Aimeエラーカテゴリ列挙。
Definition: AimeErrorCategory.h:19
Aime関連エラー情報を提供するクラス。
Definition: AimeErrorInfo.h:29
エラー情報を保持する抽象クラス。
Definition: ErrorInfo.h:24
std::uint32_t getSubNumber() const override
サブエラー番号(枝番)を取得する。
AimeErrorId getId() const
内部エラーID値を取得する。
std::uint32_t getNumber() const override
エラー番号を取得する。
const ::amdaemon::util::DateTime & getTime() const override
エラー発生日時を取得する。
AimeErrorId
Aime内部エラーID列挙。
Definition: AimeErrorId.h:21
bool isOccurred() const override
エラーが発生しているか否かを取得する。
Definition: AimeErrorInfo.h:55
エラー情報を保持する抽象クラス ErrorInfo のヘッダ。
const wchar_t * getMessage() const override
エラーメッセージを取得する。