AM Daemon ライブラリリファレンス
AppImage.h
[詳解]
1 /// @file
2 /// @brief アプリイメージ関連情報を提供するMonostateクラス AppImage のヘッダ。
3 ///
4 /// Copyright(C)SEGA
5 
6 #ifndef AMDAEMON_APPIMAGE_H
7 #define AMDAEMON_APPIMAGE_H
8 
9 #include "amdaemon/env.h"
11 #include "amdaemon/Version.h"
12 #include "amdaemon/util/DateTime.h"
13 
14 #include <string>
15 
16 namespace amdaemon
17 {
18 /// @addtogroup g_appimage
19 /// @{
20 
21  /// @brief アプリイメージ関連情報を提供するMonostateクラス。
22  ///
23  /// Core クラスのメンバ関数 Core#execute 呼び出しによって内容が更新される。
24  ///
25  /// @ingroup g_common
26  class AppImage
27  {
28  public:
29  // 下記は暗黙の定義を用いる。
30  //AppImage() = default;
31  //‾AppImage() = default;
32  //AppImage(const AppImage&) = default;
33  //AppImage& operator=(const AppImage&) = default;
34 
35  /// @brief 現在稼働中アプリのバージョンを取得する。
36  /// @return 現在稼働中アプリのバージョン。
37  ///
38  /// アプリイメージがインストールされていない場合はゼロ値を返す。
39  /// 量産シーケンスではありえないが、開発シーケンスではありうる。
40  Version getCurrentVersion() const;
41 
42  /// @brief 現在稼働中アプリのイメージ作成日時を取得する。
43  /// @return 現在稼働中アプリのイメージ作成日時。
44  ///
45  /// アプリイメージがインストールされていない場合は util::DateTime::min() を返す。
46  /// 量産シーケンスではありえないが、開発シーケンスではありうる。
47  const ::amdaemon::util::DateTime& getCreationTime() const;
48 
49  /// @brief 公開済みオプションイメージ数を取得する。
50  /// @return 公開済みオプションイメージ数。
51  std::size_t getOptionCount() const;
52 
53  /// @brief 公開済みオプションイメージ情報を取得する。
54  /// @param[in] index オプションイメージのインデックス。
55  /// @return 公開済みオプションイメージ情報。
56  ///
57  /// @exception Exception
58  /// 引数 index に公開済みオプションイメージ数以上の値を指定した場合。
59  /// 公開済みオプションイメージ数はメンバ関数 #getOptionCount で取得できる。
60  const OptionImageInfo& getOptionInfo(std::size_t index) const;
61 
62  /// @brief 公開済みオプションイメージ情報を識別名から検索する。
63  /// @param[in] optionName オプションイメージ識別名。
64  /// @return 公開済みオプションイメージ情報。存在しない場合は nullptr 。
65  const OptionImageInfo* findOptionInfo(const wchar_t* optionName) const;
66 
67  /// @brief 指定した識別名の公開済みオプションイメージが存在するか否かを取得する。
68  /// @param[in] optionName オプションイメージ識別名。
69  /// @retval true 存在する場合。
70  /// @retval false 存在しない場合。
71  bool existsOption(const wchar_t* optionName) const
72  {
73  return (findOptionInfo(optionName) != nullptr);
74  }
75 
76  /// @brief オプションイメージのマウント先ルートディレクトリパスを取得する。
77  /// @return オプションイメージのマウント先ルートディレクトリパス。
78  ///
79  /// - 通常は固定値 "C:¥¥mount¥¥Option¥¥" を返す。
80  /// - エミュレータ環境では任意の設定値を返す。
81  /// ただし設定値が空文字列の場合は ".¥¥" を返す。
82  const wchar_t* getOptionMountRootPath() const;
83 
84  /// @brief オプションイメージのマウント先ディレクトリパスを作成する。
85  /// @param[in] optionName オプションイメージ識別名。
86  /// @return オプションイメージのマウント先ディレクトリパス。
87  ///
88  /// オプションイメージ識別名の正当性はチェックされない。
89  std::wstring makeOptionMountPath(const std::wstring& optionName) const;
90  };
91 
92 /// @}
93 } // namespace amdaemon
94 
95 #endif // AMDAEMON_APPIMAGE_H
const wchar_t * getOptionMountRootPath() const
オプションイメージのマウント先ルートディレクトリパスを取得する。
const OptionImageInfo * findOptionInfo(const wchar_t *optionName) const
公開済みオプションイメージ情報を識別名から検索する。
bool existsOption(const wchar_t *optionName) const
指定した識別名の公開済みオプションイメージが存在するか否かを取得する。
Definition: AppImage.h:71
Daemonライブラリの環境定義を行うヘッダ。
オプションイメージ情報構造体 OptionImageInfo のヘッダ。
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
バージョン値構造体 Version のヘッダ。
オプションイメージ情報構造体。
Definition: OptionImageInfo.h:21
Version getCurrentVersion() const
現在稼働中アプリのバージョンを取得する。
マイクロ秒精度の日付時刻を表す構造体 DateTime のヘッダ。
アプリイメージ関連情報を提供するMonostateクラス。
Definition: AppImage.h:26
const ::amdaemon::util::DateTime & getCreationTime() const
現在稼働中アプリのイメージ作成日時を取得する。
std::size_t getOptionCount() const
公開済みオプションイメージ数を取得する。
std::wstring makeOptionMountPath(const std::wstring &optionName) const
オプションイメージのマウント先ディレクトリパスを作成する。
const OptionImageInfo & getOptionInfo(std::size_t index) const
公開済みオプションイメージ情報を取得する。
バージョン値構造体。
Definition: Version.h:24