-
Notifications
You must be signed in to change notification settings - Fork 1
/
KSTARTUP.H
63 lines (45 loc) · 1.64 KB
/
KSTARTUP.H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "kerrcoll.h"
#include "kcommon.h"
/******************************************************************************
* This class executes the startup script for Kon.
*
* Preconditions: The KeyBindings class should be initialized
*/
class Kstartup
{
public:
Kstartup()
{
// Create a new module object and parse the startup.k file
KErrorCollector::getInstance()->clearErrorCount();
KErrorCollector::getInstance()->notice( Strings::get(49) );
char filename[MAXPATH+1];
sprintf( filename, "%s%s", KonSystem::kDir, "startup.k" );
TModule *module = new TModule( filename, FILESTREAM,
KErrorCollector::getInstance() );
if( module->success() )
{
// Create startup command
KCommonCommands::getInstance()->runCommand( "startKon();" );
KCommonCommands::getInstance()->runCommand( "setupToolbar();" );
/* TStream *stream = new TStream( "startKon();", DATASTREAM );
TLexer *lexer = new TLexer( stream, KErrorCollector::getInstance() );
TParser *parser = new TParser( module, KErrorCollector::getInstance() );
// Pass command string through lexer
TToken *token = lexer->lexer();
TSyntax *code;
// Parse the startup command and get the abstract syntax tree
parser->ParseStmts( token, &code );
delete stream;
delete lexer;
delete parser;
// Evaluate the syntax tree
TEval *eval = new TEval( module, KCommonCommands::getInstance() );
KillCopy( eval->Eval( code ) );
delete eval;
Kill( &code );*/
}
else
KErrorCollector::getInstance()->notice( Strings::get(50) );
}
};