24#ifndef _ODRXMEMBER_INCLUDED_
25#define _ODRXMEMBER_INCLUDED_
38class OdRxMemberIteratorImpl;
39class OdRxMemberQueryContextImpl;
40class OdRxMemberQueryEngineImpl;
42class OdRxMemberCollectionImpl;
117 const OdRxObject*
owner() const throw();
189class OdRxEnumTagImpl;
296 OdRxMemberCollectionImpl* m_pImpl;
OdSmartPtr< OdRxMember > OdRxMemberPtr
OdSmartPtr< OdRxFacetProvider > OdRxFacetProviderPtr
OdSharedPtr< OdRxMemberIterator > OdRxMemberIteratorPtr
OdSmartPtr< OdRxEnumTag > OdRxEnumTagPtr
ODRX_DECLARE_MEMBERS(OdRxEnumTag)
const OdRxValue & value() const
OdRxEnumTag(OdRxMemberImpl *)
static OdRxEnumTagPtr createObject(const OdChar *name, const OdRxValue &value, const OdRxObject *owner)
virtual OdString subAlternateLocalName() const
OdString alternateLocalName() const
friend class OdRxMemberCollectionImpl
void add(OdRxMember *member)
const OdRxClass * owner() const
virtual int count() const =0
virtual ~OdRxMemberCollection()
virtual OdRxMember * getAt(int index) const =0
const OdString & name() const
virtual OdString subLocalName() const
virtual OdResult subChildrenEx(OdArray< OdRxMemberPtr > *&pChildren) const
const OdRxObject * owner() const
OdString localName() const
virtual OdResult subChildren(OdArray< OdRxMemberPtr > &children) const
const OdRxValueType & type() const
friend class OdRxMemberImpl
static void deleteMember(const OdRxMember *pMember)
const OdArray< OdRxMemberPtr > * children() const
const OdRxAttributeCollection & attributes() const
OdRxMember(OdRxMemberImpl *)
void init(const OdString &name, const OdRxValueType *type, const OdRxObject *owner=0)
ODRX_DECLARE_MEMBERS(OdRxMember)
virtual OdUInt64 size() const
virtual ~OdRxMemberIterator()
virtual OdRxMemberPtr find(const OdChar *name) const
virtual OdRxMember * current() const
friend class OdRxMemberIteratorImpl
ODRX_DECLARE_MEMBERS(OdRxMemberOverrule)
static OdResult addOverrule(OdRxMember *pOverruledSubject, OdRxMemberOverrule *pOverrule, bool bAddAtLast=false)
static OdResult removeOverrule(OdRxMember *pOverruledSubject, OdRxMemberOverrule *pOverrule)
friend class OdRxMemberQueryContextImpl
OdRxMemberIteratorPtr newMemberIterator(const OdArray< OdRxClassPtr > &facets) const
virtual OdRxMemberIteratorPtr subNewMemberIterator(const OdArray< OdRxClassPtr > &facets) const =0
ODRX_DECLARE_MEMBERS(OdRxMemberQueryContext)
OdRxMemberQueryContextImpl * m_pImpl
virtual ~OdRxMemberQueryContext()
virtual OdRxMemberPtr find(const OdArray< OdRxClassPtr > &facets, const OdChar *name) const
static OdRxMemberQueryEngine * theEngine()
const OdRxMemberQueryContext * defaultContext() const
friend class OdRxMemberQueryEngineImpl
const OdRxPromotingQueryContext * promotingContext() const
OdRxMemberPtr find(const OdRxObject *pO, const OdChar *name, const OdRxMemberQueryContext *pContext=NULL, bool bQueryFacets=true) const
void removeFacetProvider(OdRxFacetProvider *pProvider)
void addFacetProvider(OdRxFacetProvider *pProvider)
OdRxMemberIteratorPtr newMemberIterator(const OdRxObject *pO, const OdRxMemberQueryContext *pContext=NULL) const
void addReactor(OdRxMemberReactor *pReactor)
void removeReactor(OdRxMemberReactor *pReactor)
virtual void goodbye(const OdRxMember *)
virtual ~OdRxMemberReactor()
GLuint const GLchar * name
ODRX_DECLARE_MEMBERS(OdRxFacetProvider)
virtual void getFacets(const OdRxObject *pO, const OdRxMemberQueryContext *pContext, OdArray< OdRxClassPtr > &facets)=0