-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDSAction.h
88 lines (74 loc) · 3.03 KB
/
DSAction.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/******************************************************************************
*
*
* Modul: $RCSfile: DSAction.h,v $
*
* $Author: hirche $
* $Date: 1997/08/29 13:33:16 $
* $Revision: 1.1 $
*
* Aufgabe:
* Der Modul stellt die Datenstruktur fuer SDL-Anweisungen breit.
*
* Klassen:
* DSAction: Containerklasse zur Aufnahme der verschiedenen
* Instruktionstypen.
* DSNextState: Klasse fuer die Parameter einer NEXTSTATE-Instruktion.
* DSCall: Klasse fuer die Parameter einer CALL-Instruktion.
* DSOutput: Klasse fuer die Parameter einer OUTPUT-Instruktion.
* DSReset: Klasse fuer die Parameter einer RESET-Instruktion.
* DSSet: Klasse fuer die Parameter einer SET-Instruktion.
* DSTask: Klasse fuer die Parameter einer TASK-Instruktion.
* DSCreate: Klasse fuer die Parameter einer CREATE-Instruktion.
* DSJoin: Klasse fuer die Parameter einer JOIN-Instruktion.
*
******************************************************************************/
/******************************************************************************
* Konstanten
******************************************************************************/
#ifndef _DSACTION_H_
#define _DSACTION_H_
/******************************************************************************
* Include-Dateien
******************************************************************************/
#include "DSBasicTypes.h"
#include "DSObject.h"
/******************************************************************************
* Klasse DSAction
* Zweck: Containerklasse fuer beliebige Instruktionstypen.
* Z100: Seite 58
******************************************************************************/
class DSAction : public DSObject
{
public:
DSAction(DSObject*, // Vaterobjekt, hier DSTransition
DSActionTag,
class DSString * = NULL);
DSAction(DSObject*,
DSActionTag,
class DSString&);
DSAction(DSObject*,
DSActionTag,
const char*);
virtual ~DSAction(void);
public:
class DSString *GetLabel(void) const;
DSActionTag GetTag(void) const;
DSResult SetLabel(class DSString *);
DSResult SetTag(DSActionTag);
DSObject *Clone(DSObject * = NULL,
DSObject * = NULL) const;
// erzeugt eine identische
// Kopie dieses Objekts
// (muss hier nur fuer
// CGAction deklariert werden)
/****************************************************/
/* Die folgende Funktionen dient zum systematischen */
/* Durchlaufen und Verarbeiten der Datenstruktur: */
/****************************************************/
virtual DSResult Write(DSWriter *, DSCardinal = 0) const;
private:
DSActionTag tag;
class DSString *label;
};
#endif