/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2019 Red Hat, Inc. */ #ifndef __NM_KEYFILE_AUX_H__ #define __NM_KEYFILE_AUX_H__ /*****************************************************************************/ typedef struct _NMKeyFileDB NMKeyFileDB; typedef void (*NMKeyFileDBLogFcn)(NMKeyFileDB *self, int syslog_level, gpointer user_data, const char * fmt, ...) G_GNUC_PRINTF(4, 5); typedef void (*NMKeyFileDBGotDirtyFcn)(NMKeyFileDB *self, gpointer user_data); NMKeyFileDB *nm_key_file_db_new(const char * filename, const char * group, NMKeyFileDBLogFcn log_fcn, NMKeyFileDBGotDirtyFcn got_dirty_fcn, gpointer user_data); void nm_key_file_db_start(NMKeyFileDB *self); NMKeyFileDB *nm_key_file_db_ref(NMKeyFileDB *self); void nm_key_file_db_unref(NMKeyFileDB *self); void nm_key_file_db_destroy(NMKeyFileDB *self); const char *nm_key_file_db_get_filename(NMKeyFileDB *self); gboolean nm_key_file_db_is_dirty(NMKeyFileDB *self); char *nm_key_file_db_get_value(NMKeyFileDB *self, const char *key); char **nm_key_file_db_get_string_list(NMKeyFileDB *self, const char *key, gsize *out_len); void nm_key_file_db_remove_key(NMKeyFileDB *self, const char *key); void nm_key_file_db_set_value(NMKeyFileDB *self, const char *key, const char *value); void nm_key_file_db_set_string_list(NMKeyFileDB * self, const char * key, const char *const *value, gssize len); void nm_key_file_db_to_file(NMKeyFileDB *self, gboolean force); /*****************************************************************************/ #endif /* __NM_KEYFILE_AUX_H__ */