Solution46
CAppTestMenuConsole.h
[詳解]
1 //=============================================================================
2 /// @file
3 /// テストアプリケーションコンソールメニュークラスヘッダファイル
4 ///
5 /// テストアプリケーションコンソールメニュークラスヘッダファイルです。
6 ///
7 /// $Id: CAppTestMenuConsole.h 245 2019-03-20 15:03:41Z admin $
8 /// $Date: 2019-03-21 00:03:41 +0900 (2019/03/21 (木)) $
9 /// $Author: admin $
10 ///
11 /// @attention なし
12 
13 #pragma once
14 #pragma managed( push, off )
15 
16 //=============================================================================
17 // インクルードファイル
18 #include <AppTestDef.h>
19 #include <CAppTestMenuBase.h>
20 
21 //=============================================================================
22 // テストアプリケーション名前空間
23 namespace AppTest {
24  //=========================================================================
25  /// テストアプリケーションコンソールメニュークラス
26  ///
27  /// テストアプリケーションコンソールメニュークラスです。
28  ///
29  /// @attention なし
30  ///
32  //=====================================================================
33  // 構築子と解体子
34  public:
35  //---------------------------------------------------------------------
36  /// コンストラクタ
37  ///
38  /// コンストラクタです。
39  ///
40  /// @param なし
41  /// @return なし
42  /// @attention なし
43  ///
44  explicit CAppTestMenuConsole() noexcept;
45 
46  //---------------------------------------------------------------------
47  /// デストラクタ
48  ///
49  /// デストラクタです。
50  ///
51  /// @param なし
52  /// @return なし
53  /// @attention なし
54  ///
55  virtual ~CAppTestMenuConsole() noexcept {}
56 
57  //=====================================================================
58  // 公開関数
59  public:
60  //---------------------------------------------------------------------
61  /// メニューコールバック関数
62  ///
63  /// メニューコールバック関数です。
64  ///
65  /// @param[in] bPreCallBack 事前コールバックフラグ
66  /// @return 実行結果
67  /// - true 継続
68  /// - false 終了
69  /// @attention オーバーライド関数です。
70  ///
71  virtual bool MenuCallBackProc( bool bPreCallBack ) noexcept override;
72 
73  //---------------------------------------------------------------------
74  /// メニュー項目関数
75  ///
76  /// メニュー項目関数です。
77  ///
78  /// @param[in] bPreCallBack 事前コールバックフラグ
79  /// @return 実行結果
80  /// - true 継続
81  /// - false 終了
82  /// @attention なし
83  ///
84  virtual bool ShowProjectInfo ( bool bPreCallBack ) noexcept; // プロジェクト情報表示関数
85  virtual bool EnableNewDelLog ( bool bPreCallBack ) noexcept; // 生成消滅ログ許可関数
86  virtual bool DisableNewDelLog ( bool bPreCallBack ) noexcept; // 生成消滅ログ禁止関数
87  virtual bool FlushLog ( bool bPreCallBack ) noexcept; // ログ出力フラッシュ関数
88  virtual bool GenerateFatalError( bool bPreCallBack ) noexcept; // 致命的エラー発生関数
89  virtual bool TestInputString ( bool bPreCallBack ) noexcept; // 文字列入力テスト関数
90 
91  //=====================================================================
92  // 限定公開型定義
93  protected:
94  //---------------------------------------------------------------------
95  /// メニュー項目種別列挙体
96  ///
97  /// メニュー項目種別列挙体です。
98  ///
99  /// @attention なし
100  ///
101  enum class EMenuItem {
102  ShowProjectInfo, ///< プロジェクト情報表示
103  EnableNewDel, ///< 生成消滅ログ許可
104  DisableNewDel, ///< 生成消滅ログ禁止
105  FlushLog, ///< ログ出力フラッシュ
106  GenerateFatalError, ///< 致命的エラー発生
107  TestInputString, ///< 文字列入力テスト
108  Size ///< 列挙体サイズ
109  };
110 
111  //=====================================================================
112  // 静的限定公開定数
113  protected:
114  static SMenuInfo const s_sMenuInfo; ///< メニュー定義情報構造体
115  static SMenuItemInfo const s_sItemInfo[ static_cast< int >( EMenuItem::Size ) ]; ///< メニュー項目情報配列
116 
117  //=====================================================================
118  // 削除関数
119  private:
120  CAppTestMenuConsole( CAppTestMenuConsole const& ) = delete;
122  };
123 }
124 
125 #pragma managed( pop )
テストアプリケーション名前空間
Definition: AppTest.h:25
テストアプリケーション定義ヘッダファイル
virtual ~CAppTestMenuConsole() noexcept
デストラクタ
テストアプリケーションメニュー基底クラスヘッダファイル
メニュー定義情報構造体
Definition: CConsoleMenu.h:55
テストアプリケーションコンソールメニュークラス
virtual bool EnableNewDelLog(bool bPreCallBack) noexcept
virtual bool MenuCallBackProc(bool bPreCallBack) noexcept override
メニューコールバック関数
virtual bool TestInputString(bool bPreCallBack) noexcept
CAppTestMenuConsole() noexcept
コンストラクタ
virtual bool FlushLog(bool bPreCallBack) noexcept
テストアプリケーションメニュー基底クラス
virtual bool GenerateFatalError(bool bPreCallBack) noexcept
EMenuItem
メニュー項目種別列挙体
メニュー項目情報構造体
Definition: CConsoleMenu.h:43
static SMenuInfo const s_sMenuInfo
メニュー定義情報構造体
virtual bool DisableNewDelLog(bool bPreCallBack) noexcept
virtual bool ShowProjectInfo(bool bPreCallBack) noexcept
メニュー項目関数
static SMenuItemInfo const s_sItemInfo[static_cast< int >(EMenuItem::Size)]
メニュー項目情報配列
CAppTestMenuConsole & operator=(CAppTestMenuConsole const &)=delete