Files
xahaud/src/cpp/ripple/ScriptData.h
2013-05-27 13:14:10 -07:00

93 lines
1.6 KiB
C++

#ifndef SCRIPT_DATA_H
#define SCRIPT_DATA_H
namespace Script {
class Data
{
public:
typedef boost::shared_ptr<Data> pointer;
virtual ~Data(){ ; }
virtual bool isInt32(){ return(false); }
virtual bool isFloat(){ return(false); }
virtual bool isUint160(){ return(false); }
virtual bool isError(){ return(false); }
virtual bool isTrue(){ return(false); }
virtual bool isBool(){ return(false); }
//virtual bool isBlockEnd(){ return(false); }
virtual int getInt(){ return(0); }
virtual float getFloat(){ return(0); }
virtual uint160 getUint160(){ return(0); }
//virtual bool isCurrency(){ return(false); }
};
class IntData : public Data
{
int mValue;
public:
IntData(int value)
{
mValue=value;
}
bool isInt32(){ return(true); }
int getInt(){ return(mValue); }
float getFloat(){ return((float)mValue); }
bool isTrue(){ return(mValue!=0); }
};
class FloatData : public Data
{
float mValue;
public:
FloatData(float value)
{
mValue=value;
}
bool isFloat(){ return(true); }
float getFloat(){ return(mValue); }
bool isTrue(){ return(mValue!=0); }
};
class Uint160Data : public Data
{
uint160 mValue;
public:
Uint160Data(uint160 value) : mValue(value) { ; }
bool isUint160(){ return(true); }
uint160 getUint160(){ return(mValue); }
};
class BoolData : public Data
{
bool mValue;
public:
BoolData(bool value)
{
mValue=value;
}
bool isBool(){ return(true); }
bool isTrue(){ return(mValue); }
};
class ErrorData : public Data
{
public:
bool isError(){ return(true); }
};
class BlockEndData : public Data
{
public:
bool isBlockEnd(){ return(true); }
};
}
#endif
// vim:ts=4