OOStuBS - Technische Informatik II (TI-II)
2.4
Hauptseite
Zusätzliche Informationen
Klassen
Dateien
Auflistung der Dateien
Datei-Elemente
src
user
parser.cc
gehe zur Dokumentation dieser Datei
1
#include <
user/parser.h
>
2
#include <
common/null.h
>
3
#include <
object/kout.h
>
4
#include <
common/string.h
>
5
6
Parser::Parser
(): mNum(0), mFinished(false){}
7
8
void
Parser::clear
(){
9
for
(
unsigned
int
i=0;i<
BUFFERSIZE
;i++)
10
mBuffer
[i]=
'\0'
;
11
mNum
=0;
12
mFinished
=
false
;
13
}
14
15
bool
Parser::feed
(
char
c){
16
if
(c==
'\n'
)
17
return
mFinished
=
true
;
18
19
if
(!
mFinished
&&
mNum
<
BUFFERSIZE
){
20
mBuffer
[
mNum
++]=c;
21
return
true
;
22
}
else
23
return
false
;
24
}
25
26
void
Parser::erase
(){
27
if
(
mNum
)
28
mNum
--;
29
}
30
31
bool
Parser::finished
()
const
{
32
return
mFinished
;
33
}
34
35
Parser::Commands
Parser::result
(
const
char
** arg)
const
{
36
*arg=
NULL
;
37
if
(!
mNum
)
38
return
unknown
;
39
if
(
strncmp
(
mBuffer
,
"start"
,
mNum
)==0){
40
*arg=
mBuffer
+6;
41
return
start
;
42
}
43
44
if
(
strncmp
(
mBuffer
,
"kill"
,
mNum
)==0){
45
*arg=
mBuffer
+5;
46
return
kill
;
47
}
48
49
if
(
strncmp
(
mBuffer
,
"list"
,
mNum
)==0)
50
return
list
;
51
52
if
(
strncmp
(
mBuffer
,
"help"
,
mNum
)==0)
53
return
help
;
54
55
return
unknown
;
56
}
57
58
O_Stream
&
operator<<
(
O_Stream
& o,
const
Parser
& p){
59
o <<
" start <app name> : starts the given application"
<<
endl
;
60
o <<
" kill <app name> : stops the given application"
<<
endl
;
61
o <<
" list : list all available applications"
<<
endl
;
62
o <<
" help : output this help"
<<
endl
;
63
return
o;
64
}
Erzeugt am Mon Jun 30 2014 07:13:28 für OOStuBS - Technische Informatik II (TI-II) von
1.8.1.2