UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ugdk::script::python::PythonData Class Reference

#include <ugdk/script/languages/python/pythondata.h>

Inheritance diagram for ugdk::script::python::PythonData:
Collaboration diagram for ugdk::script::python::PythonData:

Public Member Functions

 PythonData (PythonWrapper *wrapper, PyObject *data_object, bool owns_ref)
 
virtual ~PythonData ()
 
virtual void * Unwrap (const VirtualType &type, bool disown) const override
 Tries to unwrap the data contained in this object using the given type. More...
 
const char * UnwrapString () const override
 
bool UnwrapBoolean () const override
 
int UnwrapInteger () const override
 
double UnwrapNumber () const override
 
Vector UnwrapVector () const override
 
List UnwrapList () const override
 
Map UnwrapMap () const override
 
virtual void Wrap (void *data, const VirtualType &type, bool disown) override
 Tries to wrap the given data with the given type into this object. More...
 
virtual void WrapString (const char *str) override
 
virtual void WrapBoolean (bool boolean) override
 
virtual void WrapInteger (int number) override
 
virtual void WrapNumber (double number) override
 
virtual LangWrapperwrapper () const
 
virtual Ptr Execute (const std::vector< Ptr > &args)
 
virtual Ptr GetAttribute (Ptr key)
 Tries to get a attribute with the given name from this object. More...
 
virtual Ptr SetAttribute (Ptr key, Ptr value)
 
void * unsafe_data () const
 
- Public Member Functions inherited from ugdk::script::VirtualData
virtual ~VirtualData ()
 
Ptr Copy ()
 
virtual Ptr Execute (const Vector &args)=0
 
virtual void AddToBuffer ()
 
virtual void RemoveFromBuffer ()
 

Protected Attributes

PythonWrapperwrapper_
 
bool own_ref_
 
PyObject * py_data_
 

Additional Inherited Members

- Public Types inherited from ugdk::script::VirtualData
typedef std::shared_ptr
< VirtualData
Ptr
 
typedef std::shared_ptr< const
VirtualData
ConstPtr
 
typedef std::weak_ptr
< VirtualData
WeakPtr
 
typedef std::vector< PtrVector
 
typedef std::list< PtrList
 
typedef std::map< Ptr, PtrMap
 
- Protected Member Functions inherited from ugdk::script::VirtualData
 VirtualData ()
 

Constructor & Destructor Documentation

ugdk::script::python::PythonData::PythonData ( PythonWrapper wrapper,
PyObject *  data_object,
bool  owns_ref 
)
inline
virtual ugdk::script::python::PythonData::~PythonData ( )
inlinevirtual

Member Function Documentation

virtual Ptr ugdk::script::python::PythonData::Execute ( const std::vector< Ptr > &  args)
virtual

Tries to execute ourselves as a function in a script language, passing thee given arguments and returning the result.

virtual Ptr ugdk::script::python::PythonData::GetAttribute ( Ptr  key)
virtual

Tries to get a attribute with the given name from this object.

Implements ugdk::script::VirtualData.

virtual Ptr ugdk::script::python::PythonData::SetAttribute ( Ptr  key,
Ptr  value 
)
virtual
void* ugdk::script::python::PythonData::unsafe_data ( ) const
inlinevirtual
virtual void* ugdk::script::python::PythonData::Unwrap ( const VirtualType type,
bool  disown 
) const
overridevirtual

Tries to unwrap the data contained in this object using the given type.

Implements ugdk::script::VirtualData.

bool ugdk::script::python::PythonData::UnwrapBoolean ( ) const
overridevirtual
int ugdk::script::python::PythonData::UnwrapInteger ( ) const
overridevirtual
List ugdk::script::python::PythonData::UnwrapList ( ) const
overridevirtual
Map ugdk::script::python::PythonData::UnwrapMap ( ) const
overridevirtual
double ugdk::script::python::PythonData::UnwrapNumber ( ) const
overridevirtual
const char* ugdk::script::python::PythonData::UnwrapString ( ) const
overridevirtual
Vector ugdk::script::python::PythonData::UnwrapVector ( ) const
overridevirtual
virtual void ugdk::script::python::PythonData::Wrap ( void *  data,
const VirtualType type,
bool  disown 
)
overridevirtual

Tries to wrap the given data with the given type into this object.

Implements ugdk::script::VirtualData.

virtual void ugdk::script::python::PythonData::WrapBoolean ( bool  boolean)
overridevirtual
virtual void ugdk::script::python::PythonData::WrapInteger ( int  number)
overridevirtual
virtual void ugdk::script::python::PythonData::WrapNumber ( double  number)
overridevirtual
virtual LangWrapper* ugdk::script::python::PythonData::wrapper ( ) const
inlinevirtual
virtual void ugdk::script::python::PythonData::WrapString ( const char *  str)
overridevirtual

Member Data Documentation

bool ugdk::script::python::PythonData::own_ref_
protected
PyObject* ugdk::script::python::PythonData::py_data_
protected
PythonWrapper* ugdk::script::python::PythonData::wrapper_
protected

The documentation for this class was generated from the following file: