Krotos Modules 3
Loading...
Searching...
No Matches
FactoryAssetsWatcher.h
Go to the documentation of this file.
1#pragma once
2
3namespace krotos
4{
5
6 static const String fileEmbeddingsIdentifier{"FilesEmbeddings"};
7
11 class FactoryAssetsWatcher : private TimeSliceClient
12 {
13 public:
15 FactoryAssetsWatcher(const File& dirToWatch);
16
18 ~FactoryAssetsWatcher() override;
19
24
29 void getAllFiles(const File& directory, Array<File>& fileArray);
30
31 private:
32 // the thread the watcher runs on
33 TimeSliceThread thread{" Factory Assets Watcher Thread"};
34
36 int useTimeSlice() override;
37
38 // dir modification date
40
41 // dir size
42 int64 m_dirSize{0};
43
45
46 // root dir
48
49 // shared ttp instance
51
52 // files array
53 Array<File> m_filesArray;
54
55 // files already existing in the embeddings file
57
58 // list of files to process
59 Array<File> m_filesToProcess;
60
61 CriticalSection m_cs;
62
63 // assets processing status
65
71 int64 getTotalFolderSize(const juce::File& folder);
72
78 bool addFileToEmbeddings(const File& file);
79
85 bool removeFileFromEmbeddings(const File& file);
86
92 bool initEmbeddings(const File& file);
93
99 };
100
101} // namespace krotos
Trigger processing of data when there is changes in the factory assets root directory.
Definition FactoryAssetsWatcher.h:12
bool handleContentUpdate()
handles content update and triggers ttp embeddings calculation accordingly
Definition FactoryAssetsWatcher.cpp:34
int64 m_dirSize
Definition FactoryAssetsWatcher.h:42
CriticalSection m_cs
Definition FactoryAssetsWatcher.h:61
FactoryAssetsWatcher(const File &dirToWatch)
Definition FactoryAssetsWatcher.cpp:9
TextToAssetsShared m_textToAssetsSharedInstance
Definition FactoryAssetsWatcher.h:50
Array< File > m_filesArray
Definition FactoryAssetsWatcher.h:53
bool m_assetsHaveBeenRemoved
Definition FactoryAssetsWatcher.h:44
File m_directory
Definition FactoryAssetsWatcher.h:47
String m_dirModificationDate
Definition FactoryAssetsWatcher.h:39
AssetsStatus m_assetsStatus
Definition FactoryAssetsWatcher.h:64
TimeSliceThread thread
Definition FactoryAssetsWatcher.h:33
Array< File > m_filesToProcess
Definition FactoryAssetsWatcher.h:59
~FactoryAssetsWatcher() override
Definition FactoryAssetsWatcher.cpp:15
bool removeFileFromEmbeddings(const File &file)
removes file(s) from embeddigs
Definition FactoryAssetsWatcher.cpp:234
StringArray m_filesWithEmbeddings
Definition FactoryAssetsWatcher.h:56
bool addFileToEmbeddings(const File &file)
adds file(s) to embeddigs
Definition FactoryAssetsWatcher.cpp:206
int64 getTotalFolderSize(const juce::File &folder)
caclulates the folder size recursivelly
Definition FactoryAssetsWatcher.cpp:195
int useTimeSlice() override
timeslice thread checks for modufication dir date and handles it accordingly
Definition FactoryAssetsWatcher.cpp:84
void checkAddFileInEmbeddings()
check if there is available embeddings if not add it to an array that will be processed by TTP module
Definition FactoryAssetsWatcher.cpp:323
void getAllFiles(const File &directory, Array< File > &fileArray)
gets all files under a directory recursivelly
Definition FactoryAssetsWatcher.cpp:60
bool initEmbeddings(const File &file)
inits embeddigs
Definition FactoryAssetsWatcher.cpp:295
wrapper class for text to file module shared resource pointer
Definition TextToAssets.h:394
Definition AirAbsorptionFilter.cpp:2
static const String fileEmbeddingsIdentifier
Definition FactoryAssetsWatcher.h:6
AssetsStatus
Definition TextToAssets.h:29
@ kAssetsInit
Definition TextToAssets.h:33