JavaScriptVariant.h [plain text]
#ifndef JavaScriptVariant_h
#define JavaScriptVariant_h
#include "BlackBerryGlobal.h"
#include <BlackBerryPlatformString.h>
namespace BlackBerry {
namespace WebKit {
class BLACKBERRY_EXPORT JavaScriptVariant {
public:
enum DataType {
Undefined = 0,
Null,
Boolean,
Number,
String,
Object,
Exception
};
JavaScriptVariant();
JavaScriptVariant(const JavaScriptVariant&);
JavaScriptVariant(double);
JavaScriptVariant(int);
explicit JavaScriptVariant(bool);
JavaScriptVariant(const BlackBerry::Platform::String&);
~JavaScriptVariant();
JavaScriptVariant& operator=(const JavaScriptVariant&);
void setType(const DataType&);
DataType type() const;
void setDouble(double);
double doubleValue() const;
void setString(const BlackBerry::Platform::String&);
const BlackBerry::Platform::String& stringValue() const;
void setBoolean(bool);
bool booleanValue() const;
private:
JavaScriptVariant(const char*);
DataType m_type;
union {
bool m_booleanValue;
double m_doubleValue;
};
BlackBerry::Platform::String m_stringValue;
};
}
}
#endif // JavaScriptVariant_h