/* vi: ts=8 sts=4 sw=4 This file is part of the KDE project, module kdesu. SPDX-FileCopyrightText: 1999, 2000 Geert Jansen */ #ifndef __Lexer_h_included__ #define __Lexer_h_included__ #include /** * This is a lexer for the kdesud protocol. */ class Lexer { public: Lexer(const QByteArray &input); ~Lexer(); Lexer(const Lexer &) = delete; Lexer &operator=(const Lexer &) = delete; /** Read next token. */ int lex(); /** Return the token's value. */ QByteArray &lval(); enum Tokens { Tok_none, Tok_exec = 256, Tok_pass, Tok_delCmd, Tok_ping, Tok_str, Tok_num, Tok_stop, Tok_set, Tok_get, Tok_delVar, Tok_delGroup, Tok_host, Tok_prio, Tok_sched, Tok_getKeys, Tok_chkGroup, Tok_delSpecialKey, Tok_exit, }; private: QByteArray m_Input; QByteArray m_Output; int in; }; #endif