// Programmed by Jedidiah Barber // Released into the public domain #include #include #include #include "c_fl_preferences.h" const int root_fl_prefs_system = Fl_Preferences::SYSTEM; const int root_fl_prefs_user = Fl_Preferences::USER; const int const_fl_path_max = FL_PATH_MAX; const char * fl_preferences_new_uuid() { return Fl_Preferences::newUUID(); } class My_Preferences : public Fl_Preferences { public: using Fl_Preferences::Fl_Preferences; int reference_count = 0; }; PREFS new_fl_pref_database_path(char * p, char * v, char * a) { My_Preferences *e = new My_Preferences(p, v, a); return e; } PREFS new_fl_pref_database_scope(int s, char * v, char * a) { My_Preferences *e = new My_Preferences((Fl_Preferences::Root)s, v, a); return e; } void upref_fl_pref_database(PREFS e) { reinterpret_cast(e)->reference_count += 1; } void free_fl_pref_database(PREFS e) { if (reinterpret_cast(e)->reference_count <= 0) { delete reinterpret_cast(e); } else { reinterpret_cast(e)->reference_count -= 1; } } PREFS new_fl_pref_group_copy(PREFS e) { Fl_Preferences *g = new Fl_Preferences(reinterpret_cast(e)); return g; } PREFS new_fl_pref_group_memory(char * n) { Fl_Preferences *g = new Fl_Preferences(NULL, n); return g; } PREFS new_fl_pref_group_name(PREFS e, char * n) { Fl_Preferences *g = new Fl_Preferences(reinterpret_cast(e), n); return g; } PREFS new_fl_pref_group_index(PREFS e, int i) { Fl_Preferences *g = new Fl_Preferences(reinterpret_cast(e), i); return g; } void free_fl_pref_group(PREFS e) { delete reinterpret_cast(e); } void fl_preferences_flush(PREFS e) { reinterpret_cast(e)->flush(); } int fl_preferences_getuserdatapath(PREFS e, char * p, int len) { return (int)reinterpret_cast(e)->getUserdataPath(p, len); } int fl_preferences_deleteentry(PREFS e, const char * k) { return (int)reinterpret_cast(e)->deleteEntry(k); } int fl_preferences_deleteallentries(PREFS e) { return (int)reinterpret_cast(e)->deleteAllEntries(); } int fl_preferences_deletegroup(PREFS e, const char * g) { return (int)reinterpret_cast(e)->deleteGroup(g); } int fl_preferences_deleteallgroups(PREFS e) { return (int)reinterpret_cast(e)->deleteAllGroups(); } int fl_preferences_clear(PREFS e) { return (int)reinterpret_cast(e)->clear(); } int fl_preferences_entries(PREFS e) { return reinterpret_cast(e)->entries(); } const char * fl_preferences_entry(PREFS e, int i) { return reinterpret_cast(e)->entry(i); } int fl_preferences_entryexists(PREFS e, const char * k) { return (int)reinterpret_cast(e)->entryExists(k); } int fl_preferences_size(PREFS e, const char * k) { return reinterpret_cast(e)->size(k); } int fl_preferences_groups(PREFS e) { return reinterpret_cast(e)->groups(); } const char * fl_preferences_group(PREFS e, int i) { return reinterpret_cast(e)->group(i); } int fl_preferences_groupexists(PREFS e, const char * g) { return (int)reinterpret_cast(e)->groupExists(g); } const char * fl_preferences_name(PREFS e) { return reinterpret_cast(e)->name(); } const char * fl_preferences_path(PREFS e) { return reinterpret_cast(e)->path(); } int fl_preferences_get_int(PREFS e, const char * k, int& v, int d) { return (int)reinterpret_cast(e)->get(k,v,d); } int fl_preferences_get_float(PREFS e, const char * k, float& v, float d) { return (int)reinterpret_cast(e)->get(k,v,d); } int fl_preferences_get_double(PREFS e, const char * k, double& v, double d) { return (int)reinterpret_cast(e)->get(k,v,d); } // must deallocate result afterwards int fl_preferences_get_str(PREFS e, const char * k, char *& v, const char * d) { return (int)reinterpret_cast(e)->get(k,v,d); } int fl_preferences_get_str_limit (PREFS e, const char * k, char * v, const char * d, int m) { return (int)reinterpret_cast(e)->get(k, v, d, m); } // must deallocate result afterwards int fl_preferences_get_void (PREFS e, const char * k, void *& v, const void * d, int ds) { return (int)reinterpret_cast(e)->get(k, v, d, ds); } int fl_preferences_get_void_limit (PREFS e, const char * k, void * v, const void * d, int ds, int ms) { return (int)reinterpret_cast(e)->get(k, v, d, ds, ms); } void free_fl_preferences_void_data(void * v) { free(v); } int fl_preferences_set_int(PREFS e, const char * k, int v) { return (int)reinterpret_cast(e)->set(k,v); } int fl_preferences_set_float(PREFS e, const char * k, float v) { return (int)reinterpret_cast(e)->set(k,v); } int fl_preferences_set_float_prec(PREFS e, const char * k, float v, int p) { return (int)reinterpret_cast(e)->set(k,v,p); } int fl_preferences_set_double(PREFS e, const char * k, double v) { return (int)reinterpret_cast(e)->set(k,v); } int fl_preferences_set_double_prec(PREFS e, const char * k, double v, int p) { return (int)reinterpret_cast(e)->set(k,v,p); } int fl_preferences_set_str(PREFS e, const char * k, const char * v) { return (int)reinterpret_cast(e)->set(k,v); } int fl_preferences_set_void(PREFS e, const char * k, const void * d, int ds) { return (int)reinterpret_cast(e)->set(k, d, ds); }