XII Release 0.1.0
Loading...
Searching...
No Matches
xiiAssetProcessor Class Reference

#include <AssetProcessor.h>

Public Types

enum class  ProcessTaskState : xiiUInt8 { Stopped , Running , Stopping }

Public Member Functions

void StartProcessTask ()
void StopProcessTask (bool bForce, bool bWait=false)
ProcessTaskState GetProcessTaskState () const
void AddLogWriter (xiiLoggingEvent::Handler handler)
void RemoveLogWriter (xiiLoggingEvent::Handler handler)

Static Public Member Functions

static xiiResult PrepareAssetRequest (xiiUuid assetGuid, xiiProcessAssetMsg &out_request)
 Copyright (c) Theophilus Eriata. All Rights Reserved.

Public Attributes

xiiEvent< const xiiAssetProcessorEvent & > m_Events

Friends

class xiiProcessTask
class xiiProcessThread
class xiiAssetCurator

Detailed Description

Background asset processing is handled by this class. Creates EditorProcessor processes.

Member Enumeration Documentation

◆ ProcessTaskState

enum class xiiAssetProcessor::ProcessTaskState : xiiUInt8
strong
Enumerator
Stopped 

No EditorProcessor or the process thread is running.

Running 

Everything is active.

Stopping 

Everything is still running but no new tasks are put into the EditorProcessors.

Member Function Documentation

◆ PrepareAssetRequest()

xiiResult xiiAssetProcessor::PrepareAssetRequest ( xiiUuid assetGuid,
xiiProcessAssetMsg & out_request )
static

Copyright (c) Theophilus Eriata. All Rights Reserved.

Captures a known asset's owner, hashes, active profile and all dependency categories for IPC. The output is unchanged on failure. The processor independently validates the transform state. The captured profile remains associated with the request if the editor later changes profiles.

◆ StopProcessTask()

void xiiAssetProcessor::StopProcessTask ( bool bForce,
bool bWait = false )

Stops dispatching jobs. Force cancels running processes; wait joins the processor thread after outstanding jobs finish. Waiting must not hold the asset-curator mutex.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/Assets/AssetProcessor.h
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/Assets/Implementation/AssetProcessing.cpp
  • /home/runner/work/XII/XII/Source/Editor/EditorFramework/Assets/Implementation/AssetProcessor.cpp