![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <AssetDataGathererPrivate.h>
Protected Member Functions | |
| void | UpdateDenyList () |
| void | MarkDirty (FStringView MountRelPath) |
| void | AddChildMountPath (FStringView MountRelPath) |
| bool | RemoveChildMountPath (FStringView MountRelPath) |
| bool | IsChildMountPath (FStringView MountRelPath) const |
Protected Attributes | |
| TArray< FString > | ChildMountPaths |
| TSet< FString > | RelPathsDenyList |
| FString | LocalAbsPath |
| FString | LongPackageName |
| TRefCountPtr< FScanDir > | Root |
| FAssetDataDiscovery & | Discovery |
| FMountDir * | ParentMount = nullptr |
| bool | bHasStartedScanning = false |
Gather data about a MountPoint that has been registered with FPackageName The FMountDir holds a FScanTree with information about each directory (that is pruned when not in use). It also holds data that is needed only per MountPoint, such as the packagename. It also holds data per subdirectory that is more performant to hold in a map rather than to require the FScanTrees to be kept.
This class is not ThreadSafe; The FAssetDataDiscovery reads/writes its data only while holding TreeLock.
| UE::AssetDataGather::Private::FMountDir::FMountDir | ( | FAssetDataDiscovery & | InDiscovery, |
| FStringView | LocalAbsPath, | ||
| FStringView | PackagePath | ||
| ) |
| UE::AssetDataGather::Private::FMountDir::~FMountDir | ( | ) |
Record that the MountDir is rooted at a childpath of this. The childpath will not be scanned by this.
|
protected |
Add a ChildMountPath, which indicates that another MountPoint owns that path and this Mount should not scan it.
| SIZE_T UE::AssetDataGather::Private::FMountDir::GetAllocatedSize | ( | ) | const |
Return the memory used by the tree under this MountDir, except that sizeof(*this) is excluded.
Return the MountDirs that have been recorded as ChildMounts.
| FScanDir * UE::AssetDataGather::Private::FMountDir::GetControllingDir | ( | FStringView | LocalAbsPath, |
| bool | bIsDirectory, | ||
| FScanDir::FInherited & | OutParentData, | ||
| FString & | OutRelPath | ||
| ) |
Find the direct parent of InRelPath, or the lowest fallback. See FScanDir::GetControllingDir.
| FAssetDataDiscovery & UE::AssetDataGather::Private::FMountDir::GetDiscovery | ( | ) | const |
Return the FAssetDataDiscovery that owns this FMountDir.
| FScanDir * UE::AssetDataGather::Private::FMountDir::GetFirstIncompleteScanDir | ( | ) |
| FStringView UE::AssetDataGather::Private::FMountDir::GetLocalAbsPath | ( | ) | const |
The local path from FPackageName, absolute d:\root\Engine\Content rather relative ../../../Engine/Content.
| FStringView UE::AssetDataGather::Private::FMountDir::GetLongPackageName | ( | ) | const |
The package path from FPackageName.
| void UE::AssetDataGather::Private::FMountDir::GetMonitorData | ( | FStringView | InLocalAbsPath, |
| FScanDir::FInherited & | OutData | ||
| ) | const |
Report the collapsed data for the scandir - allow list, deny list, etc. Returns false data for non child paths.
| FMountDir * UE::AssetDataGather::Private::FMountDir::GetParentMount | ( | ) | const |
Return the parent MountDir.
|
protected |
Report whether the given Path is equal to or a child of an existing ChildMountPath.
| bool UE::AssetDataGather::Private::FMountDir::IsComplete | ( | ) | const |
Report whether this MountDir is complete: all ScanDirs under it either have scanned or should not scan.
| bool UE::AssetDataGather::Private::FMountDir::IsMonitored | ( | FStringView | InLocalAbsPath | ) | const |
Return whether the given path is a child path of *this and is allow listed and is not deny listed, which means it will be or has been scanned.
|
protected |
Mark that given path needs to be reconsidered by Update.
| void UE::AssetDataGather::Private::FMountDir::OnDestroyClearChildMounts | ( | ) |
Remove all childmounts. Does not handle properly updating the MountDir to reown those paths; this is used during destruction all MountDirs.
Mark that a childpath MountDir is being deleted and the childpath should be scanned again by this.
|
protected |
Remove a ChildMountPath, return whether there was a match to be removed.
| void UE::AssetDataGather::Private::FMountDir::SetHasStartedScanning | ( | ) |
Record a directory under the MountDir has been scanned, used to detect if configuration occurs after scanning.
Record the backpointer to the parent mountdir that this mountdir's path is a child path of, or null if the parent no longer exists.
| void UE::AssetDataGather::Private::FMountDir::Shrink | ( | ) |
Minimize data in internal buffers.
| void UE::AssetDataGather::Private::FMountDir::TrySetDirectoryProperties | ( | FPathExistence & | QueryPath, |
| const FSetPathProperties & | InProperties, | ||
| FScanDirAndParentData * | OutControllingDir = nullptr, |
||
| FStringView * | OutControllingDirRelPath = nullptr, |
||
| bool * | bOutMadeChanges = nullptr |
||
| ) |
| void UE::AssetDataGather::Private::FMountDir::Update | ( | TArray< FScanDirAndParentData > & | OutScanRequests | ) |
Update all incomplete ScanDirs under this MountDir and add any that need to be scanned to OutScanRequests.
|
protected |
Inspect the Discovery's DenyLists and add the ones applicable to this into this MountDir's set of DenyLists.
Records whether any directory at or under the MountDir's root has been scanned.
|
protected |
Child mount paths; these directories should not be scanned by this MountDir.
|
protected |
Backpointer to the Discovery that owns this MountDir.
|
protected |
Absolute path to the root of the MountDir in the local file system.
|
protected |
LongPackageName that was assigned to the MountDir in FPackageName.
|
protected |
If this is a nested MountDir (a nested path was registered with FPackageName) ParentMount is a pointer to the FMountDir that corresponds to the registered parent directory.
|
protected |
Set of relative path from the MountDir paths that should not be scanned, because they were requested deny listed by clients or because a childmount owns them.
|
protected |
ScanDir for the root directory of this MountDir; child paths to scan will be created (and destroyed after use) as children of the ScanDir (with the exception of childmounts).