From d5a9cda70eeb61f6bb91b98865a530a146ba46ab Mon Sep 17 00:00:00 2001 From: John Ralls Date: Tue, 15 Oct 2013 16:55:29 -0700 Subject: [PATCH] Wrap g_object_get/set with qof_instance_get/set qof_instance_set marks dirty and will eventually also begin and commit edits. --- src/libqof/qof/qofinstance.c | 25 +++++++++++++++++++++++++ src/libqof/qof/qofinstance.h | 9 +++++++++ 2 files changed, 34 insertions(+) diff --git a/src/libqof/qof/qofinstance.c b/src/libqof/qof/qofinstance.c index 5cfbecd941..e0f5dfe549 100644 --- a/src/libqof/qof/qofinstance.c +++ b/src/libqof/qof/qofinstance.c @@ -946,6 +946,31 @@ gboolean qof_instance_refers_to_object(const QofInstance* inst, const QofInstanc } } +/* g_object_set/get wrappers */ +void +qof_instance_get (const QofInstance *inst, const gchar *first_prop, ...) +{ + va_list ap; + g_return_if_fail (QOF_IS_INSTANCE (inst)); + + va_start (ap, first_prop); + g_object_get_valist (G_OBJECT (inst), first_prop, ap); + va_end (ap); +} + +void +qof_instance_set (QofInstance *inst, const gchar *first_prop, ...) +{ + va_list ap; + g_return_if_fail (QOF_IS_INSTANCE (inst)); + + qof_instance_set_dirty (inst); + va_start (ap, first_prop); + g_object_set_valist (G_OBJECT (inst), first_prop, ap); + va_end (ap); +} + + /* =================================================================== */ /* Entity edit and commit utilities */ /* =================================================================== */ diff --git a/src/libqof/qof/qofinstance.h b/src/libqof/qof/qofinstance.h index 89b71723d6..ca485c3b90 100644 --- a/src/libqof/qof/qofinstance.h +++ b/src/libqof/qof/qofinstance.h @@ -167,7 +167,16 @@ gboolean qof_instance_get_dirty (QofInstance *); gboolean qof_instance_get_infant(const QofInstance *inst); +/** + * \brief Wrapper for g_object_get + */ +void qof_instance_get (const QofInstance *inst, const gchar *first_param, ...); +/** + * \brief Wrapper for g_object_set + * Group setting multiple parameters in a single begin/commit/rollback + */ +void qof_instance_set (QofInstance *inst, const gchar *first_param, ...); /** get the instance tag number used for kvp management in sql backends. */