diff options
author | nobody <nobody@localhost> | 2002-01-25 03:01:46 +0800 |
---|---|---|
committer | nobody <nobody@localhost> | 2002-01-25 03:01:46 +0800 |
commit | 76bbd700763e4b45614df6ad6174fe831ddb932e (patch) | |
tree | 46b61771dcad0f9692e7f34c7627f05edb733c6b /addressbook/conduit/address-conduit-config.h | |
parent | 7c9e80dd308222afbdec1068a925e4800f13dfb5 (diff) | |
download | gsoc2013-evolution-EVOLUTION_1_0_2.tar gsoc2013-evolution-EVOLUTION_1_0_2.tar.gz gsoc2013-evolution-EVOLUTION_1_0_2.tar.bz2 gsoc2013-evolution-EVOLUTION_1_0_2.tar.lz gsoc2013-evolution-EVOLUTION_1_0_2.tar.xz gsoc2013-evolution-EVOLUTION_1_0_2.tar.zst gsoc2013-evolution-EVOLUTION_1_0_2.zip |
This commit was manufactured by cvs2svn to create tagEVOLUTION_1_0_2
'EVOLUTION_1_0_2'.
svn path=/tags/EVOLUTION_1_0_2/; revision=15455
Diffstat (limited to 'addressbook/conduit/address-conduit-config.h')
-rw-r--r-- | addressbook/conduit/address-conduit-config.h | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/addressbook/conduit/address-conduit-config.h b/addressbook/conduit/address-conduit-config.h new file mode 100644 index 0000000000..2387f67ef3 --- /dev/null +++ b/addressbook/conduit/address-conduit-config.h @@ -0,0 +1,128 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* Evolution addressbook - Addressbook Conduit Configuration + * + * Copyright (C) 1998 Free Software Foundation + * Copyright (C) 2000 Ximian, Inc. + * + * Authors: Eskil Heyn Olsen <deity@eskil.dk> + * JP Rosevear <jpr@ximian.com> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __ADDR_CONDUIT_CONFIG_H__ +#define __ADDR_CONDUIT_CONFIG_H__ + +#include <gnome.h> +#include <libgpilotdCM/gnome-pilot-conduit-management.h> +#include <gpilotd/gnome-pilot-conduit.h> +#include <libgpilotdCM/gnome-pilot-conduit-config.h> + +/* Configuration info */ +typedef struct _EAddrConduitCfg EAddrConduitCfg; +struct _EAddrConduitCfg { + guint32 pilot_id; + GnomePilotConduitSyncType sync_type; + + gboolean open_secret; + gchar *last_uri; +}; + +#ifdef ADDR_CONFIG_LOAD +/* Loads the configuration data */ +static void +addrconduit_load_configuration (EAddrConduitCfg **c, guint32 pilot_id) +{ + GnomePilotConduitManagement *management; + GnomePilotConduitConfig *config; + gchar prefix[256]; + g_snprintf (prefix, 255, "/gnome-pilot.d/e-address-conduit/Pilot_%u/", + pilot_id); + + *c = g_new0 (EAddrConduitCfg,1); + g_assert (*c != NULL); + + (*c)->pilot_id = pilot_id; + management = gnome_pilot_conduit_management_new ("e_address_conduit", GNOME_PILOT_CONDUIT_MGMT_ID); + config = gnome_pilot_conduit_config_new (management, pilot_id); + if (!gnome_pilot_conduit_config_is_enabled (config, &(*c)->sync_type)) + (*c)->sync_type = GnomePilotConduitSyncTypeNotSet; + gtk_object_unref (GTK_OBJECT (config)); + gtk_object_unref (GTK_OBJECT (management)); + + /* Custom settings */ + gnome_config_push_prefix (prefix); + + (*c)->open_secret = gnome_config_get_bool ("open_secret=FALSE"); + (*c)->last_uri = gnome_config_get_string ("last_uri"); + + gnome_config_pop_prefix (); +} +#endif + +#ifdef ADDR_CONFIG_SAVE +/* Saves the configuration data. */ +static void +addrconduit_save_configuration (EAddrConduitCfg *c) +{ + gchar prefix[256]; + + g_snprintf (prefix, 255, "/gnome-pilot.d/e-address-conduit/Pilot_%u/", + c->pilot_id); + + gnome_config_push_prefix (prefix); + gnome_config_set_bool ("open_secret", c->open_secret); + gnome_config_set_string ("last_uri", c->last_uri); + gnome_config_pop_prefix (); + + gnome_config_sync (); + gnome_config_drop_all (); +} +#endif + +#ifdef ADDR_CONFIG_DUPE +/* Creates a duplicate of the configuration data */ +static EAddrConduitCfg* +addrconduit_dupe_configuration (EAddrConduitCfg *c) +{ + EAddrConduitCfg *retval; + + g_return_val_if_fail (c != NULL, NULL); + + retval = g_new0 (EAddrConduitCfg, 1); + retval->sync_type = c->sync_type; + retval->open_secret = c->open_secret; + + retval->pilot_id = c->pilot_id; + retval->last_uri = g_strdup (c->last_uri); + + return retval; +} +#endif + +#ifdef ADDR_CONFIG_DESTROY +/* Destroy a configuration */ +static void +addrconduit_destroy_configuration (EAddrConduitCfg **c) +{ + g_return_if_fail (c != NULL); + g_return_if_fail (*c != NULL); + + g_free ((*c)->last_uri); + g_free (*c); + *c = NULL; +} +#endif + +#endif /* __ADDR_CONDUIT_CONFIG_H__ */ |