-
Notifications
You must be signed in to change notification settings - Fork 0
File API
knot126 edited this page Sep 14, 2023
·
6 revisions
typedef uint16_t DgFileFlags;
/* Public API */
DgError DgFileLoad(DgStorage *storage, DgStoragePath path, size_t *size, void **buffer);
DgError DgFileSave(DgStorage *storage, DgStoragePath path, size_t size, void *buffer);
DgError DgFileAppend(DgStorage *storage, DgStoragePath path, size_t size, void *buffer);
#include "error.h"
#include "file.h"
void example(void) {
void *buffer;
size_t buffer_length;
// NULL to use default storage configuration
DgError result = DgFileLoad(NULL, "assets://somefile.txt", &buffer_length, &buffer);
if (DgErrorFatal(result)) {
DgLog(DG_LOG_ERROR, "Ahh! Failed to load file stream!!");
}
// ... maybe do something with the file ...
DgFileSave(NULL, "assets://otherfile.txt", buffer_length, buffer);
}
void load_adverts(size_t size, void *buffer) {
// Using storage with HTTP file loading
DgError error = DgFileLoad(NULL, "https://192.168.1.134:8000/get-ads", &size, &buffer);
switch (error) {
case DG_ERROR_SUCCESSFUL: break;
case DG_ERROR_NOT_FOUND: DgLog(DG_LOG_ERROR, "Ads file was not found!"); break;
case DG_ERROR_NOT_CONNECTED: DgLog(DG_LOG_ERROR, "Could not connect to ads server!"); break;
default: DgLog(DG_LOG_ERROR, "There was an error loading ads!"); break;
}
}
Melon wiki!