~jdpipe/ascend/trunk-old

2306 by jpye
Merging in refactor of the C++ code, which is moved out of 'pygtk' and into 'ascxx'.
1
#ifndef ASCXX_METHOD_H
2
#define ASCXX_METHOD_H
3
4
#include <string>
5
6
#include "config.h"
7
extern "C"{
8
#include <ascend/general/platform.h>
9
#include <ascend/general/list.h>
10
#include <ascend/compiler/instance_enum.h>
11
#include <ascend/compiler/watchpt.h>
12
13
#include <ascend/compiler/fractions.h>
14
#include <ascend/compiler/compiler.h>
15
#include <ascend/compiler/dimen.h>
16
#include <ascend/compiler/expr_types.h>
17
#include <ascend/compiler/proc.h>
18
#include <ascend/compiler/initialize.h>
19
20
}
21
22
#include "symchar.h"
23
24
/**
25
	Initialisation functions are specified
26
	in models using "METHOD" statements.
27
28
	This class acts as a holder for these funtions, so that they
29
	can be passed from a type to an instance via instanc.run(method).
30
31
	(@TODO rename this class to Method or similar)
32
*/
33
class Method{
34
private:
35
	struct InitProcedure *initproc;
36
public:
37
	Method(struct InitProcedure *initproc);
38
	Method();
39
	Method(const Method &);
40
	~Method();
41
	struct InitProcedure *getInternalType() const;
42
	const char *getName() const;
43
	SymChar getSym() const;
44
};
45
46
#endif