AM Daemon ライブラリリファレンス
CanTargetProperty.h
[詳解]
1 /// @file
2 /// @brief CANボード単体の情報を提供するクラス CanTargetProperty のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_CANTARGETPROPERTY_H
7 #define AMDAEMON_CANTARGETPROPERTY_H
8 
9 #include "amdaemon/env.h"
10 #include "amdaemon/CanTargetType.h"
11 
12 #include <cstdint>
13 #include <cstddef>
14 
15 namespace amdaemon
16 {
17 /// @addtogroup g_can
18 /// @{
19 
20  // 内部クラスの前方宣言
21  class InnerIndexHolder;
22 
23  /// @brief CANボード単体の情報を提供するクラス。
24  /// @see CanTarget
25  ///
26  /// このクラスのインスタンスをアプリ側で直接生成することはできない。
27  /// CanTarget クラスのメンバ関数 CanTarget#getProperty から取得すること。
29  {
30  public:
31  /// @brief コンストラクタ。
32  /// @note アプリ側からは利用できない。
33  CanTargetProperty(InnerIndexHolder, InnerIndexHolder);
34 
35  // 下記は暗黙の定義を用いる。
36  //‾CanTargetProperty() = default;
37 
38  /// @brief 有効な情報を保持しているか否かを取得する。
39  /// @retval true 保持している場合。
40  /// @retval false 保持していないか、情報未取得である場合。
41  ///
42  /// - 現時点の実装では、 Core クラスのメンバ関数 Core#isReady が
43  /// true を返すとこの関数も true を返すようになる。
44  /// - 将来ファームウェア更新処理等が実装された場合にはこの限りではない。
45  /// - この関数が false を返す場合、他のメンバ関数が返す値を信用してはならない。
46  bool valid() const
47  {
48  return (this->getId() != 0);
49  }
50 
51  /// @brief ターゲット分類を取得する。
52  /// @return ターゲット分類。情報未取得である場合は不定値。
53  CanTargetType getType() const;
54 
55  /// @brief ボードID値を取得する。
56  /// @return ボードID値。 1 以上 29 以下。情報未取得である場合は 0 。
57  std::uint16_t getId() const;
58 
59  /// @brief ボード品番文字列を取得する。
60  /// @return ボード品番文字列。情報未取得である場合は不定値。
61  const wchar_t* getProduct() const;
62 
63  /// @brief カスタムチップ品番文字列を取得する。
64  /// @return カスタムチップ品番文字列。情報未取得である場合は不定値。
65  const wchar_t* getCustomChip() const;
66 
67  /// @brief ファームウェアリビジョン値を取得する。
68  /// @return ファームウェアリビジョン値。最大 255 。情報未取得である場合は不定値。
69  std::uint16_t getFirmRevision() const;
70 
71  /// @brief ファームウェアチェックサム値を取得する。
72  /// @return ファームウェアチェックサム値。情報未取得である場合は不定値。
73  std::uint16_t getFirmSum() const;
74 
75  private:
76  std::size_t _portIndex; ///< ポート定義インデックス。
77  std::size_t _targetIndex; ///< ターゲット定義インデックス。
78 
79  private:
80  // コピー禁止
81  CanTargetProperty(const CanTargetProperty&); // 宣言のみ
82  CanTargetProperty& operator=(const CanTargetProperty&); // 宣言のみ
83  };
84 
85 /// @}
86 } // namespace amdaemon
87 
88 #endif // AMDAEMON_CANTARGETPROPERTY_H
const wchar_t * getProduct() const
ボード品番文字列を取得する。
bool valid() const
有効な情報を保持しているか否かを取得する。
Definition: CanTargetProperty.h:46
std::uint16_t getId() const
ボードID値を取得する。
Daemonライブラリの環境定義を行うヘッダ。
CANターゲットの分類を定義する列挙 CanTargetType のヘッダ。
CanTargetType
CANターゲットの分類を定義する列挙。
Definition: CanTargetType.h:19
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
const wchar_t * getCustomChip() const
カスタムチップ品番文字列を取得する。
std::uint16_t getFirmSum() const
ファームウェアチェックサム値を取得する。
CanTargetType getType() const
ターゲット分類を取得する。
CANボード単体の情報を提供するクラス。
Definition: CanTargetProperty.h:28
std::uint16_t getFirmRevision() const
ファームウェアリビジョン値を取得する。
CanTargetProperty(InnerIndexHolder, InnerIndexHolder)
コンストラクタ。