Annotation of nono/cli/cuimessage.cpp, revision 1.1.1.1

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2021 nono project
                      4: // Licensed under nono-license.txt
                      5: //
                      6: 
                      7: #include "cuimessage.h"
                      8: 
                      9: std::array<CUIMessage::Func, UIMessage::ID_MAX> CUIMessage::func_table;
                     10: 
                     11: // UIMessage を func に接続する
                     12: /*static*/ void
                     13: CUIMessage::Connect(UIMessage::ID id, CUIMessage::Func func)
                     14: {
                     15:        func_table[id] = func;
                     16: }
                     17: 
                     18: // UIMessage を処理する
                     19: /*static*/ void
                     20: CUIMessage::Process(UIMessage::Queue& queue)
                     21: {
                     22:        UIMessage m;
                     23: 
                     24:        while (queue.Dequeue(&m)) {
                     25:                UIMessage::ID id = m.GetID();
                     26:                if (id < 0 || id >= UIMessage::ID_MAX) {
                     27:                        PANIC("Invalid UIMessage %d", id);
                     28:                }
                     29:                auto func = func_table[id];
                     30:                if (func) {
                     31:                        func(m);
                     32:                }
                     33:        }
                     34: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.