SOUND4 x1.CLOUD Library [1.5.6]
Loading...
Searching...
No Matches
Typedefs | Enumerations | Functions
Custom preset managagement

This allows to provide a customized preset management. More...

Typedefs

typedef wchar_t fs_char
 
typedef char *(* cloudx1_storage_reader) (const fs_char *filename, void *userdata)
 
typedef void(* cloudx1_storage_reader_free) (char *content, void *userdata)
 
typedef int(* cloudx1_storage_writer) (const fs_char *filename, const char *content, void *userdata)
 
typedef int(* cloudx1_storage_exists) (const fs_char *filename, void *userdata)
 
typedef fs_char **(* cloudx1_storage_getall) (void *userdata)
 
typedef void(* cloudx1_storage_getall_free) (fs_char **all, void *userdata)
 
typedef int(* cloudx1_storage_remove) (const fs_char *filename, void *userdata)
 
typedef int(* cloudx1_storage_rename) (const fs_char *from, const fs_char *to, void *userdata)
 

Enumerations

enum  cloudx1_PresetChange_Kind { change_kind_created = 1 , change_kind_modified , change_kind_deleted }
 

Functions

void cloudx1_SetPresetManager (struct cloudx1_CParameters *params, cloudx1_storage_reader reader, cloudx1_storage_reader_free, cloudx1_storage_writer writer, cloudx1_storage_exists exists, cloudx1_storage_getall getall, cloudx1_storage_getall_free getall_free, cloudx1_storage_remove remove, cloudx1_storage_rename rename, int IsReadOnly, void *userdata)
 
void cloudx1_PresetManager_InformChange (struct cloudx1_CInstance *instance, const fs_char *relative_path, enum cloudx1_PresetChange_Kind change_kind)
 

Detailed Description

This allows to provide a customized storage for presets and settings.

By default, the library store data on disk or in memory (see save_path parameter in cloudx1_InitProcess2), but you may use these functions to store data.

It can be used for remote storage, database storage, ...

Known files:

Attention
state.json name can be overriden per instance with STATE_FILENAME in parameters, see Parameters.

File names are in OS native characters ( wchar_t for Windows, char in UTF-8 for others)

Typedef Documentation

◆ cloudx1_storage_exists

typedef int(* cloudx1_storage_exists) (const fs_char *filename, void *userdata)

Function to call to test if a stored file exists.

Parameters
filenamethe name of the file to test.
userdatathe userdata passed to cloudx1_SetPresetManager
Returns
-1 if not exists, 0 if it exists

Definition at line 474 of file sound4.x1.cloud.h.

◆ cloudx1_storage_getall

typedef fs_char **(* cloudx1_storage_getall) (void *userdata)

Function to call to get all stored files' name. Result has to be freed with cloudx1_storage_getall_free callback

Parameters
userdatathe userdata passed to cloudx1_SetPresetManager
Returns
A NULL terminated array of file names

Definition at line 483 of file sound4.x1.cloud.h.

◆ cloudx1_storage_getall_free

typedef void(* cloudx1_storage_getall_free) (fs_char **all, void *userdata)

Function to call to free the result of getall.

Parameters
allthe returned value from cloudx1_storage_getall
userdatathe userdata passed to cloudx1_SetPresetManager

Definition at line 491 of file sound4.x1.cloud.h.

◆ cloudx1_storage_reader

typedef char *(* cloudx1_storage_reader) (const fs_char *filename, void *userdata)

Function to call to read a stored file, returning its content.

Parameters
filenamethe name of the file to read.
userdatathe userdata passed to cloudx1_SetPresetManager
Returns
the UTF-8 content of the file

Definition at line 447 of file sound4.x1.cloud.h.

◆ cloudx1_storage_reader_free

typedef void(* cloudx1_storage_reader_free) (char *content, void *userdata)

Function to call to free the result of cloudx1_storage_reader.

Parameters
contentthe returned value from cloudx1_storage_reader
userdatathe userdata passed to cloudx1_SetPresetManager

Definition at line 455 of file sound4.x1.cloud.h.

◆ cloudx1_storage_remove

typedef int(* cloudx1_storage_remove) (const fs_char *filename, void *userdata)

Function to call to remove a stored file.

Parameters
filenamethe name of the file to remove.
userdatathe userdata passed to cloudx1_SetPresetManager
Returns
-1 if failed, 0 if OK

Definition at line 500 of file sound4.x1.cloud.h.

◆ cloudx1_storage_rename

typedef int(* cloudx1_storage_rename) (const fs_char *from, const fs_char *to, void *userdata)

Function to call to rename a stored file.

Parameters
fromThe source file name (must exist)
toThe destination file name (must not exist)
userdatathe userdata passed to cloudx1_SetPresetManager
Returns
-1 if failed, 0 if OK

Definition at line 510 of file sound4.x1.cloud.h.

◆ cloudx1_storage_writer

typedef int(* cloudx1_storage_writer) (const fs_char *filename, const char *content, void *userdata)

Function to call to write a stored file.

Parameters
filenamethe name of the file to write.
contentthe UTF-8 content to write to the file
userdatathe userdata passed to cloudx1_SetPresetManager
Returns
-1 if failed, 0 if OK

Definition at line 465 of file sound4.x1.cloud.h.

◆ fs_char

typedef wchar_t fs_char

Definition at line 435 of file sound4.x1.cloud.h.

Enumeration Type Documentation

◆ cloudx1_PresetChange_Kind

Kind of change on a storage path

Enumerator
change_kind_created 

Path has been created.

change_kind_modified 

Path has been modified.

change_kind_deleted 

Path has been deleted.

Definition at line 543 of file sound4.x1.cloud.h.

Function Documentation

◆ cloudx1_PresetManager_InformChange()

void cloudx1_PresetManager_InformChange ( struct cloudx1_CInstance instance,
const fs_char relative_path,
enum cloudx1_PresetChange_Kind  change_kind 
)

Inform that a change happened in the storage. This must be used only in conjonction with cloudx1_SetPresetManager

Parameters
instancethe processing instance
relative_pathThe path which changed, relative to the root storage
change_kindWhat happened to this path

◆ cloudx1_SetPresetManager()

void cloudx1_SetPresetManager ( struct cloudx1_CParameters params,
cloudx1_storage_reader  reader,
cloudx1_storage_reader_free  ,
cloudx1_storage_writer  writer,
cloudx1_storage_exists  exists,
cloudx1_storage_getall  getall,
cloudx1_storage_getall_free  getall_free,
cloudx1_storage_remove  remove,
cloudx1_storage_rename  rename,
int  IsReadOnly,
void *  userdata 
)

Setup a custom preset manager. This overrides the save_path in cloudx1_InitProcess2

To dynamically update when storage change, see cloudx1_PresetManager_InformChange

Parameters
paramsThe params to set up
readerThe function to read a file
writerThe function to write a file
existsThe function to test for a file presence
getallThe function to get all files in storage
getall_freeThe function to free the result from getall
removeThe function to remove a file from storage
renameThe function to rename a file
IsReadOnlySet to 1 if storage is read-only
userdataThe userdata parameter for callbacks