mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 19:15:54 +00:00
172 lines
2.4 KiB
C++
172 lines
2.4 KiB
C++
//------------------------------------------------------------------------------
|
|
/*
|
|
Copyright (c) 2011-2013, OpenCoin, Inc.
|
|
*/
|
|
//==============================================================================
|
|
|
|
#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
|