Blender  V3.3
Namespaces | Functions | Variables
file_indexer.cc File Reference
#include "file_indexer.h"
#include "MEM_guardedalloc.h"
#include "BLI_linklist.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"

Go to the source code of this file.

Namespaces

 blender
 
 blender::ed
 
 blender::ed::file
 
 blender::ed::file::indexer
 

Functions

static eFileIndexerResult blender::ed::file::indexer::read_index (const char *UNUSED(file_name), FileIndexerEntries *UNUSED(entries), int *UNUSED(r_read_entries_len), void *UNUSED(user_data))
 
static void blender::ed::file::indexer::update_index (const char *UNUSED(file_name), FileIndexerEntries *UNUSED(entries), void *UNUSED(user_data))
 
constexpr FileIndexerType blender::ed::file::indexer::default_indexer ()
 
static FileIndexerEntryblender::ed::file::indexer::file_indexer_entry_create_from_datablock_info (const BLODataBlockInfo *datablock_info, const int idcode)
 
void ED_file_indexer_entries_extend_from_datablock_infos (FileIndexerEntries *indexer_entries, const LinkNode *datablock_infos, const int idcode)
 
static void ED_file_indexer_entry_free (void *indexer_entry)
 
void ED_file_indexer_entries_clear (FileIndexerEntries *indexer_entries)
 

Variables

const FileIndexerType file_indexer_noop = blender::ed::file::indexer::default_indexer()
 

Detailed Description

This file implements the default file browser indexer and has some helper function to work with FileIndexerEntries.

Definition in file file_indexer.cc.

Function Documentation

◆ ED_file_indexer_entries_clear()

void ED_file_indexer_entries_clear ( FileIndexerEntries indexer_entries)

Removes all entries inside the given indexer_entries.

Definition at line 75 of file file_indexer.cc.

References BLI_linklist_free(), ED_file_indexer_entry_free(), and FileIndexerEntries::entries.

Referenced by filelist_readjob_list_lib().

◆ ED_file_indexer_entries_extend_from_datablock_infos()

void ED_file_indexer_entries_extend_from_datablock_infos ( FileIndexerEntries indexer_entries,
const LinkNode datablock_infos,
int  idcode 
)

Adds all entries from the given datablock_infos to the indexer_entries. The datablock_infos must only contain data for a single IDType. The specific IDType must be passed in the idcode parameter.

Definition at line 56 of file file_indexer.cc.

References BLI_linklist_prepend(), FileIndexerEntries::entries, blender::ed::file::indexer::file_indexer_entry_create_from_datablock_info(), and LinkNode::next.

Referenced by filelist_readjob_list_lib().

◆ ED_file_indexer_entry_free()

static void ED_file_indexer_entry_free ( void indexer_entry)
static

Definition at line 70 of file file_indexer.cc.

References MEM_freeN.

Referenced by ED_file_indexer_entries_clear().

Variable Documentation

◆ file_indexer_noop

Default indexer to use when listing files. The implementation is a no-operation indexing. When set it won't use indexing. It is added to increase the code clarity.

Definition at line 81 of file file_indexer.cc.

Referenced by file_refresh(), filelist_settype(), and blender::ed::asset::AssetList::setup().