Plasma Engine  2.0
Loading...
Searching...
No Matches
ObjectDirectAccessor.h
1#pragma once
2
3#include <ToolsFoundation/Object/ObjectAccessorBase.h>
4
6
7class PL_TOOLSFOUNDATION_DLL plObjectDirectAccessor : public plObjectAccessorBase
8{
9public:
11
12 virtual const plDocumentObject* GetObject(const plUuid& object) override;
13 virtual plStatus GetValue(
14 const plDocumentObject* pObject, const plAbstractProperty* pProp, plVariant& out_value, plVariant index = plVariant()) override;
15 virtual plStatus SetValue(
16 const plDocumentObject* pObject, const plAbstractProperty* pProp, const plVariant& newValue, plVariant index = plVariant()) override;
17 virtual plStatus InsertValue(
18 const plDocumentObject* pObject, const plAbstractProperty* pProp, const plVariant& newValue, plVariant index = plVariant()) override;
19 virtual plStatus RemoveValue(const plDocumentObject* pObject, const plAbstractProperty* pProp, plVariant index = plVariant()) override;
20 virtual plStatus MoveValue(
21 const plDocumentObject* pObject, const plAbstractProperty* pProp, const plVariant& oldIndex, const plVariant& newIndex) override;
22 virtual plStatus GetCount(const plDocumentObject* pObject, const plAbstractProperty* pProp, plInt32& out_iCount) override;
23
24 virtual plStatus AddObject(const plDocumentObject* pParent, const plAbstractProperty* pParentProp, const plVariant& index, const plRTTI* pType,
25 plUuid& inout_objectGuid) override;
26 virtual plStatus RemoveObject(const plDocumentObject* pObject) override;
27 virtual plStatus MoveObject(
28 const plDocumentObject* pObject, const plDocumentObject* pNewParent, const plAbstractProperty* pParentProp, const plVariant& index) override;
29
30 virtual plStatus GetKeys(const plDocumentObject* pObject, const plAbstractProperty* pProp, plDynamicArray<plVariant>& out_keys) override;
31 virtual plStatus GetValues(const plDocumentObject* pObject, const plAbstractProperty* pProp, plDynamicArray<plVariant>& out_values) override;
32
33protected:
34 plDocumentObjectManager* m_pManager;
35};
This is the base interface for all properties in the reflection system. It provides enough informatio...
Definition AbstractProperty.h:150
Definition DocumentObjectBase.h:11
Represents to content of a document. Every document has exactly one root object under which all objec...
Definition DocumentObjectManager.h:116
Definition DynamicArray.h:81
Definition ObjectAccessorBase.h:8
Definition ObjectDirectAccessor.h:8
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
An plResult with an additional message for the reason of failure.
Definition Status.h:12