#ifndef _fileManager

#define _fileManager



#include <stdio.h>


 #define __USE_XOPEN_EXTENDED 
#include <ftw.h>

#include <unistd.h>

#include "application.h"



#include "text.h"

#include "array.h"

#include "file.h"

#include <string.h> 

#include <stdio.h> 




array * fileManager_composeFiles( array * includedFilePaths );

void fileManager_removeComments( array * files );

void fileManager_extractMacros( array * files );

void fileManager_fixIncludes( array * files );

void fileManager_parseMacros( array * files );

void fileManager_extractClasses( array * files, struct application * applicationInstance );

void fileManager_validateCurlyBrackets( array * files );

void fileManager_instantiateTemplates( array * files );

void fileManager_extractMethodsAndProperties( array * files );

void fileManager_extractTemplates( array * files );

void fileManager_extractFunctions( array * files );


void fileManager_removeFilesFromOutputDirectory( struct array * files, struct application * currentApplication );

void fileManager_parseMethods( array * files );

void fileManager_parseFunctions( array * files );

void fileManager_extendClasses( array * files );

void fileManager_composeSourceAndHeaderFiles( struct array * files,  struct application * currentApplication );

#endif