载入中...
搜索中...
未找到
eve::editor::PluginPermissionTarget类 参考final

Revisioned plugin permission policy with reversible, auditable grants. 更多...

#include <EditorPluginPermissions.h>

类 eve::editor::PluginPermissionTarget 继承关系图:
eve::editing::EditableTargetState eve::editing::IEditableTarget eve::editing::IDomainOperationTarget eve::editing::IDomainOperationTargetStaging eve::editing::IEditableTarget eve::editing::IEditableTarget

Public 成员函数

 PluginPermissionTarget (std::string id)
 Plugin permission target.
 
TargetId targetId () const override
 Target id.
 
TargetDescriptor describe () const override
 Describe.
 
void * queryCapability (const CapabilityId &capability) override
 Query an optional target capability.
 
Result< void > applyDomainOperation (const DomainOperation &operation) override
 Applies domain operation.
 
std::unique_ptr< IDomainOperationTarget > cloneDomainState () const override
 Clones domain state.
 
Result< void > commitDomainState (std::unique_ptr< IDomainOperationTarget > candidate) override
 Commits domain state.
 
std::vector< PluginPermissionGrant > grants () const
 Enumerate grants in stable-id order.
 
Result< DomainOperation > makeSet (const PluginPermissionGrant &grant) const
 Plan creation or replacement after least-privilege validation.
 
Result< DomainOperation > makeRemove (const StableId &id) const
 Plan grant removal.
 
std::string decision (const std::string &plugin, const std::string &capability, const std::string &scope) const
 Resolve exact plugin/capability/scope policy, defaulting to ask.
 
EditorValue snapshotValue () const
 Capture deterministic permission policy.
 
Result< void > loadSnapshot (const EditorValue &snapshot)
 Atomically load a validated permission policy.
 
- Public 成员函数 继承自 eve::editing::EditableTargetState
 EditableTargetState (Revision initial=1)
 Constructs the shared state with an explicit initial revision.
 
EditRegion dirtyRegion () const override
 Return the accumulated dirty region.
 
void clearDirtyRegion () override
 Discard the dirty region; the revision does not change.
 
std::uint64_t revision () const override
 Return the current revision.
 
Revision revisionValue () const noexcept
 Return the revision as the shared protocol revision type.
 
- Public 成员函数 继承自 eve::editing::IEditableTarget
virtual ~IEditableTarget ()=default
 Releases IEditableTarget resources.
 
template<class C >
eve::OptionalRef< C > capability ()
 Query a capability through its interface-owned stable identity.
 
template<class C >
eve::OptionalRef< const C > capability () const
 Capability.
 
template<class C >
C * query ()
 Queries query.
 
template<class C >
const C * query () const
 Queries query.
 
- Public 成员函数 继承自 eve::editing::IDomainOperationTarget
 ~IDomainOperationTarget () override=default
 Releases IDomainOperationTarget resources.
 
- Public 成员函数 继承自 eve::editing::IDomainOperationTargetStaging
virtual ~IDomainOperationTargetStaging ()=default
 Releases IDomainOperationTargetStaging resources.
 

额外继承的成员函数

- Protected 成员函数 继承自 eve::editing::EditableTargetState
void widenDirty (int x, int y)
 Widen the dirty region without advancing the revision.
 
void widenDirty (const EditRegion &region)
 Widen the dirty region without advancing the revision.
 
void widenDirty ()
 Mark an unknown area dirty without advancing the revision.
 
void bumpRevision ()
 Advance the revision without touching the dirty region.
 
void setRevision (Revision revision)
 Adopt a revision observed elsewhere, without advancing it.
 
void setDirtyRegion (const EditRegion &region)
 Replace the dirty region wholesale, without advancing the revision.
 
void markDirty (int x, int y)
 Include one cell in the dirty region and advance the revision.
 
void markDirty (const EditRegion &region)
 Include a whole region and advance the revision.
 
void markDirty ()
 Mark an unknown area dirty and advance the revision.
 

详细描述

Revisioned plugin permission policy with reversible, auditable grants.

在文件 EditorPluginPermissions.h 第 25 行定义.

构造及析构函数说明

◆ PluginPermissionTarget()

eve::editor::PluginPermissionTarget::PluginPermissionTarget ( std::string  id)
explicit

Plugin permission target.

在文件 EditorPluginPermissions.cpp 第 45 行定义.

成员函数说明

◆ applyDomainOperation()

Result< void > eve::editor::PluginPermissionTarget::applyDomainOperation ( const DomainOperation &  operation)
overridevirtual

◆ cloneDomainState()

std::unique_ptr< IDomainOperationTarget > eve::editor::PluginPermissionTarget::cloneDomainState ( ) const
overridevirtual

Clones domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 EditorPluginPermissions.cpp 第 82 行定义.

◆ commitDomainState()

Result< void > eve::editor::PluginPermissionTarget::commitDomainState ( std::unique_ptr< IDomainOperationTarget >  candidate)
overridevirtual

Commits domain state.

实现了 eve::editing::IDomainOperationTargetStaging.

在文件 EditorPluginPermissions.cpp 第 85 行定义.

◆ decision()

std::string eve::editor::PluginPermissionTarget::decision ( const std::string &  plugin,
const std::string &  capability,
const std::string &  scope 
) const

Resolve exact plugin/capability/scope policy, defaulting to ask.

在文件 EditorPluginPermissions.cpp 第 121 行定义.

引用了 eve::editing::IEditableTarget::capability() , 以及 scope.

◆ describe()

TargetDescriptor eve::editor::PluginPermissionTarget::describe ( ) const
overridevirtual

◆ grants()

std::vector< PluginPermissionGrant > eve::editor::PluginPermissionTarget::grants ( ) const

Enumerate grants in stable-id order.

在文件 EditorPluginPermissions.cpp 第 93 行定义.

被这些函数引用 loadSnapshot() , 以及 snapshotValue().

◆ loadSnapshot()

Result< void > eve::editor::PluginPermissionTarget::loadSnapshot ( const EditorValue &  snapshot)

◆ makeRemove()

Result< DomainOperation > eve::editor::PluginPermissionTarget::makeRemove ( const StableId &  id) const

Plan grant removal.

在文件 EditorPluginPermissions.cpp 第 113 行定义.

引用了 found, operation , 以及 value.

◆ makeSet()

Result< DomainOperation > eve::editor::PluginPermissionTarget::makeSet ( const PluginPermissionGrant &  grant) const

◆ queryCapability()

void * eve::editor::PluginPermissionTarget::queryCapability ( const CapabilityId &  capability)
overridevirtual

Query an optional target capability.

返回
Borrowed pointer owned by this target, or null. @lifetime Valid until this target is destroyed or mutated.

重载 eve::editing::IEditableTarget .

在文件 EditorPluginPermissions.cpp 第 53 行定义.

引用了 eve::editing::IEditableTarget::capability().

◆ snapshotValue()

EditorValue eve::editor::PluginPermissionTarget::snapshotValue ( ) const

Capture deterministic permission policy.

在文件 EditorPluginPermissions.cpp 第 129 行定义.

引用了 grants().

◆ targetId()

TargetId eve::editor::PluginPermissionTarget::targetId ( ) const
inlineoverridevirtual

Target id.

实现了 eve::editing::IEditableTarget.

在文件 EditorPluginPermissions.h 第 33 行定义.


该类的文档由以下文件生成: