Public feed #379963

Untitled

public text v1 · immutable
Raw Edit
·published 2007-03-03 17:25 UTC
rendered paste body
#ifndef RTSC_H
#define RTSC_H

#include <glib.h>

#define RTSC_CLASS_RealtimeStatechart  "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLRealtimeStatechart"
#define RTSC_CLASS_RealtimeStartState  "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLRealtimeStartState"
#define RTSC_CLASS_RealtimeStopState   "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLRealtimeStopState"
#define RTSC_CLASS_RealtimeState       "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLComplexRealtimeState"
#define RTSC_CLASS_RealtimeTransition  "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLRealtimeTransition"

#define RTSC_NAME_RealtimeStatechart   "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLRealtimeStatechart::uMLRealtimeStartState"
#define RTSC_NAME_RealtimeState        "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLRealtimeStatechart::uMLRealtimeState"
#define RTSC_NAME_RealtimeTransition   "de.uni_paderborn.fujaba.umlrt.realtimestatechart.UMLRealtimeStatechart::uMLRealtimeTransition"

#define RTSC_TAG_Object                "object"
#define RTSC_TAG_Class                 "class"
#define RTSC_TAG_Attribute             "attribute"
#define RTSC_TAG_Value                 "value"
#define RTSC_TAG_Reference             "reference"

#ifndef bool
typedef enum {
	false = 0, 
	true = 1 
} bool;   
#endif

typedef enum {
	START,
	STOP,
	NORMAL
} StateType;

typedef struct {
	char *name;
	bool is_top_statechart;
	/* GList *start_state_node; */
	GList *state_list;
	GList *transition_list;
} RealtimeStatechart;

typedef struct {
	char *name;
	RealtimeStatechart *statechart;
	StateType type;
	GList *transition_list;
} RealtimeState;

typedef struct {
	char *name;
	RealtimeStatechart *statechart;
	RealtimeState *from;
	RealtimeState *to;
} RealtimeTransition;

#endif