Blender V4.3
ED_file_indexer.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "BLO_readfile.hh"
12
23struct LinkNode;
24
41
49
54 LinkNode /*FileIndexerEntry*/ *entries;
55};
56
57using FileIndexerInitUserDataFunc = void *(*)(const char *root_directory,
58 size_t root_directory_maxlen);
59using FileIndexerFreeUserDataFunc = void (*)(void *);
60using FileIndexerFinishedFunc = void (*)(void *);
61using FileIndexerReadIndexFunc = eFileIndexerResult (*)(const char *file_name,
62 FileIndexerEntries *entries,
63 int *r_read_entries_len,
64 void *user_data);
65using FileIndexerUpdateIndexFunc = void (*)(const char *file_name,
66 FileIndexerEntries *entries,
67 void *user_data);
68
119
120/* `file_indexer.cc` */
121
124
134 FileIndexerEntries *indexer_entries,
135 LinkNode * /*BLODataBlockInfo*/ datablock_infos,
136 int idcode);
external readfile function prototypes.
eFileIndexerResult
@ FILE_INDEXER_ENTRIES_LOADED
@ FILE_INDEXER_NEEDS_UPDATE
void ED_file_indexer_entries_clear(FileIndexerEntries *indexer_entries)
void(*)(void *) FileIndexerFinishedFunc
eFileIndexerResult(*)(const char *file_name, FileIndexerEntries *entries, int *r_read_entries_len, void *user_data) FileIndexerReadIndexFunc
void *(*)(const char *root_directory, size_t root_directory_maxlen) FileIndexerInitUserDataFunc
void ED_file_indexer_entries_extend_from_datablock_infos(FileIndexerEntries *indexer_entries, LinkNode *datablock_infos, int idcode)
void(*)(const char *file_name, FileIndexerEntries *entries, void *user_data) FileIndexerUpdateIndexFunc
void(*)(void *) FileIndexerFreeUserDataFunc
BLODataBlockInfo datablock_info
FileIndexerUpdateIndexFunc update_index
FileIndexerFinishedFunc filelist_finished
FileIndexerReadIndexFunc read_index
FileIndexerFreeUserDataFunc free_user_data
FileIndexerInitUserDataFunc init_user_data