--- nono/lib/mainapp.h 2026/04/29 17:05:39 1.1.1.17 +++ nono/lib/mainapp.h 2026/04/29 17:05:48 1.1.1.18 @@ -15,6 +15,7 @@ class Config; class Logger; class MonitorManager; +class UIMessage; class VM; // VM 種別 @@ -65,7 +66,7 @@ class MainApp void Dispose(); // 初期化 (ステージ1) - int Init1(bool is_cli_, int ac, char *av[]); + int Init1(int ac, char *av[], std::string (*conv)(const std::string&)); // 初期化 (ステージ2) bool Init2(); @@ -142,14 +143,23 @@ class MainApp // Logger を返す Logger *GetLogger() const { return logger.get(); } + // UIMessage を返す + UIMessage *GetUIMessage() const { return uimessage.get(); } + public: // CLI/GUI 区別 bool IsCLI() const { return is_cli; } bool IsGUI() const { return !is_cli; } - // -b: ブレークポイント "[,][,]" + // -b(--b): ブレークポイント "[,][,]" std::vector debug_breakaddr {}; + // --bi: 命令ブレークポイント "[,][:][,]" + std::vector debug_breakinst {}; + + // --bv: ベクタブレークポイント "[,][-][,]" + std::vector debug_breakvec {}; + // --bi-exg (とりあえず) bool debug_breakinst_exg {}; @@ -195,7 +205,7 @@ class MainApp private: // 初期化ステージ1 の下請け。 - int Init1a(int, char *[]); + int Init1a(int, char *[], std::string (*conv)(const std::string&)); int Init1b(); // path を絶対パスにして返す。 @@ -231,9 +241,6 @@ class MainApp // ログレベル1つを設定する。 static bool SetLogopt1(const std::string&, std::string *errmsg); - // 初回起動時用に SRAM.DAT を作成する。 - int CreateSRAM(); - // コンパイルされている host netdriver の一覧を表示 void ShowHostnet() const; @@ -243,6 +250,9 @@ class MainApp // ログ std::unique_ptr logger /*{}*/; + // UIMessage + std::unique_ptr uimessage /*{}*/; + // 全オブジェクトへのポインタのリスト (所有はしていない) std::vector objects {}; @@ -274,9 +284,6 @@ class MainApp // -V: パラメータ指定 std::vector> config_options {}; - - // --create-sram オプション - bool create_sram {}; }; // グローバルインスタンス