[libvirt] [libvirt-glib 1/5] Make GVirConfigDomainTimer abstract

Specialized timer classes will inherit from it --- libvirt-gconfig/libvirt-gconfig-domain-timer.c | 22 +--------------------- libvirt-gconfig/libvirt-gconfig-domain-timer.h | 4 ---- libvirt-gconfig/libvirt-gconfig.sym | 2 -- 3 files changed, 1 insertion(+), 27 deletions(-) diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.c b/libvirt-gconfig/libvirt-gconfig-domain-timer.c index 70215ae..67a1812 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.c @@ -32,7 +32,7 @@ struct _GVirConfigDomainTimerPrivate gboolean unused; }; -G_DEFINE_TYPE(GVirConfigDomainTimer, gvir_config_domain_timer, GVIR_CONFIG_TYPE_OBJECT); +G_DEFINE_ABSTRACT_TYPE(GVirConfigDomainTimer, gvir_config_domain_timer, GVIR_CONFIG_TYPE_OBJECT); static void gvir_config_domain_timer_class_init(GVirConfigDomainTimerClass *klass) @@ -47,23 +47,3 @@ static void gvir_config_domain_timer_init(GVirConfigDomainTimer *timer) timer->priv = GVIR_CONFIG_DOMAIN_TIMER_GET_PRIVATE(timer); } - - -GVirConfigDomainTimer *gvir_config_domain_timer_new(void) -{ - GVirConfigObject *object; - - object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_TIMER, "timer", NULL); - return GVIR_CONFIG_DOMAIN_TIMER(object); -} - - -GVirConfigDomainTimer *gvir_config_domain_timer_new_from_xml(const gchar *xml, - GError **error) -{ - GVirConfigObject *object; - - object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_TIMER, - "timer", NULL, xml, error); - return GVIR_CONFIG_DOMAIN_TIMER(object); -} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.h b/libvirt-gconfig/libvirt-gconfig-domain-timer.h index 11038e2..a7b4332 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.h @@ -59,10 +59,6 @@ struct _GVirConfigDomainTimerClass GType gvir_config_domain_timer_get_type(void); -GVirConfigDomainTimer *gvir_config_domain_timer_new(void); -GVirConfigDomainTimer *gvir_config_domain_timer_new_from_xml(const gchar *xml, - GError **error); - G_END_DECLS #endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 2378a3c..77d0a45 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -227,8 +227,6 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_sound_set_model; gvir_config_domain_timer_get_type; - gvir_config_domain_timer_new; - gvir_config_domain_timer_new_from_xml; gvir_config_domain_video_get_type; gvir_config_domain_video_model_get_type; -- 1.7.10

--- libvirt-gconfig/libvirt-gconfig-domain-timer.c | 26 ++++++++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-timer.h | 9 ++++++++ libvirt-gconfig/libvirt-gconfig.sym | 3 +++ 3 files changed, 38 insertions(+) diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.c b/libvirt-gconfig/libvirt-gconfig-domain-timer.c index 67a1812..07cbf47 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.c @@ -23,6 +23,7 @@ #include <config.h> #include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-private.h" #define GVIR_CONFIG_DOMAIN_TIMER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER, GVirConfigDomainTimerPrivate)) @@ -47,3 +48,28 @@ static void gvir_config_domain_timer_init(GVirConfigDomainTimer *timer) timer->priv = GVIR_CONFIG_DOMAIN_TIMER_GET_PRIVATE(timer); } + +void gvir_config_domain_timer_set_tick_policy(GVirConfigDomainTimer *timer, + GVirConfigDomainTimerTickPolicy policy) +{ + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_TIMER(timer)); + + gvir_config_object_set_attribute_with_type(GVIR_CONFIG_OBJECT(timer), + "tickpolicy", + GVIR_CONFIG_TYPE_DOMAIN_TIMER_TICK_POLICY, + policy, + NULL); +} + +GVirConfigDomainTimerTickPolicy +gvir_config_domain_timer_get_tick_policy(GVirConfigDomainTimer *timer) +{ + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_TIMER(timer), + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); + + return gvir_config_object_get_attribute_genum(GVIR_CONFIG_OBJECT(timer), + NULL, + "tickpolicy", + GVIR_CONFIG_TYPE_DOMAIN_TIMER_TICK_POLICY, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.h b/libvirt-gconfig/libvirt-gconfig-domain-timer.h index a7b4332..84ea7e1 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.h @@ -56,9 +56,18 @@ struct _GVirConfigDomainTimerClass gpointer padding[20]; }; +typedef enum { + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_MERGE, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DISCARD +} GVirConfigDomainTimerTickPolicy; GType gvir_config_domain_timer_get_type(void); +GVirConfigDomainTimerTickPolicy gvir_config_domain_timer_get_tick_policy(GVirConfigDomainTimer *timer); +void gvir_config_domain_timer_set_tick_policy(GVirConfigDomainTimer *timer, GVirConfigDomainTimerTickPolicy policy); + G_END_DECLS #endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 77d0a45..386597b 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -227,6 +227,9 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_sound_set_model; gvir_config_domain_timer_get_type; + gvir_config_domain_timer_tick_policy_get_type; + gvir_config_domain_timer_get_tick_policy; + gvir_config_domain_timer_set_tick_policy; gvir_config_domain_video_get_type; gvir_config_domain_video_model_get_type; -- 1.7.10

On Fri, Apr 13, 2012 at 05:20:15PM +0200, Christophe Fergeau wrote:
--- libvirt-gconfig/libvirt-gconfig-domain-timer.c | 26 ++++++++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-timer.h | 9 ++++++++ libvirt-gconfig/libvirt-gconfig.sym | 3 +++ 3 files changed, 38 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.c b/libvirt-gconfig/libvirt-gconfig-domain-timer.c index 67a1812..07cbf47 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.c @@ -23,6 +23,7 @@ #include <config.h>
#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-private.h"
#define GVIR_CONFIG_DOMAIN_TIMER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER, GVirConfigDomainTimerPrivate)) @@ -47,3 +48,28 @@ static void gvir_config_domain_timer_init(GVirConfigDomainTimer *timer)
timer->priv = GVIR_CONFIG_DOMAIN_TIMER_GET_PRIVATE(timer); } + +void gvir_config_domain_timer_set_tick_policy(GVirConfigDomainTimer *timer, + GVirConfigDomainTimerTickPolicy policy) +{ + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_TIMER(timer)); + + gvir_config_object_set_attribute_with_type(GVIR_CONFIG_OBJECT(timer), + "tickpolicy", + GVIR_CONFIG_TYPE_DOMAIN_TIMER_TICK_POLICY, + policy, + NULL); +} + +GVirConfigDomainTimerTickPolicy +gvir_config_domain_timer_get_tick_policy(GVirConfigDomainTimer *timer) +{ + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_TIMER(timer), + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); + + return gvir_config_object_get_attribute_genum(GVIR_CONFIG_OBJECT(timer), + NULL, + "tickpolicy", + GVIR_CONFIG_TYPE_DOMAIN_TIMER_TICK_POLICY, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.h b/libvirt-gconfig/libvirt-gconfig-domain-timer.h index a7b4332..84ea7e1 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.h @@ -56,9 +56,18 @@ struct _GVirConfigDomainTimerClass gpointer padding[20]; };
+typedef enum { + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_MERGE, + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DISCARD +} GVirConfigDomainTimerTickPolicy;
GType gvir_config_domain_timer_get_type(void);
+GVirConfigDomainTimerTickPolicy gvir_config_domain_timer_get_tick_policy(GVirConfigDomainTimer *timer); +void gvir_config_domain_timer_set_tick_policy(GVirConfigDomainTimer *timer, GVirConfigDomainTimerTickPolicy policy); + G_END_DECLS
#endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 77d0a45..386597b 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -227,6 +227,9 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_sound_set_model;
gvir_config_domain_timer_get_type; + gvir_config_domain_timer_tick_policy_get_type; + gvir_config_domain_timer_get_tick_policy; + gvir_config_domain_timer_set_tick_policy;
gvir_config_domain_video_get_type; gvir_config_domain_video_model_get_type;
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

--- libvirt-gconfig/libvirt-gconfig-domain-clock.c | 10 ++++++++++ libvirt-gconfig/libvirt-gconfig-domain-clock.h | 4 ++++ libvirt-gconfig/libvirt-gconfig.sym | 1 + 3 files changed, 15 insertions(+) diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.c b/libvirt-gconfig/libvirt-gconfig-domain-clock.c index 338b558..7c41dbf 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.c @@ -101,3 +101,13 @@ void gvir_config_domain_clock_set_variable_offset(GVirConfigDomainClock *klock, "adjustment", G_TYPE_INT, seconds, NULL); } + +void gvir_config_domain_clock_add_timer(GVirConfigDomainClock *klock, + GVirConfigDomainTimer *timer) +{ + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_CLOCK(klock)); + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_TIMER(timer)); + + gvir_config_object_attach_add(GVIR_CONFIG_OBJECT(klock), + GVIR_CONFIG_OBJECT(timer)); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.h b/libvirt-gconfig/libvirt-gconfig-domain-clock.h index 6eb2b52..b311048 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.h @@ -27,6 +27,8 @@ #ifndef __LIBVIRT_GCONFIG_DOMAIN_CLOCK_H__ #define __LIBVIRT_GCONFIG_DOMAIN_CLOCK_H__ +#include <libvirt-gconfig/libvirt-gconfig-domain-timer.h> + G_BEGIN_DECLS #define GVIR_CONFIG_TYPE_DOMAIN_CLOCK (gvir_config_domain_clock_get_type ()) @@ -74,6 +76,8 @@ void gvir_config_domain_clock_set_timezone(GVirConfigDomainClock *klock, const char *tz); void gvir_config_domain_clock_set_variable_offset(GVirConfigDomainClock *klock, gint seconds); +void gvir_config_domain_clock_add_timer(GVirConfigDomainClock *klock, + GVirConfigDomainTimer *timer); G_END_DECLS diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 386597b..8eefb95 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -59,6 +59,7 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_clock_offset_get_type; gvir_config_domain_clock_new; gvir_config_domain_clock_new_from_xml; + gvir_config_domain_clock_add_timer; gvir_config_domain_clock_set_offset; gvir_config_domain_clock_set_timezone; gvir_config_domain_clock_set_variable_offset; -- 1.7.10

On Fri, Apr 13, 2012 at 05:20:16PM +0200, Christophe Fergeau wrote:
--- libvirt-gconfig/libvirt-gconfig-domain-clock.c | 10 ++++++++++ libvirt-gconfig/libvirt-gconfig-domain-clock.h | 4 ++++ libvirt-gconfig/libvirt-gconfig.sym | 1 + 3 files changed, 15 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.c b/libvirt-gconfig/libvirt-gconfig-domain-clock.c index 338b558..7c41dbf 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.c @@ -101,3 +101,13 @@ void gvir_config_domain_clock_set_variable_offset(GVirConfigDomainClock *klock, "adjustment", G_TYPE_INT, seconds, NULL); } + +void gvir_config_domain_clock_add_timer(GVirConfigDomainClock *klock, + GVirConfigDomainTimer *timer) +{ + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_CLOCK(klock)); + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_TIMER(timer)); + + gvir_config_object_attach_add(GVIR_CONFIG_OBJECT(klock), + GVIR_CONFIG_OBJECT(timer)); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-clock.h b/libvirt-gconfig/libvirt-gconfig-domain-clock.h index 6eb2b52..b311048 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-clock.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-clock.h @@ -27,6 +27,8 @@ #ifndef __LIBVIRT_GCONFIG_DOMAIN_CLOCK_H__ #define __LIBVIRT_GCONFIG_DOMAIN_CLOCK_H__
+#include <libvirt-gconfig/libvirt-gconfig-domain-timer.h> + G_BEGIN_DECLS
#define GVIR_CONFIG_TYPE_DOMAIN_CLOCK (gvir_config_domain_clock_get_type ()) @@ -74,6 +76,8 @@ void gvir_config_domain_clock_set_timezone(GVirConfigDomainClock *klock, const char *tz); void gvir_config_domain_clock_set_variable_offset(GVirConfigDomainClock *klock, gint seconds); +void gvir_config_domain_clock_add_timer(GVirConfigDomainClock *klock, + GVirConfigDomainTimer *timer);
G_END_DECLS diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 386597b..8eefb95 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -59,6 +59,7 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_clock_offset_get_type; gvir_config_domain_clock_new; gvir_config_domain_clock_new_from_xml; + gvir_config_domain_clock_add_timer; gvir_config_domain_clock_set_offset; gvir_config_domain_clock_set_timezone; gvir_config_domain_clock_set_variable_offset;
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

--- libvirt-gconfig/Makefile.am | 2 + libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c | 72 ++++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h | 67 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 1 + libvirt-gconfig/libvirt-gconfig.sym | 4 ++ libvirt-gconfig/tests/test-domain-create.c | 9 +++ 6 files changed, 155 insertions(+) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 181ec57..0177a72 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -41,6 +41,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-domain-snapshot.h \ libvirt-gconfig-domain-sound.h \ libvirt-gconfig-domain-timer.h \ + libvirt-gconfig-domain-timer-rtc.h \ libvirt-gconfig-domain-video.h \ libvirt-gconfig-helpers.h \ libvirt-gconfig-interface.h \ @@ -94,6 +95,7 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-domain-snapshot.c \ libvirt-gconfig-domain-sound.c \ libvirt-gconfig-domain-timer.c \ + libvirt-gconfig-domain-timer-rtc.c \ libvirt-gconfig-domain-video.c \ libvirt-gconfig-helpers.c \ libvirt-gconfig-interface.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c new file mode 100644 index 0000000..b99c1e3 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c @@ -0,0 +1,72 @@ +/* + * libvirt-gconfig-domain-timer-rtc.c: libvirt domain RTC timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-private.h" + +#define GVIR_CONFIG_DOMAIN_TIMER_RTC_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtcPrivate)) + +struct _GVirConfigDomainTimerRtcPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainTimerRtc, gvir_config_domain_timer_rtc, GVIR_CONFIG_TYPE_DOMAIN_TIMER); + + +static void gvir_config_domain_timer_rtc_class_init(GVirConfigDomainTimerRtcClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainTimerRtcPrivate)); +} + + +static void gvir_config_domain_timer_rtc_init(GVirConfigDomainTimerRtc *timer) +{ + g_debug("Init GVirConfigDomainTimerRtc=%p", timer); + + timer->priv = GVIR_CONFIG_DOMAIN_TIMER_RTC_GET_PRIVATE(timer); +} + + +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, + "timer", NULL); + gvir_config_object_set_attribute(object, "name", "rtc", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_RTC(object); +} + +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, + "timer", NULL, xml, error); + gvir_config_object_set_attribute(object, "name", "rtc", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_RTC(object); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h new file mode 100644 index 0000000..6d76371 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h @@ -0,0 +1,67 @@ +/* + * libvirt-gconfig-domain-timer-rtc.h: libvirt domain RTC timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_TIMER_RTC_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_TIMER_RTC_H__ + +G_BEGIN_DECLS + +#define GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC (gvir_config_domain_timer_rtc_get_type ()) +#define GVIR_CONFIG_DOMAIN_TIMER_RTC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtc)) +#define GVIR_CONFIG_DOMAIN_TIMER_RTC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtcClass)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_RTC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_RTC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC)) +#define GVIR_CONFIG_DOMAIN_TIMER_RTC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtcClass)) + +typedef struct _GVirConfigDomainTimerRtc GVirConfigDomainTimerRtc; +typedef struct _GVirConfigDomainTimerRtcPrivate GVirConfigDomainTimerRtcPrivate; +typedef struct _GVirConfigDomainTimerRtcClass GVirConfigDomainTimerRtcClass; + +struct _GVirConfigDomainTimerRtc +{ + GVirConfigDomainTimer parent; + + GVirConfigDomainTimerRtcPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainTimerRtcClass +{ + GVirConfigDomainTimerClass parent_class; + + gpointer padding[20]; +}; + +GType gvir_config_domain_timer_rtc_get_type(void); + +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new(void); +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new_from_xml(const gchar *xml, + GError **error); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_RTC_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index 2fcc4ba..b8ef48f 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -58,6 +58,7 @@ #include <libvirt-gconfig/libvirt-gconfig-domain-snapshot.h> #include <libvirt-gconfig/libvirt-gconfig-domain-sound.h> #include <libvirt-gconfig/libvirt-gconfig-domain-timer.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h> #include <libvirt-gconfig/libvirt-gconfig-domain-video.h> #include <libvirt-gconfig/libvirt-gconfig-enum-types.h> #include <libvirt-gconfig/libvirt-gconfig-helpers.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 8eefb95..9bf9665 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -232,6 +232,10 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_timer_get_tick_policy; gvir_config_domain_timer_set_tick_policy; + gvir_config_domain_timer_rtc_get_type; + gvir_config_domain_timer_rtc_new; + gvir_config_domain_timer_rtc_new_from_xml; + gvir_config_domain_video_get_type; gvir_config_domain_video_model_get_type; gvir_config_domain_video_new; diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index 4ee33aa..6031829 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -76,9 +76,18 @@ int main(int argc, char **argv) /* clock node */ GVirConfigDomainClock *klock; + GVirConfigDomainTimerRtc *rtc; klock = gvir_config_domain_clock_new(); gvir_config_domain_clock_set_offset(klock, GVIR_CONFIG_DOMAIN_CLOCK_UTC); + + rtc = gvir_config_domain_timer_rtc_new(); + gvir_config_domain_timer_set_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(rtc), + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP); + gvir_config_domain_clock_add_timer(klock, GVIR_CONFIG_DOMAIN_TIMER(rtc)); + g_assert(gvir_config_domain_timer_get_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(rtc)) == GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP); + g_object_unref(G_OBJECT(rtc)); + gvir_config_domain_set_clock(domain, klock); g_object_unref(G_OBJECT(klock)); -- 1.7.10

On Fri, Apr 13, 2012 at 05:20:17PM +0200, Christophe Fergeau wrote:
--- libvirt-gconfig/Makefile.am | 2 + libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c | 72 ++++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h | 67 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 1 + libvirt-gconfig/libvirt-gconfig.sym | 4 ++ libvirt-gconfig/tests/test-domain-create.c | 9 +++ 6 files changed, 155 insertions(+) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 181ec57..0177a72 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -41,6 +41,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-domain-snapshot.h \ libvirt-gconfig-domain-sound.h \ libvirt-gconfig-domain-timer.h \ + libvirt-gconfig-domain-timer-rtc.h \ libvirt-gconfig-domain-video.h \ libvirt-gconfig-helpers.h \ libvirt-gconfig-interface.h \ @@ -94,6 +95,7 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-domain-snapshot.c \ libvirt-gconfig-domain-sound.c \ libvirt-gconfig-domain-timer.c \ + libvirt-gconfig-domain-timer-rtc.c \ libvirt-gconfig-domain-video.c \ libvirt-gconfig-helpers.c \ libvirt-gconfig-interface.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c new file mode 100644 index 0000000..b99c1e3 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.c @@ -0,0 +1,72 @@ +/* + * libvirt-gconfig-domain-timer-rtc.c: libvirt domain RTC timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-private.h" + +#define GVIR_CONFIG_DOMAIN_TIMER_RTC_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtcPrivate)) + +struct _GVirConfigDomainTimerRtcPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainTimerRtc, gvir_config_domain_timer_rtc, GVIR_CONFIG_TYPE_DOMAIN_TIMER); + + +static void gvir_config_domain_timer_rtc_class_init(GVirConfigDomainTimerRtcClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainTimerRtcPrivate)); +} + + +static void gvir_config_domain_timer_rtc_init(GVirConfigDomainTimerRtc *timer) +{ + g_debug("Init GVirConfigDomainTimerRtc=%p", timer); + + timer->priv = GVIR_CONFIG_DOMAIN_TIMER_RTC_GET_PRIVATE(timer); +} + + +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, + "timer", NULL); + gvir_config_object_set_attribute(object, "name", "rtc", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_RTC(object); +} + +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, + "timer", NULL, xml, error); + gvir_config_object_set_attribute(object, "name", "rtc", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_RTC(object); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h new file mode 100644 index 0000000..6d76371 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h @@ -0,0 +1,67 @@ +/* + * libvirt-gconfig-domain-timer-rtc.h: libvirt domain RTC timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_TIMER_RTC_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_TIMER_RTC_H__ + +G_BEGIN_DECLS + +#define GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC (gvir_config_domain_timer_rtc_get_type ()) +#define GVIR_CONFIG_DOMAIN_TIMER_RTC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtc)) +#define GVIR_CONFIG_DOMAIN_TIMER_RTC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtcClass)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_RTC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_RTC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC)) +#define GVIR_CONFIG_DOMAIN_TIMER_RTC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_RTC, GVirConfigDomainTimerRtcClass)) + +typedef struct _GVirConfigDomainTimerRtc GVirConfigDomainTimerRtc; +typedef struct _GVirConfigDomainTimerRtcPrivate GVirConfigDomainTimerRtcPrivate; +typedef struct _GVirConfigDomainTimerRtcClass GVirConfigDomainTimerRtcClass; + +struct _GVirConfigDomainTimerRtc +{ + GVirConfigDomainTimer parent; + + GVirConfigDomainTimerRtcPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainTimerRtcClass +{ + GVirConfigDomainTimerClass parent_class; + + gpointer padding[20]; +}; + +GType gvir_config_domain_timer_rtc_get_type(void); + +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new(void); +GVirConfigDomainTimerRtc *gvir_config_domain_timer_rtc_new_from_xml(const gchar *xml, + GError **error); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_RTC_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index 2fcc4ba..b8ef48f 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -58,6 +58,7 @@ #include <libvirt-gconfig/libvirt-gconfig-domain-snapshot.h> #include <libvirt-gconfig/libvirt-gconfig-domain-sound.h> #include <libvirt-gconfig/libvirt-gconfig-domain-timer.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h> #include <libvirt-gconfig/libvirt-gconfig-domain-video.h> #include <libvirt-gconfig/libvirt-gconfig-enum-types.h> #include <libvirt-gconfig/libvirt-gconfig-helpers.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 8eefb95..9bf9665 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -232,6 +232,10 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_timer_get_tick_policy; gvir_config_domain_timer_set_tick_policy;
+ gvir_config_domain_timer_rtc_get_type; + gvir_config_domain_timer_rtc_new; + gvir_config_domain_timer_rtc_new_from_xml; + gvir_config_domain_video_get_type; gvir_config_domain_video_model_get_type; gvir_config_domain_video_new; diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index 4ee33aa..6031829 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -76,9 +76,18 @@ int main(int argc, char **argv)
/* clock node */ GVirConfigDomainClock *klock; + GVirConfigDomainTimerRtc *rtc;
klock = gvir_config_domain_clock_new(); gvir_config_domain_clock_set_offset(klock, GVIR_CONFIG_DOMAIN_CLOCK_UTC); + + rtc = gvir_config_domain_timer_rtc_new(); + gvir_config_domain_timer_set_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(rtc), + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP); + gvir_config_domain_clock_add_timer(klock, GVIR_CONFIG_DOMAIN_TIMER(rtc)); + g_assert(gvir_config_domain_timer_get_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(rtc)) == GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP); + g_object_unref(G_OBJECT(rtc)); + gvir_config_domain_set_clock(domain, klock); g_object_unref(G_OBJECT(klock));
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

--- libvirt-gconfig/Makefile.am | 2 + libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c | 72 ++++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h | 67 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 1 + libvirt-gconfig/libvirt-gconfig.sym | 4 ++ libvirt-gconfig/tests/test-domain-create.c | 8 +++ 6 files changed, 154 insertions(+) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 0177a72..5f15803 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -41,6 +41,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-domain-snapshot.h \ libvirt-gconfig-domain-sound.h \ libvirt-gconfig-domain-timer.h \ + libvirt-gconfig-domain-timer-pit.h \ libvirt-gconfig-domain-timer-rtc.h \ libvirt-gconfig-domain-video.h \ libvirt-gconfig-helpers.h \ @@ -95,6 +96,7 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-domain-snapshot.c \ libvirt-gconfig-domain-sound.c \ libvirt-gconfig-domain-timer.c \ + libvirt-gconfig-domain-timer-pit.c \ libvirt-gconfig-domain-timer-rtc.c \ libvirt-gconfig-domain-video.c \ libvirt-gconfig-helpers.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c new file mode 100644 index 0000000..d75cd30 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c @@ -0,0 +1,72 @@ +/* + * libvirt-gconfig-domain-timer-pit.c: libvirt domain PIT timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-private.h" + +#define GVIR_CONFIG_DOMAIN_TIMER_PIT_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPitPrivate)) + +struct _GVirConfigDomainTimerPitPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainTimerPit, gvir_config_domain_timer_pit, GVIR_CONFIG_TYPE_DOMAIN_TIMER); + + +static void gvir_config_domain_timer_pit_class_init(GVirConfigDomainTimerPitClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainTimerPitPrivate)); +} + + +static void gvir_config_domain_timer_pit_init(GVirConfigDomainTimerPit *timer) +{ + g_debug("Init GVirConfigDomainTimerPit=%p", timer); + + timer->priv = GVIR_CONFIG_DOMAIN_TIMER_PIT_GET_PRIVATE(timer); +} + + +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, + "timer", NULL); + gvir_config_object_set_attribute(object, "name", "pit", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_PIT(object); +} + +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, + "timer", NULL, xml, error); + gvir_config_object_set_attribute(object, "name", "pit", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_PIT(object); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h new file mode 100644 index 0000000..7709825 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h @@ -0,0 +1,67 @@ +/* + * libvirt-gconfig-domain-timer-pit.h: libvirt domain PIT timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_TIMER_PIT_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_TIMER_PIT_H__ + +G_BEGIN_DECLS + +#define GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT (gvir_config_domain_timer_pit_get_type ()) +#define GVIR_CONFIG_DOMAIN_TIMER_PIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPit)) +#define GVIR_CONFIG_DOMAIN_TIMER_PIT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPitClass)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_PIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_PIT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT)) +#define GVIR_CONFIG_DOMAIN_TIMER_PIT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPitClass)) + +typedef struct _GVirConfigDomainTimerPit GVirConfigDomainTimerPit; +typedef struct _GVirConfigDomainTimerPitPrivate GVirConfigDomainTimerPitPrivate; +typedef struct _GVirConfigDomainTimerPitClass GVirConfigDomainTimerPitClass; + +struct _GVirConfigDomainTimerPit +{ + GVirConfigObject parent; + + GVirConfigDomainTimerPitPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainTimerPitClass +{ + GVirConfigObjectClass parent_class; + + gpointer padding[20]; +}; + +GType gvir_config_domain_timer_pit_get_type(void); + +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new(void); +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new_from_xml(const gchar *xml, + GError **error); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_PIT_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index b8ef48f..cd5c3ce 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -58,6 +58,7 @@ #include <libvirt-gconfig/libvirt-gconfig-domain-snapshot.h> #include <libvirt-gconfig/libvirt-gconfig-domain-sound.h> #include <libvirt-gconfig/libvirt-gconfig-domain-timer.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h> #include <libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h> #include <libvirt-gconfig/libvirt-gconfig-domain-video.h> #include <libvirt-gconfig/libvirt-gconfig-enum-types.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 9bf9665..49a947e 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -232,6 +232,10 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_timer_get_tick_policy; gvir_config_domain_timer_set_tick_policy; + gvir_config_domain_timer_pit_get_type; + gvir_config_domain_timer_pit_new; + gvir_config_domain_timer_pit_new_from_xml; + gvir_config_domain_timer_rtc_get_type; gvir_config_domain_timer_rtc_new; gvir_config_domain_timer_rtc_new_from_xml; diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index 6031829..d40e5f3 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -76,11 +76,19 @@ int main(int argc, char **argv) /* clock node */ GVirConfigDomainClock *klock; + GVirConfigDomainTimerPit *pit; GVirConfigDomainTimerRtc *rtc; klock = gvir_config_domain_clock_new(); gvir_config_domain_clock_set_offset(klock, GVIR_CONFIG_DOMAIN_CLOCK_UTC); + pit = gvir_config_domain_timer_pit_new(); + gvir_config_domain_timer_set_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(pit), + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); + gvir_config_domain_clock_add_timer(klock, GVIR_CONFIG_DOMAIN_TIMER(pit)); + g_assert(gvir_config_domain_timer_get_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(pit)) == GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); + g_object_unref(G_OBJECT(pit)); + rtc = gvir_config_domain_timer_rtc_new(); gvir_config_domain_timer_set_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(rtc), GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP); -- 1.7.10

On Fri, Apr 13, 2012 at 05:20:18PM +0200, Christophe Fergeau wrote:
--- libvirt-gconfig/Makefile.am | 2 + libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c | 72 ++++++++++++++++++++ libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h | 67 ++++++++++++++++++ libvirt-gconfig/libvirt-gconfig.h | 1 + libvirt-gconfig/libvirt-gconfig.sym | 4 ++ libvirt-gconfig/tests/test-domain-create.c | 8 +++ 6 files changed, 154 insertions(+) create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am index 0177a72..5f15803 100644 --- a/libvirt-gconfig/Makefile.am +++ b/libvirt-gconfig/Makefile.am @@ -41,6 +41,7 @@ GCONFIG_HEADER_FILES = \ libvirt-gconfig-domain-snapshot.h \ libvirt-gconfig-domain-sound.h \ libvirt-gconfig-domain-timer.h \ + libvirt-gconfig-domain-timer-pit.h \ libvirt-gconfig-domain-timer-rtc.h \ libvirt-gconfig-domain-video.h \ libvirt-gconfig-helpers.h \ @@ -95,6 +96,7 @@ GCONFIG_SOURCE_FILES = \ libvirt-gconfig-domain-snapshot.c \ libvirt-gconfig-domain-sound.c \ libvirt-gconfig-domain-timer.c \ + libvirt-gconfig-domain-timer-pit.c \ libvirt-gconfig-domain-timer-rtc.c \ libvirt-gconfig-domain-video.c \ libvirt-gconfig-helpers.c \ diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c new file mode 100644 index 0000000..d75cd30 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.c @@ -0,0 +1,72 @@ +/* + * libvirt-gconfig-domain-timer-pit.c: libvirt domain PIT timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#include <config.h> + +#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-private.h" + +#define GVIR_CONFIG_DOMAIN_TIMER_PIT_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPitPrivate)) + +struct _GVirConfigDomainTimerPitPrivate +{ + gboolean unused; +}; + +G_DEFINE_TYPE(GVirConfigDomainTimerPit, gvir_config_domain_timer_pit, GVIR_CONFIG_TYPE_DOMAIN_TIMER); + + +static void gvir_config_domain_timer_pit_class_init(GVirConfigDomainTimerPitClass *klass) +{ + g_type_class_add_private(klass, sizeof(GVirConfigDomainTimerPitPrivate)); +} + + +static void gvir_config_domain_timer_pit_init(GVirConfigDomainTimerPit *timer) +{ + g_debug("Init GVirConfigDomainTimerPit=%p", timer); + + timer->priv = GVIR_CONFIG_DOMAIN_TIMER_PIT_GET_PRIVATE(timer); +} + + +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new(void) +{ + GVirConfigObject *object; + + object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, + "timer", NULL); + gvir_config_object_set_attribute(object, "name", "pit", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_PIT(object); +} + +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new_from_xml(const gchar *xml, + GError **error) +{ + GVirConfigObject *object; + + object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, + "timer", NULL, xml, error); + gvir_config_object_set_attribute(object, "name", "pit", NULL); + return GVIR_CONFIG_DOMAIN_TIMER_PIT(object); +} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h new file mode 100644 index 0000000..7709825 --- /dev/null +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h @@ -0,0 +1,67 @@ +/* + * libvirt-gconfig-domain-timer-pit.h: libvirt domain PIT timer configuration + * + * Copyright (C) 2012 Red Hat, Inc. + * + * 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.1 of the License, 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Author: Christophe Fergeau <cfergeau@redhat.com> + */ + +#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD) +#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly." +#endif + +#ifndef __LIBVIRT_GCONFIG_DOMAIN_TIMER_PIT_H__ +#define __LIBVIRT_GCONFIG_DOMAIN_TIMER_PIT_H__ + +G_BEGIN_DECLS + +#define GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT (gvir_config_domain_timer_pit_get_type ()) +#define GVIR_CONFIG_DOMAIN_TIMER_PIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPit)) +#define GVIR_CONFIG_DOMAIN_TIMER_PIT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPitClass)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_PIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT)) +#define GVIR_CONFIG_IS_DOMAIN_TIMER_PIT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT)) +#define GVIR_CONFIG_DOMAIN_TIMER_PIT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_TIMER_PIT, GVirConfigDomainTimerPitClass)) + +typedef struct _GVirConfigDomainTimerPit GVirConfigDomainTimerPit; +typedef struct _GVirConfigDomainTimerPitPrivate GVirConfigDomainTimerPitPrivate; +typedef struct _GVirConfigDomainTimerPitClass GVirConfigDomainTimerPitClass; + +struct _GVirConfigDomainTimerPit +{ + GVirConfigObject parent; + + GVirConfigDomainTimerPitPrivate *priv; + + /* Do not add fields to this struct */ +}; + +struct _GVirConfigDomainTimerPitClass +{ + GVirConfigObjectClass parent_class; + + gpointer padding[20]; +}; + +GType gvir_config_domain_timer_pit_get_type(void); + +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new(void); +GVirConfigDomainTimerPit *gvir_config_domain_timer_pit_new_from_xml(const gchar *xml, + GError **error); + +G_END_DECLS + +#endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_PIT_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h index b8ef48f..cd5c3ce 100644 --- a/libvirt-gconfig/libvirt-gconfig.h +++ b/libvirt-gconfig/libvirt-gconfig.h @@ -58,6 +58,7 @@ #include <libvirt-gconfig/libvirt-gconfig-domain-snapshot.h> #include <libvirt-gconfig/libvirt-gconfig-domain-sound.h> #include <libvirt-gconfig/libvirt-gconfig-domain-timer.h> +#include <libvirt-gconfig/libvirt-gconfig-domain-timer-pit.h> #include <libvirt-gconfig/libvirt-gconfig-domain-timer-rtc.h> #include <libvirt-gconfig/libvirt-gconfig-domain-video.h> #include <libvirt-gconfig/libvirt-gconfig-enum-types.h> diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 9bf9665..49a947e 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -232,6 +232,10 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_timer_get_tick_policy; gvir_config_domain_timer_set_tick_policy;
+ gvir_config_domain_timer_pit_get_type; + gvir_config_domain_timer_pit_new; + gvir_config_domain_timer_pit_new_from_xml; + gvir_config_domain_timer_rtc_get_type; gvir_config_domain_timer_rtc_new; gvir_config_domain_timer_rtc_new_from_xml; diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c index 6031829..d40e5f3 100644 --- a/libvirt-gconfig/tests/test-domain-create.c +++ b/libvirt-gconfig/tests/test-domain-create.c @@ -76,11 +76,19 @@ int main(int argc, char **argv)
/* clock node */ GVirConfigDomainClock *klock; + GVirConfigDomainTimerPit *pit; GVirConfigDomainTimerRtc *rtc;
klock = gvir_config_domain_clock_new(); gvir_config_domain_clock_set_offset(klock, GVIR_CONFIG_DOMAIN_CLOCK_UTC);
+ pit = gvir_config_domain_timer_pit_new(); + gvir_config_domain_timer_set_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(pit), + GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); + gvir_config_domain_clock_add_timer(klock, GVIR_CONFIG_DOMAIN_TIMER(pit)); + g_assert(gvir_config_domain_timer_get_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(pit)) == GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY); + g_object_unref(G_OBJECT(pit)); + rtc = gvir_config_domain_timer_rtc_new(); gvir_config_domain_timer_set_tick_policy(GVIR_CONFIG_DOMAIN_TIMER(rtc), GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP);
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

Ping? Christophe On Fri, Apr 13, 2012 at 05:20:14PM +0200, Christophe Fergeau wrote:
Specialized timer classes will inherit from it --- libvirt-gconfig/libvirt-gconfig-domain-timer.c | 22 +--------------------- libvirt-gconfig/libvirt-gconfig-domain-timer.h | 4 ---- libvirt-gconfig/libvirt-gconfig.sym | 2 -- 3 files changed, 1 insertion(+), 27 deletions(-)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.c b/libvirt-gconfig/libvirt-gconfig-domain-timer.c index 70215ae..67a1812 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.c @@ -32,7 +32,7 @@ struct _GVirConfigDomainTimerPrivate gboolean unused; };
-G_DEFINE_TYPE(GVirConfigDomainTimer, gvir_config_domain_timer, GVIR_CONFIG_TYPE_OBJECT); +G_DEFINE_ABSTRACT_TYPE(GVirConfigDomainTimer, gvir_config_domain_timer, GVIR_CONFIG_TYPE_OBJECT);
static void gvir_config_domain_timer_class_init(GVirConfigDomainTimerClass *klass) @@ -47,23 +47,3 @@ static void gvir_config_domain_timer_init(GVirConfigDomainTimer *timer)
timer->priv = GVIR_CONFIG_DOMAIN_TIMER_GET_PRIVATE(timer); } - - -GVirConfigDomainTimer *gvir_config_domain_timer_new(void) -{ - GVirConfigObject *object; - - object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_TIMER, "timer", NULL); - return GVIR_CONFIG_DOMAIN_TIMER(object); -} - - -GVirConfigDomainTimer *gvir_config_domain_timer_new_from_xml(const gchar *xml, - GError **error) -{ - GVirConfigObject *object; - - object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_TIMER, - "timer", NULL, xml, error); - return GVIR_CONFIG_DOMAIN_TIMER(object); -} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.h b/libvirt-gconfig/libvirt-gconfig-domain-timer.h index 11038e2..a7b4332 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.h @@ -59,10 +59,6 @@ struct _GVirConfigDomainTimerClass
GType gvir_config_domain_timer_get_type(void);
-GVirConfigDomainTimer *gvir_config_domain_timer_new(void); -GVirConfigDomainTimer *gvir_config_domain_timer_new_from_xml(const gchar *xml, - GError **error); - G_END_DECLS
#endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 2378a3c..77d0a45 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -227,8 +227,6 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_sound_set_model;
gvir_config_domain_timer_get_type; - gvir_config_domain_timer_new; - gvir_config_domain_timer_new_from_xml;
gvir_config_domain_video_get_type; gvir_config_domain_video_model_get_type; -- 1.7.10
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Fri, Apr 13, 2012 at 05:20:14PM +0200, Christophe Fergeau wrote:
Specialized timer classes will inherit from it --- libvirt-gconfig/libvirt-gconfig-domain-timer.c | 22 +--------------------- libvirt-gconfig/libvirt-gconfig-domain-timer.h | 4 ---- libvirt-gconfig/libvirt-gconfig.sym | 2 -- 3 files changed, 1 insertion(+), 27 deletions(-)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.c b/libvirt-gconfig/libvirt-gconfig-domain-timer.c index 70215ae..67a1812 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.c @@ -32,7 +32,7 @@ struct _GVirConfigDomainTimerPrivate gboolean unused; };
-G_DEFINE_TYPE(GVirConfigDomainTimer, gvir_config_domain_timer, GVIR_CONFIG_TYPE_OBJECT); +G_DEFINE_ABSTRACT_TYPE(GVirConfigDomainTimer, gvir_config_domain_timer, GVIR_CONFIG_TYPE_OBJECT);
static void gvir_config_domain_timer_class_init(GVirConfigDomainTimerClass *klass) @@ -47,23 +47,3 @@ static void gvir_config_domain_timer_init(GVirConfigDomainTimer *timer)
timer->priv = GVIR_CONFIG_DOMAIN_TIMER_GET_PRIVATE(timer); } - - -GVirConfigDomainTimer *gvir_config_domain_timer_new(void) -{ - GVirConfigObject *object; - - object = gvir_config_object_new(GVIR_CONFIG_TYPE_DOMAIN_TIMER, "timer", NULL); - return GVIR_CONFIG_DOMAIN_TIMER(object); -} - - -GVirConfigDomainTimer *gvir_config_domain_timer_new_from_xml(const gchar *xml, - GError **error) -{ - GVirConfigObject *object; - - object = gvir_config_object_new_from_xml(GVIR_CONFIG_TYPE_DOMAIN_TIMER, - "timer", NULL, xml, error); - return GVIR_CONFIG_DOMAIN_TIMER(object); -} diff --git a/libvirt-gconfig/libvirt-gconfig-domain-timer.h b/libvirt-gconfig/libvirt-gconfig-domain-timer.h index 11038e2..a7b4332 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-timer.h +++ b/libvirt-gconfig/libvirt-gconfig-domain-timer.h @@ -59,10 +59,6 @@ struct _GVirConfigDomainTimerClass
GType gvir_config_domain_timer_get_type(void);
-GVirConfigDomainTimer *gvir_config_domain_timer_new(void); -GVirConfigDomainTimer *gvir_config_domain_timer_new_from_xml(const gchar *xml, - GError **error); - G_END_DECLS
#endif /* __LIBVIRT_GCONFIG_DOMAIN_TIMER_H__ */ diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym index 2378a3c..77d0a45 100644 --- a/libvirt-gconfig/libvirt-gconfig.sym +++ b/libvirt-gconfig/libvirt-gconfig.sym @@ -227,8 +227,6 @@ LIBVIRT_GCONFIG_0.0.7 { gvir_config_domain_sound_set_model;
gvir_config_domain_timer_get_type; - gvir_config_domain_timer_new; - gvir_config_domain_timer_new_from_xml;
gvir_config_domain_video_get_type; gvir_config_domain_video_model_get_type;
ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (2)
-
Christophe Fergeau
-
Daniel P. Berrange