 22e1ecb642
			
		
	
	
		22e1ecb642
		
			
		
	
	
	
	
		
			
			* Hal lfrfid: add read timer pulse and period config fns * New debug application for lfrfid subsystem * New lfrfid: app, fix naming * App lfrfid: assets * Container view module * App ibutton: remove unused header * App lfrfid scenes * App notification, add yield to blocking operations, add speaker volume control * App lfrfid: reading key scene * Assets: placeholder icon * App lfrfid: reworked container view module * App lfrfid: new scenes * App lfrfid: write scene * App lfrfid: write hid * App lfrfid: emulate scene * App lfrfid: save name scene * App lfrfid: add missing file
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "file-worker.h"
 | |
| 
 | |
| FileWorker::FileWorker()
 | |
|     : fs_api{"sdcard"}
 | |
|     , sd_ex_api{"sdcard-ex"} {
 | |
|     string_init(error_string);
 | |
| }
 | |
| 
 | |
| FileWorker::~FileWorker() {
 | |
|     string_clear(error_string);
 | |
| }
 | |
| 
 | |
| bool FileWorker::open(const char* filename, FS_AccessMode access_mode, FS_OpenMode open_mode) {
 | |
|     bool result = fs_api.get()->file.open(&file, filename, access_mode, open_mode);
 | |
| 
 | |
|     if(!result) {
 | |
|         show_error_message("Cannot open\nfile");
 | |
|         close();
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     return check_common_errors();
 | |
| }
 | |
| 
 | |
| bool FileWorker::close() {
 | |
|     fs_api.get()->file.close(&file);
 | |
| 
 | |
|     return check_common_errors();
 | |
| }
 | |
| 
 | |
| bool FileWorker::mkdir(const char* dirname) {
 | |
|     FS_Error fs_result = fs_api.get()->common.mkdir(dirname);
 | |
| 
 | |
|     if(fs_result != FSE_OK && fs_result != FSE_EXIST) {
 | |
|         show_error_message("Cannot create\nfolder");
 | |
|         return false;
 | |
|     };
 | |
| 
 | |
|     return check_common_errors();
 | |
| }
 | |
| 
 | |
| bool FileWorker::remove(const char* filename) {
 | |
|     FS_Error fs_result = fs_api.get()->common.remove(filename);
 | |
|     if(fs_result != FSE_OK && fs_result != FSE_NOT_EXIST) {
 | |
|         show_error_message("Cannot remove\nold file");
 | |
|         return false;
 | |
|     };
 | |
| 
 | |
|     return check_common_errors();
 | |
| }
 | |
| 
 | |
| bool FileWorker::check_common_errors() {
 | |
|     sd_ex_api.get()->check_error(sd_ex_api.get()->context);
 | |
|     return true;
 | |
| }
 | |
| 
 | |
| void FileWorker::show_error_message(const char* error_text) {
 | |
|     string_set_str(error_string, error_text);
 | |
|     sd_ex_api.get()->show_error(sd_ex_api.get()->context, string_get_cstr(error_string));
 | |
| }
 |