/*
* Copyright © 2010 Codethink Limited
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the licence, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see .
*
* Author: Ryan Lortie
*/
#ifndef __dconf_writer_h__
#define __dconf_writer_h__
#include
#include
#include
#include "../common/dconf-changeset.h"
#include "dconf-generated.h"
#define DCONF_TYPE_WRITER (dconf_writer_get_type ())
#define DCONF_WRITER(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
DCONF_TYPE_WRITER, DConfWriter))
#define DCONF_WRITER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
DCONF_TYPE_WRITER, DConfWriterClass))
#define DCONF_IS_WRITER(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
DCONF_TYPE_WRITER))
#define DCONF_IS_WRITER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
DCONF_TYPE_WRITER))
#define DCONF_WRITER_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
DCONF_TYPE_WRITER, DConfWriterClass))
typedef struct _DConfWriterPrivate DConfWriterPrivate;
typedef struct _DConfWriterClass DConfWriterClass;
typedef struct _DConfWriter DConfWriter;
struct _DConfWriterClass
{
DConfDBusWriterSkeletonClass parent_instance;
/* static methods */
void (* list) (GHashTable *set);
/* instance methods */
gboolean (* begin) (DConfWriter *writer,
GError **error);
void (* change) (DConfWriter *writer,
DConfChangeset *changeset,
const gchar *tag);
gboolean (* commit) (DConfWriter *writer,
GError **error);
void (* end) (DConfWriter *writer);
};
struct _DConfWriter
{
DConfDBusWriterSkeleton parent_instance;
DConfWriterPrivate *priv;
};
G_DEFINE_AUTOPTR_CLEANUP_FUNC (DConfWriter, g_object_unref)
GType dconf_writer_get_type (void);
void dconf_writer_set_basepath (DConfWriter *writer,
const gchar *name);
DConfChangeset * dconf_writer_diff (DConfWriter *writer,
DConfChangeset *changeset);
const gchar * dconf_writer_get_name (DConfWriter *writer);
void dconf_writer_list (GType type,
GHashTable *set);
GDBusInterfaceSkeleton *dconf_writer_new (GType type,
const gchar *name);
#define DCONF_TYPE_SHM_WRITER (dconf_shm_writer_get_type ())
GType dconf_shm_writer_get_type (void);
#define DCONF_TYPE_KEYFILE_WRITER (dconf_keyfile_writer_get_type ())
GType dconf_keyfile_writer_get_type (void);
#endif /* __dconf_writer_h__ */