Blender  V3.3
ED_file_indexer.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include "BLO_readfile.h"
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
26 struct LinkNode;
27 
31 typedef enum eFileIndexerResult {
37 
44 
48 typedef struct FileIndexerEntry {
50  short idcode;
52 
56 typedef struct FileIndexerEntries {
57  struct LinkNode /* FileIndexerEntry */ *entries;
59 
60 typedef void *(*FileIndexerInitUserDataFunc)(const char *root_directory,
61  size_t root_directory_maxlen);
62 typedef void (*FileIndexerFreeUserDataFunc)(void *);
63 typedef void (*FileIndexerFinishedFunc)(void *);
64 typedef eFileIndexerResult (*FileIndexerReadIndexFunc)(const char *file_name,
65  FileIndexerEntries *entries,
66  int *r_read_entries_len,
67  void *user_data);
68 typedef void (*FileIndexerUpdateIndexFunc)(const char *file_name,
69  FileIndexerEntries *entries,
70  void *user_data);
71 
72 typedef struct FileIndexerType {
80 
87 
95 
111 
121 
122 /* file_indexer.cc */
123 
126 
133  FileIndexerEntries *indexer_entries,
134  const LinkNode * /* BLODataBlockInfo */ datablock_infos,
135  int idcode);
136 
137 #ifdef __cplusplus
138 }
139 #endif
external readfile function prototypes.
struct FileIndexerEntries FileIndexerEntries
eFileIndexerResult
@ FILE_INDEXER_ENTRIES_LOADED
@ FILE_INDEXER_NEEDS_UPDATE
void ED_file_indexer_entries_clear(FileIndexerEntries *indexer_entries)
Definition: file_indexer.cc:75
void(* FileIndexerUpdateIndexFunc)(const char *file_name, FileIndexerEntries *entries, void *user_data)
void ED_file_indexer_entries_extend_from_datablock_infos(FileIndexerEntries *indexer_entries, const LinkNode *datablock_infos, int idcode)
Definition: file_indexer.cc:56
eFileIndexerResult(* FileIndexerReadIndexFunc)(const char *file_name, FileIndexerEntries *entries, int *r_read_entries_len, void *user_data)
void(* FileIndexerFinishedFunc)(void *)
void(* FileIndexerFreeUserDataFunc)(void *)
void *(* FileIndexerInitUserDataFunc)(const char *root_directory, size_t root_directory_maxlen)
struct FileIndexerType FileIndexerType
struct FileIndexerEntry FileIndexerEntry
void * user_data
SyclQueue void void size_t num_bytes void
struct LinkNode * entries
struct BLODataBlockInfo datablock_info
FileIndexerUpdateIndexFunc update_index
FileIndexerFinishedFunc filelist_finished
FileIndexerReadIndexFunc read_index
FileIndexerFreeUserDataFunc free_user_data
FileIndexerInitUserDataFunc init_user_data