Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayJS::cJSXObject Class Reference

#include <cJSXObject.h>

Inheritance diagram for GrayJS::cJSXObject:
Gray::cRefBase IUnknown

Public Member Functions

 cJSXObject ()
 
 cJSXObject (cJSContext *pjsCx, cXObject *pObj, cJSObject *pjsObj)
 
virtual ~cJSXObject ()
 
 STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept
 
HASHCODE_t get_HashCode () const noexcept
 
cJSObjectget_JSObject () const noexcept
 
void RemoveRoot (cJSContext *pjsCx)
 
- Public Member Functions inherited from Gray::cRefBase
 cRefBase (int iRefCount=0) noexcept
 
virtual ~cRefBase ()
 
int get_RefCount () const noexcept
 
HASHCODE_t get_HashCode () const noexcept
 
 STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept
 
virtual void onFinalRelease ()
 
bool isValidObj () const noexcept
 
 STDMETHOD_ (ULONG, AddRef)(void) override
 
 STDMETHOD_ (ULONG, Release)(void) override
 
STDMETHOD() QueryInterface (const IID &riid, void __RPC_FAR *__RPC_FAR *ppvObject) override
 
void IncRefCount ()
 
void DecRefCount ()
 
bool isStaticConstruct () const noexcept
 
void StaticConstruct ()
 
void StaticDestruct ()
 
bool isDestructing () noexcept
 
void SetDestructing ()
 

Static Public Member Functions

static HASHCODE_t GetHashCode (cXObject *pXObj) noexcept
 

Public Attributes

cXObjectPtr m_pXObj
 keep a ref count to the cXObject we represent. More...
 

Detailed Description

Manage a JavaScript object (JSObject) to wrap a cXObject (IXObject) rooted/locked objects cached for re-use

Constructor & Destructor Documentation

◆ cJSXObject() [1/2]

GrayJS::cJSXObject::cJSXObject ( )

◆ cJSXObject() [2/2]

GrayJS::cJSXObject::cJSXObject ( cJSContext pjsCx,
cXObject pObj,
cJSObject pjsObj 
)

◆ ~cJSXObject()

GrayJS::cJSXObject::~cJSXObject ( )
virtual

Member Function Documentation

◆ get_HashCode()

HASHCODE_t GrayJS::cJSXObject::get_HashCode ( ) const
inlinenoexcept

◆ get_JSObject()

cJSObject* GrayJS::cJSXObject::get_JSObject ( ) const
inlinenoexcept

◆ GetHashCode()

static HASHCODE_t GrayJS::cJSXObject::GetHashCode ( cXObject pXObj)
inlinestaticnoexcept

Create a hash code form the pointer.

Note
NOT the same as get_UID() or get_HashCodeX()

◆ RemoveRoot()

void GrayJS::cJSXObject::RemoveRoot ( cJSContext pjsCx)

◆ STDMETHOD_()

GrayJS::cJSXObject::STDMETHOD_ ( HASHCODE_t  ,
get_HashCodeX   
) const
inlinenoexcept

Member Data Documentation

◆ m_pXObj

cXObjectPtr GrayJS::cJSXObject::m_pXObj

keep a ref count to the cXObject we represent.


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