1 #ifndef UGDK_SCRIPT_VIRTUALDATA_H_
2 #define UGDK_SCRIPT_VIRTUALDATA_H_
42 class VirtualData :
public std::enable_shared_from_this<VirtualData> {
46 typedef std::shared_ptr<VirtualData>
Ptr;
47 typedef std::shared_ptr<const VirtualData>
ConstPtr;
48 typedef std::weak_ptr<VirtualData>
WeakPtr;
50 typedef std::list<Ptr>
List;
51 typedef std::map<Ptr, Ptr>
Map;
56 return shared_from_this();
89 virtual void Wrap(
void* data,
const VirtualType& type,
bool disown) = 0;
99 virtual Ptr
Execute(
const Vector& args) = 0;
Abstract class representing virtual script data.
Definition: virtualdata.h:42
virtual int UnwrapInteger() const =0
std::shared_ptr< const VirtualData > ConstPtr
Definition: virtualdata.h:47
virtual void * Unwrap(const VirtualType &type, bool disown) const =0
Tries to unwrap the data contained in this object using the given type.
virtual Ptr GetAttribute(Ptr key)=0
Tries to get a attribute with the given name from this object.
virtual void RemoveFromBuffer()
Definition: virtualdata.h:111
virtual bool UnwrapBoolean() const =0
virtual void Wrap(void *data, const VirtualType &type, bool disown)=0
Tries to wrap the given data with the given type.
virtual double UnwrapNumber() const =0
Definition: animation.h:11
virtual Ptr SetAttribute(Ptr key, Ptr value)=0
std::shared_ptr< VirtualData > Ptr
Definition: virtualdata.h:46
virtual Map UnwrapMap() const =0
std::map< Ptr, Ptr > Map
Definition: virtualdata.h:51
VirtualData()
Definition: virtualdata.h:115
virtual void WrapBoolean(bool boolean)=0
virtual void WrapNumber(double number)=0
virtual Vector UnwrapVector() const =0
virtual List UnwrapList() const =0
std::weak_ptr< VirtualData > WeakPtr
Definition: virtualdata.h:48
virtual void AddToBuffer()
Definition: virtualdata.h:110
virtual const char * UnwrapString() const =0
Definition: langwrapper.h:17
std::list< Ptr > List
Definition: virtualdata.h:50
virtual ~VirtualData()
Definition: virtualdata.h:53
std::vector< Ptr > Vector
Definition: virtualdata.h:49
virtual void * unsafe_data() const =0
virtual void WrapInteger(int number)=0
virtual Ptr Execute(const Vector &args)=0
Ptr Copy()
Definition: virtualdata.h:55
virtual void WrapString(const char *str)=0
virtual LangWrapper * wrapper() const =0