Futilities/v0.6/clade/Sys/dba/Kiosk

From Woozle Writes Code
< Futilities‎ | v0.6‎ | clade‎ | Sys‎ | dba
Revision as of 16:11, 13 September 2025 by Woozle (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
clade: Sys\dba\Kiosk
Clade Family
WUIDL(c) Kiosk
Aliases
alias clade
Base* WUIDL(c)
InRq* InReq(s,c)
InSt* InSet(s)
QStr* [WFe]Str
Case Classes
Name Clade
CMD_EXPORT DoExport
CMD_IMPORT DoImport
CMD_LIST DoList
CMD_SETUP DoSetup
CMD_TEST DoTest
VAL_FILE SetFile

Enum

enum eKiosk : string {
    case CMD_EXPORT = 'do.export';
    case CMD_IMPORT = 'do.import';
    case CMD_LIST   = 'do.list';
    case CMD_SETUP  = 'do.setup';
    case CMD_TEST   = 'do.test';
    case VAL_CONN   = 'xf.conn';
    case VAL_DFMT   = 'xf.format';
    case VAL_FILE   = 'xf.file';
    case VAL_PATH   = 'xf.path';
    case VAL_REPLACE = 'xf.replace';
    case VAL_SCHEMA  = 'xf.schema';

    static public function InReqClassFor(string $sName) : ?string {
        switch ($sName) {
            case self::CMD_EXPORT->value: $sc = InRqSpace\cDoExport::class; break;
            case self::CMD_IMPORT->value: $sc = InRqSpace\cDoImport::class; break;
            case self::CMD_LIST->value:   $sc = InRqSpace\cDoList::class; break;
            case self::CMD_SETUP->value:  $sc = InRqSpace\cDoSetup::class; break;
            case self::CMD_TEST->value:   $sc = InRqSpace\cDoTest::class; break;
            case self::VAL_FILE->value:   $sc = InStSpace\cSetFile::class; break;
            default:
              #$sc = NULL; // TODO: error message
              // 2024-12-16 Actually, let's just assume that anything without an explicit class is a value:
              $sc = InRqClass::class;
        }
        return $sc;
    }
}

Class

class cKiosk extends BaseClass {

    // ++ CONFIG ++ //

    protected function InReqClassFor(string $sName) : ?string { return eKiosk::InReqClassFor($sName); }

    // -- CONFIG -- //
    // ++ OBJECTS ++ //

    static private $ofpStor = NULL; static public function QStoragePath() : QStrIface { return self::$ofpStor ?? (self::$ofpStor = QStrClass::AsNew()); }

    // -- OBJECTS -- //
}