Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
IGUIProxyObject Class Referencefinal

JS GUI proxies need to store some private data. More...

#include <JSInterface_GUIProxy.h>

Collaboration diagram for IGUIProxyObject:

Public Types

using PrivateData = IGUIObject *
 

Public Member Functions

JSObject * Get () const
 

Static Public Member Functions

template<typename T >
static TFromPrivateSlot (JSObject *obj)
 
template<>
IGUIObjectFromPrivateSlot (JSObject *)
 
template<>
IGUIObjectFromPrivateSlot (JSObject *obj)
 

Protected Member Functions

 IGUIProxyObject ()=default
 
 IGUIProxyObject (const IGUIProxyObject &)=delete
 
 IGUIProxyObject (IGUIProxyObject &&)=delete
 

Static Protected Member Functions

template<typename T >
static TUnsafeFromPrivateSlot (JSObject *obj)
 

Protected Attributes

JS::PersistentRootedObject m_Object
 
PrivateData m_Ptr
 

Friends

template<typename T >
class JSI_GUIProxy
 
std::unique_ptr< IGUIProxyObjectstd::make_unique ()
 

Detailed Description

JS GUI proxies need to store some private data.

This class is responsible for deleting that data.

Member Typedef Documentation

◆ PrivateData

Constructor & Destructor Documentation

◆ IGUIProxyObject() [1/3]

IGUIProxyObject::IGUIProxyObject ( )
protecteddefault

◆ IGUIProxyObject() [2/3]

IGUIProxyObject::IGUIProxyObject ( const IGUIProxyObject )
protecteddelete

◆ IGUIProxyObject() [3/3]

IGUIProxyObject::IGUIProxyObject ( IGUIProxyObject &&  )
protecteddelete

Member Function Documentation

◆ FromPrivateSlot() [1/3]

template<>
IGUIObject * IGUIProxyObject::FromPrivateSlot ( JSObject *  )
static

◆ FromPrivateSlot() [2/3]

template<typename T >
static T * IGUIProxyObject::FromPrivateSlot ( JSObject *  obj)
inlinestatic

◆ FromPrivateSlot() [3/3]

template<>
IGUIObject * IGUIProxyObject::FromPrivateSlot ( JSObject *  obj)
static

◆ Get()

JSObject * IGUIProxyObject::Get ( ) const
inline

◆ UnsafeFromPrivateSlot()

template<typename T >
static T * IGUIProxyObject::UnsafeFromPrivateSlot ( JSObject *  obj)
inlinestaticprotected

Friends And Related Function Documentation

◆ JSI_GUIProxy

template<typename T >
friend class JSI_GUIProxy
friend

◆ std::make_unique

std::unique_ptr< IGUIProxyObject > std::make_unique ( )
friend

Member Data Documentation

◆ m_Object

JS::PersistentRootedObject IGUIProxyObject::m_Object
protected

◆ m_Ptr

PrivateData IGUIProxyObject::m_Ptr
protected

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