--- nono/lib/object.h 2026/04/29 17:04:31 1.1.1.2 +++ nono/lib/object.h 2026/04/29 17:04:40 1.1.1.5 @@ -1,11 +1,11 @@ // // nono -// Copyright (C) 2018 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once -#include "header.h" #include "textscreen.h" #include @@ -14,24 +14,24 @@ // // ログ出力機能を持つ。 // -class Object +class Object : public IMonitor { public: Object(); - virtual ~Object(); + virtual ~Object() override; // // ログ // // ログ識別名 - std::string logname; + std::string logname {}; // ログレベル // 0: 未実装動作などのデバッグログではない情報 // 1: 大雑把なデバッグログ // 2: 詳細なデバッグログ // 3: うるさいデバッグログ - int loglevel = 0; + int loglevel {}; // メッセージ出力 // loglevel が lv 以上の時だけ表示。 @@ -72,20 +72,16 @@ class Object // デバイス名(デバッグ表示用) // XXX オブジェクトなのにデバイス名とは一体... - const char *devname = NULL; + std::string devname {}; // // モニター // // モニター更新 (派生クラス側で用意) - // 戻り値はモニタースクリーンの有無。 - // 基底クラスのこれはモニタースクリーンを提供していないので false を返す。 - // 派生クラス側のは必ず true を返すこと。 - virtual bool MonitorUpdate(); - - // モニター用のテキストスクリーン - TextScreen monitor; + void MonitorUpdate(TextScreen&) override { } + nnSize GetMonitorSize() override { return monitor_size; } + nnSize monitor_size {}; }; // 全オブジェクトのリスト