00001 #include "asset.h" 00002 #include "file.h" 00003 #include "sighandler.h" 00004 00005 00006 SigHandler::SigHandler() 00007 : BC_Signals() 00008 { 00009 } 00010 00011 void SigHandler::signal_handler(int signum) 00012 { 00013 printf("SigHandler::signal_handler total files=%d\n", 00014 files.total); 00015 for(int i = 0; i < files.total; i++) 00016 { 00017 printf("Closing %s\n", files.values[i]->asset->path); 00018 files.values[i]->close_file(1); 00019 } 00020 } 00021 00022 void SigHandler::push_file(File *file) 00023 { 00024 // Check for duplicate 00025 for(int i = 0; i < files.total; i++) 00026 { 00027 if(files.values[i] == file) 00028 { 00029 printf("SigHandler::push_file: file %s already on table.\n", 00030 file->asset->path); 00031 return; 00032 } 00033 } 00034 00035 // Append file 00036 files.append(file); 00037 } 00038 00039 void SigHandler::pull_file(File *file) 00040 { 00041 for(int i = 0; i < files.total; i++) 00042 { 00043 if(files.values[i] == file) 00044 { 00045 files.remove_number(i); 00046 return; 00047 } 00048 } 00049 printf("SigHandler::pull_file: file %s not on table.\n", 00050 file->asset->path); 00051 } 00052 00053 00054 00055 00056 00057 00058 00059 00060 00061 00062
1.5.5