1*fce4895dSRene Gollent /* 2*fce4895dSRene Gollent * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 3*fce4895dSRene Gollent * Distributed under the terms of the MIT License. 4*fce4895dSRene Gollent */ 5*fce4895dSRene Gollent #ifndef VARIABLE_H 6*fce4895dSRene Gollent #define VARIABLE_H 7*fce4895dSRene Gollent 8*fce4895dSRene Gollent 9*fce4895dSRene Gollent #include <String.h> 10*fce4895dSRene Gollent 11*fce4895dSRene Gollent #include <Referenceable.h> 12*fce4895dSRene Gollent 13*fce4895dSRene Gollent 14*fce4895dSRene Gollent class CpuState; 15*fce4895dSRene Gollent class ObjectID; 16*fce4895dSRene Gollent class Type; 17*fce4895dSRene Gollent class ValueLocation; 18*fce4895dSRene Gollent 19*fce4895dSRene Gollent 20*fce4895dSRene Gollent class Variable : public BReferenceable { 21*fce4895dSRene Gollent public: 22*fce4895dSRene Gollent Variable(ObjectID* id, const BString& name, 23*fce4895dSRene Gollent Type* type, ValueLocation* location, 24*fce4895dSRene Gollent CpuState* state = NULL); 25*fce4895dSRene Gollent ~Variable(); 26*fce4895dSRene Gollent ID()27*fce4895dSRene Gollent ObjectID* ID() const { return fID; } Name()28*fce4895dSRene Gollent const BString& Name() const { return fName; } GetType()29*fce4895dSRene Gollent Type* GetType() const { return fType; } Location()30*fce4895dSRene Gollent ValueLocation* Location() const { return fLocation; } GetCpuState()31*fce4895dSRene Gollent CpuState* GetCpuState() const { return fCpuState; } 32*fce4895dSRene Gollent 33*fce4895dSRene Gollent private: 34*fce4895dSRene Gollent ObjectID* fID; 35*fce4895dSRene Gollent BString fName; 36*fce4895dSRene Gollent Type* fType; 37*fce4895dSRene Gollent ValueLocation* fLocation; 38*fce4895dSRene Gollent CpuState* fCpuState; 39*fce4895dSRene Gollent }; 40*fce4895dSRene Gollent 41*fce4895dSRene Gollent 42*fce4895dSRene Gollent #endif // VARIABLE_H 43