CFx SDK Documentation  2023 SP0
Public Member Functions | Protected Member Functions | List of all members
OdRxMethod Class Referenceabstract

#include <RxMethod.h>

Inheritance diagram for OdRxMethod:
OdRxMember OdRxObject

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdRxMethod)
 
OdResult invoke (OdRxObject *pO, OdRxValue &param) const
 
OdResult isExecutable (const OdRxObject *pO, const OdRxValue &param) const
 
- Public Member Functions inherited from OdRxMember
 ODRX_DECLARE_MEMBERS (OdRxMember)
 
const OdString & name () const throw ()
 
OdString localName () const throw ()
 
const OdRxValueType & type () const throw ()
 
const OdRxAttributeCollection & attributes () const throw ()
 
OdRxAttributeCollection & attributes () throw ()
 
const OdRxObject * owner () const throw ()
 
const OdArray< OdRxMemberPtr > * children () const throw ()
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObject * queryX (const OdRxClass *pClass) const
 
virtual OdRxObject * x (const OdRxClass *pClass) const
 
virtual OdRxClass * isA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Protected Member Functions

virtual OdResult subInvoke (OdRxObject *pO, OdRxValue &param) const =0
 
virtual OdResult subIsExecutable (const OdRxObject *pO, const OdRxValue &param) const
 
- Protected Member Functions inherited from OdRxMember
virtual ~OdRxMember ()
 
 OdRxMember (OdRxMemberImpl *)
 
virtual OdString subLocalName () const
 
virtual OdResult subChildren (OdArray< OdRxMemberPtr > &children) const
 
virtual OdResult subChildrenEx (OdArray< OdRxMemberPtr > *&pChildren) const
 
void init (const OdString &name, const OdRxValueType *type, const OdRxObject *owner=0)
 

Additional Inherited Members

- Static Public Member Functions inherited from OdRxMember
static void deleteMember (const OdRxMember *pMember) throw ()
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClass * desc ()
 
- Protected Attributes inherited from OdRxMember
OdRxMemberImpl * m_pImpl
 

Detailed Description

This class allows implementing "protocol extension-like" members, or late binding calls for scripting.

Definition at line 35 of file RxMethod.h.

Member Function Documentation

◆ invoke()

OdResult OdRxMethod::invoke ( OdRxObject *  pO,
OdRxValue &  param 
) const

Executes the underlying method of the object.

Parameters
pO[in] The object which method to call.
param[in,out] Method parameter(s) wrapped in OdRxValue. If method needs to return a value it is assigned to the param.
Remarks
Parameter may be OdRxValue::empty() if no input is required.
Returns
Returns eOk if the call was successful.

◆ isExecutable()

OdResult OdRxMethod::isExecutable ( const OdRxObject *  pO,
const OdRxValue &  param 
) const

Returns eOk if the method can be executed with this parameter.

◆ ODRX_DECLARE_MEMBERS()

OdRxMethod::ODRX_DECLARE_MEMBERS ( OdRxMethod  )

◆ subInvoke()

virtual OdResult OdRxMethod::subInvoke ( OdRxObject *  pO,
OdRxValue &  param 
) const
protectedpure virtual

◆ subIsExecutable()

virtual OdResult OdRxMethod::subIsExecutable ( const OdRxObject *  pO,
const OdRxValue &  param 
) const
protectedvirtual

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