94 lines
1.3 KiB
C
94 lines
1.3 KiB
C
/*
|
|
* This file is automaticaly generated, Please dont edit this file!
|
|
*/
|
|
#include <cache.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
text * cache_getFile( cache * this, char * filePath ) {
|
|
|
|
struct file * currentFile = cache_getCachedFileByPath( this, filePath );
|
|
|
|
if( currentFile == NULL ) {
|
|
|
|
|
|
|
|
struct text * content = fileSystem_readFile( filesystem, filePath, "binary" );
|
|
|
|
cache_addFile( this, filePath, content );
|
|
|
|
return content;
|
|
|
|
} else {
|
|
|
|
return currentFile->content;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
void cache_addFile( cache * this, char * filePath, struct text * content ) {
|
|
|
|
struct file * newFile = file_newPointer();
|
|
|
|
newFile->filePath = filePath;
|
|
|
|
newFile->content = content;
|
|
|
|
array_add( this->files, newFile );
|
|
|
|
}
|
|
|
|
struct file * cache_getCachedFileByPath( cache * this, char * filePath ) {
|
|
|
|
struct array * files = this->files;
|
|
|
|
int count = array_length( files );
|
|
|
|
for (int i = 0; i < count; ++i)
|
|
{
|
|
|
|
file * currentFile = array_get( files, i );
|
|
|
|
if( char_operator_compare( currentFile->filePath , filePath) ) {
|
|
|
|
|
|
|
|
return currentFile;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
cache cache_new() {
|
|
|
|
cache instance;
|
|
|
|
instance.files = array_newPointer();
|
|
|
|
return instance;
|
|
|
|
}
|
|
|
|
cache * cache_newPointer() {
|
|
|
|
struct cache * pointer = malloc( sizeof ( struct cache ) );
|
|
|
|
pointer->files = array_newPointer();
|
|
|
|
return pointer;
|
|
|
|
}
|
|
|