
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 :|