Commit graph

32 commits

Author SHA1 Message Date
jacob berkman
64a0eee134 fix improper use of guint as GType
2002-04-11  jacob berkman  <jacob@ximian.com>

	* (various files): fix improper use of guint as GType
2002-04-11 19:13:49 +00:00
Bradford Hovinen
091dc3447c Only set tm_gmtoff and tm_zone fields if __USE_BSD is defined
2001-09-28  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (parse_line): Only set tm_gmtoff and tm_zone fields
	if __USE_BSD is defined

	* util.c (parse_date): Ditto
2001-09-28 21:27:19 +00:00
Bradford Hovinen
6ab6caa498 Make backend_id const
2001-09-07  Bradford Hovinen  <hovinen@ximian.com>

	* archiver-client.c (location_client_store_xml): Make backend_id
	const

	* util.c (parse_date): Set the time zone
	(parse_date): Initialize tm_isdst

	* archiver-client.c (location_client_store_xml): Call
	ConfigArchiver_Location_storageComplete when done
	(location_client_store_xml): Don't try to save the XML file if
	there was an error getting the storage filename

	* location.c (location_storage_complete): Implement
	(impl_ConfigArchiver_Location_storageComplete): Implement

	* config-log.c (config_log_get_backend_id_for_id): Make return
	value const

2001-09-04  Bradford Hovinen  <hovinen@ximian.com>

	* location.c (location_get_storage_filename): Notify listeners
	that new rollback data is available

	* bonobo-config-archiver.c (new_rollback_cb): Implement
	(bonobo_config_archiver_new): Connect above to event source

	* location.c (location_store):
	(location_init): Construct an event source and add its interface

	* Makefile.am (INCLUDES): Remove -DDEFAULTS_DIR

2001-09-03  Bradford Hovinen  <hovinen@ximian.com>

	* bonobo-config-archiver.c (bonobo_config_archiver_new): Accept
	complete moniker as an argument; do the parsing here

	* archiver-client.c (location_client_load_rollback_data): Adjust
	time from mktime according to time zone information

	* bonobo-moniker-archiver.c (is_leap_year):
	(mod_date_by_str): Implement
	(parse_name): Use correct math for computing offsets

	* bonobo-config-archiver.c (bonobo_config_archiver_new): Don't
	print an error message if the parent moniker is bad
	(bonobo_config_archiver_new): Remove debugging messages

	* archiver-client.c (location_client_load_rollback_data): Make
	date and backend_id const

	* bonobo-moniker-archiver.c (archiverdb_resolve): Determine date
	from moniker and pass to bonobo_config_archiver_new

	* bonobo-config-archiver.c (bonobo_config_archiver_new): Accept
	date structure as argument
2001-09-12 15:30:41 +00:00
Bradford Hovinen
286cb3899a Make sure we don't try to do this if we are marked deleted
2001-08-23  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (do_unload): Make sure we don't try to do this if
	we are marked deleted
	(config_log_delete): Call do_unload to eliminate memory leaks

	* location.c (location_delete): Set the deleted flag

	* config-log.c (dump_log): Don't try to dump the log if we are
	deleted

	* location.c (save_metadata): Don't try to save metadata if we are
	deleted
2001-08-23 20:09:21 +00:00
Bradford Hovinen
b37d7f6897 Added exception RollbackDataNotFound Added exception LocationNotFound
2001-08-21  Bradford Hovinen  <hovinen@ximian.com>

	* idl/ConfigArchiver.idl: Added exception RollbackDataNotFound
	Added exception LocationNotFound

	* archive.c (archive_get_current_location_id): Use
	archive_create_location rather than location_new
	(archive_get_current_location_id): Unref the location once we have
	created it

	* archiver-client.c (location_client_load_rollback_data): Don't
	try to parse the XML file if there was an exception

	* bonobo-config-archiver.c (bonobo_config_archiver_new): Make sure
	to release_unref location and archive if aborting
	(bonobo_config_archiver_new): Reinitialize exception structure
	after we have succeeded

	* location.c (location_get_rollback_filename): Recurse on parent
	location if parent_chain is set to TRUE

	* archive.c (impl_ConfigArchiver_Archive_getLocation): Set the
	LocationNotFound exception if the location returned was NULL

	* location.c (impl_ConfigArchiver_Location_getRollbackFilename): Don't try

	* archive.c (impl_ConfigArchiver_Archive_getLocation): Don't try
	to CORBA_Object_duplicate the result if it is NULL
	(archive_get_location): Don't try to cast the result of
	location_open before we know whether it is non-NULL
	(impl_ConfigArchiver_Archive_createLocation): Call
	bonobo_object_from_servant on parent_ref->servant

	* location.c (location_destroy): Remove debugging message; make
	remaining debugging message more enlightening

	* archive.c (archive_get_child_locations): Rename from
	archive_foreach_child_location; rewrite to return a GList of child
	locations
	(impl_ConfigArchiver_Archive_getChildLocations): Use
	archive_get_child_locations
	(archive_destroy): Remove debugging message

	* bonobo-moniker-archiver.c (archive_resolve): Remove debugging
	messages

	* archive.c (archive_get_location): Remove debugging messages

	* config-log.c (dump_log): Remove debugging messages

	* archive.c (archive_foreach_child_location): Build a list first
	and then traverse it to avoid screwing up the tree traversal

	* mouse-properties-capplet.c (apply_settings): Use a CORBA
	exception structure
2001-08-22 13:56:23 +00:00
Bradford Hovinen (Gdict maintainer)
4e6a3b89d6 Added CORBA interface to the archiver 2001-08-20 15:47:57 +00:00
Bradford Hovinen
212641565b Return NULL if file_stream is NULL
2001-08-03  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (load_log_entry): Return NULL if file_stream is NULL
2001-08-03 14:48:33 +00:00
Bradford Hovinen
a1c5aa388f Return NULL if fgets returns NULL (dump_log): If both first_old and
2001-08-03  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (load_log_entry): Return NULL if fgets returns NULL
	(dump_log): If both first_old and log_data are NULL, go ahead and
	dump the file, since nothing has been loaded yet
	(config_log_garbage_collect): Don't bother dumping the log file or
	reloading

2001-08-02  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (config_log_garbage_collect): Implement
	(dump_log): Don't dump the old file if first_old is NULL

	* main.c (main): Support --garbage_collect

	* location.c (location_garbage_collect):
	(garbage_collect_cb): Implement
2001-08-03 14:38:09 +00:00
Bradford Hovinen
8dbdcab35e Remove socket-based synchronization system entirely. Switch to using
2001-07-31  Bradford Hovinen  <hovinen@ximian.com>

        * config-log.c: Remove socket-based synchronization system
        entirely. Switch to using standard FILE streams for interfacing
        with the configuration log
2001-07-31 18:00:39 +00:00
Bradford Hovinen
eb938c2725 Make sure to write log when socket_owner not set
2001-07-30  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (config_log_write_entry): Make sure to write log
	when socket_owner not set
2001-07-30 13:43:33 +00:00
Bradford Hovinen
a817c23277 Close the socket if we couldn't load the log entry (config_log_destroy):
2001-07-30  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (socket_data_cb): Close the socket if we couldn't
	load the log entry
	(config_log_destroy):
	(config_log_open): Disable socket sync system
2001-07-30 13:23:57 +00:00
Richard Hestilow
fa088b6d63 Ok, bad fix. Move that to the archiver.
2001-07-24  Richard Hestilow  <hestilow@ximian.com>

	* config-log.c (parse_line): Ok, bad fix. Move that to the archiver.

	* bonobo-config-archiver.c (pb_set_fn): Moved here.
	(bonobo_config_archiver_new): Don't aggregate against an EventSource,
	since the PropertyBag already has one and everything will get confused.
	Just use the one the bag has.
	(bonobo_config_archiver_destroy): Don't unref the event source, we
	don't own it any more.
2001-07-25 05:25:13 +00:00
Richard Hestilow
17cd2c6e79 Fix date parsing to work with DST.
2001-07-24  Richard Hestilow  <hestilow@ximian.com>

	* config-log.c (parse_line): Fix date parsing to work with DST.

	* bonobo-config-archiver.[ch]: Export a PropertyBag interface that
	has the last_modified date as a read-only property.
2001-07-25 02:58:40 +00:00
Bradford Hovinen
7e8f457622 Remove
2001-07-17  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (slave_apprise_data): Remove
2001-07-17 19:22:51 +00:00
Bradford Hovinen
47d682e446 Use location_get_changed_backends
2001-06-21  Bradford Hovinen  <hovinen@ximian.com>

	* archive.c (archive_set_current_location): Use
	location_get_changed_backends

	* location.c (location_get_changed_backends):
	(location_does_backend_change): Implement
	(create_backends_list):
	(merge_backend_lists): Moved from archive.c

	* gui-backend-list.c (gui_backend_list_launch_current): Use
	location_does_backend_change when deciding whether to pass
	--location on the command line
2001-06-21 21:48:12 +00:00
Bradford Hovinen
93e004a93f Don't call close on fd (dump_log): Use g_critical on error conditions
2001-06-21  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (dump_log): Don't call close on fd
	(dump_log): Use g_critical on error conditions rather than g_warning
2001-06-21 14:33:24 +00:00
Bradford Hovinen (Gdict maintainer)
9f75f8c219 Typo bugfix in configuration log 2001-06-20 18:53:47 +00:00
Bradford Hovinen
f0dda427f7 Call io_buffer_destroy
2001-06-20  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (config_log_write_entry): Call io_buffer_destroy
2001-06-20 18:33:08 +00:00
Bradford Hovinen
1f701fce3b Dump the log after loading it from the slave (dump_log): Set first_old to
2001-06-20  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (slave_data_cb): Dump the log after loading it from
	the slave
	(dump_log): Set first_old to the beginning of the list after the dump
	(do_load): Don't call do_unload
	(socket_data_cb): Check for hang up first
	(do_load): Don't call reset_filenames

	* archive.c, Makefile.am: Replace all instances of ximian-config
	with ximian-setup-tools

	* config-log.c (slave_new): Don't apprise slave of new data
	(config_log_write_entry): Dump log after every write
2001-06-20 17:58:45 +00:00
Bradford Hovinen
c39d6dff02 Dump the log after loading it from the slave (dump_log): Set first_old to
2001-06-20  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (slave_data_cb): Dump the log after loading it from
	the slave
	(dump_log): Set first_old to the beginning of the list after the dump
	(do_load): Don't call do_unload
	(socket_data_cb): Check for hang up first
2001-06-20 17:21:33 +00:00
Bradford Hovinen
0b43d32e46 Don't apprise slave of new data (config_log_write_entry): Dump log after
2001-06-20  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (slave_new): Don't apprise slave of new data
	(config_log_write_entry): Dump log after every write
2001-06-20 14:41:18 +00:00
Bradford Hovinen
aa7315ed93 Don't use == to test IO conditions
2001-06-18  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (slave_data_cb): Don't use == to test IO conditions
2001-06-18 16:45:31 +00:00
JP Rosevear
f98e622027 use AF_UNIX for the family
2001-05-22  JP Rosevear  <jpr@ximian.com>

	* config-log.c (bind_socket): use AF_UNIX for the family

	* location.c (run_backend_proc): use putenv() rather than setenv()
	for solaris

	* config-log.c: define the SUN_LEN macro for those systems not
	having it
	(connect_socket): use the more portable domain type, PF_LOCAL
	seems to map to PF_UNIX on linux anyhow

2001-05-22  JP Rosevear  <jpr@ximian>

	* e-search-bar/Makefile.am: include gal cflags
2001-05-22 22:07:34 +00:00
Bradford Hovinen
7631a53d80 Support STORE_DEFAULT (store_snapshot_cb): Use STORE_DEFAULT rather than
2001-05-03  Bradford Hovinen  <hovinen@ximian.com>

	* location.c (location_store_xml): Support STORE_DEFAULT
	(store_snapshot_cb): Use STORE_DEFAULT rather than STORE_MASK_PREVIOUS

	* location.h (_StoreType): Add STORE_DEFAULT

	* config-log.c (config_log_get_rollback_id_by_steps): Return the
	current id if the node represents default data

	* main.c (do_add_location): Cast correctly, fixing compiler
	warning
2001-05-04 01:28:38 +00:00
Bradford Hovinen
b38b466dc0 Use read rather than fread
2001-04-24  Bradford Hovinen  <hovinen@ximian.com>

	* location.c (location_store): Use read rather than fread

2001-04-23  Bradford Hovinen  <hovinen@ximian.com>

	* location.c (location_store): Block SIGPIPE
	(location_store): Fix off-by-one bug

	* archive.c (archive_get_current_location_id): Store a full
	snapshot of the system after the default location is created

	* location.c (run_backend_proc): Added parameter do_get to allow
	control of whether pipe is opened to read or write
	(store_snapshot_cb): Implement. Invokes the given backend with
	--get and stores the XML data
	(location_store_full_snapshot): Implement. Stores a complete
	snapshot with all backend data
	(subtract_xml_node): Assume all nodes are the same
	(location_store): Add string termination character
	(location_store): Only store data if any data were actually read

2001-04-22  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (config_log_iterate): Use the correct data pointer
	to pass to the callback

	* location.c (location_new): Save the metadata for the newly
	created location right away

	* util.h: Defined DEBUG_MSG macro for debugging messages

	* archive.c (archive_unregister_location): Don't remove the
	location from the tree if the object is marked destroyed

2001-04-21  Bradford Hovinen  <hovinen@ximian.com>

	* archive.c (archive_destroy): Return if the archive was already
	destroyed

	* location.c (location_delete): Unregister the location before
	destroying it

	* config-log.c (config_log_delete): Set deleted flag
	(config_log_destroy): Only dump the log if the log is not marked
	deleted

	* location.c (location_delete): Check return value of rmdir

	* config-log.c (io_buffer_destroy): Call g_io_channel_close to
	close the GIOChannel
	(disconnect_socket): Force the removal of the source id from the
	main loop
	(config_log_destroy): Disconnect the socket after unloading, not
	before

	* location.c (location_delete): Remember to have a NULL at the end
	of arguments to g_strconcat ()

2001-04-22  Bradford Hovinen  <hovinen@ximian.com>

	* location-list.[ch]: Change to inherit GtkObject

	* location-manager-dialog.c (location_manager_dialog_destroy):
	Implement. Close and destroy all aggregated objects.
	(close_cb): Call gtk_object_destroy

2001-04-21  Bradford Hovinen  <hovinen@ximian.com>

	* location-manager-dialog.c (delete_location_cb): Don't let the
	user delete the default location
	(delete_ok_cb): Add some sanity checks to make sure the current
	location is set to something new if we delete it

	* location-list.c (location_list_select): Implement. Selectes the
	given location in the location list

	* location-manager-dialog.c (delete_ok_cb): Use correct semantics
	for callback
2001-04-25 00:57:59 +00:00
Bradford Hovinen
49876695d2 Added InputBuffer, removed get_line (struct _Slave): (struct
2001-04-20  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c: Added InputBuffer, removed get_line
	(struct _Slave):
	(struct _ConfigLogPrivate ): Replaced GIOChannel * and FILE * with
	InputBuffer *'s
	(input_buffer_new): Implement. Constructs a new input buffer
	(input_buffer_destroy): Implement. Destroys an input buffer and
	closes the file descriptor
	(input_buffer_cycle): Implement (borrowed from GDict). Reads
	additional data from the input file
	(input_buffer_read_line): Implement (borrowed from GDict). Reads a
	line from the input file and returns a pointer to it
	(input_buffer_write): Implement. Write the indicated string out to
	the channel

2001-04-15  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (config_log_set_arg): Create semaphore for
	auto-reloading
	(do_load): Removed locking code
	(load_log_entry): Support prepending log entries to the beginning
	of the log; free entry->date if parsing was unsuccessful
	(config_log_reset_filenames): Unlink socket filename if not owner
	(config_log_reset_filenames): Rebind socket when filename is reset
	(connect_socket): Implement. Creates or connects to the socket
	associated with the config log
	(check_socket_filename): Implement. Checks to see if the filename
	associated with the socket is in use.
	(bind_socket): Implement. Binds the socket to the filename.
	(socket_connect_cb): Implement. Callback issued when a master gets
	a new connection.
	(socket_data_cb): Implement. Callback issued when a slave gets
	data from the master.
	(slave_new): Implement. Creates a new slave structure
	(slave_destroy): Implement. Destroys a slave structure
	(slave_data_cb): Implement. Callback issued when data comes in
	from a slave
	(slave_broadcast_data): Implement. Broadcast the first log entry
	to all the slaves except the given one
	(disconnect_socket): Implement. Disconnects the socket
	(config_log_open): Call connect_socket
	(do_unload): Don't dump the log unless currently the socket owner
	(config_log_write_entry): Broadcast data to slaves or write data
	to socket, depending on whether currently the socket owner

2001-04-14  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (do_unload): Add a parameter write_log to tell
	whether to write out the log when unloading
	(config_log_finalize): Implement

	* config-log.[ch]: Put all data fields in ConfigLogPrivate
	structure

	* gui-backend-list.c (gui_backend_list_launch_current): Rewrite to
	use popen
2001-04-22 01:05:26 +00:00
Bradford Hovinen
afc3333a5a Added test-1.sh and test-2.sh, the first two tests in the test suite
2001-02-19  Bradford Hovinen  <hovinen@ximian.com>

	* Added test-1.sh and test-2.sh, the first two tests in the test suite

	* location.c (location_foreach_backend): Update to use BackendNote
	(do_rollback): Don't do rollback if the doc is NULL
	(location_store_xml): Return if this location does not contain the
	backend specified
	(location_store_xml): Use fprintf rather than g_warning
	(subtract_xml_node):
	(merge_xml_nodes): Update child node while iterating

	* config-log.c (config_log_get_rollback_ids_for_date): Remove

	* location.c (location_set_arg): ref inherited object

	* main.c (main): Don't check if the location is default; don't
	create default location if non-existant
	(main): Signal error if the user is adding a location and did not
	specify a name
	(main): Use fprintf to signal the error that a location could not
	be opened
	(main): Signal error and exit when archive cannot be opened,
	rather than using g_error
	(do_add_location): Check for NULL location_id
	(do_add_location): Create default location if it does not exist
	and it is specified as the parent

	* archive.c (archive_get_current_location_id): Create the default
	location if it does not exist

	* backend-list.c (backend_list_contains): Use strcmp and iterate
	through the list

	* location.c (location_contains): Read whether the backend is in
	the master list if this location is toplevel

2001-02-18  Bradford Hovinen  <hovinen@ximian.com>

	* main.c (do_add_backend): Support ContainmentType specification
	(do_store): Support StoreType specification
	(struct store_options): Add set of options to support
	compare_parent, mask_previous, options
	(struct add_remove_backend_options): Add option for partial
	containment when adding backend

	* location.c (subtract_xml_node):
	(merge_xml_nodes):
	(compare_xml_nodes):
	(merge_xml_docs):
	(subtract_xml_doc): Implement. XML node compare/merging operations
	(location_store): Rewrite to call location_store_xml
	(location_store_xml): Include support for diffing with
	configuration data from parent config
	(location_dump_rollback_data): Rewrite to use
	location_load_rollback_data
	(dump_xml_data): Remove
	(do_rollback): Rewrite to use xmlDocDump; pass xmlDocPtr rather
	than id number
	(location_rollback_id): Add node merging support
	(location_rollback_backend_by):
	(location_rollback_backend_to): Rewrite to use
	location_load_rollback_data
	(location_rollback_backends_to): Rewrite to iterate through
	backend list and call location_rollback_backend_to for each
	element
	(location_rollback_all_to): Ditto

2001-02-14  Bradford Hovinen  <hovinen@ximian.com>

	* location.h (_ContainmentType): Introduce. Specifies the type of
	containment (full, partial, none), of a backend in a location

	* location.c: Added struct BackendNote; have backend list include
	type of containment as well as backend id
	(location_contains): Use find_note
	(find_note): Implement. Finds a note for the given backend id in
	the backend list
	(backend_note_new):
	(backend_note_destroy): Implement. Convenience functions for
	creating and destroying backend notes
	(load_metadata_file):
	(write_metadata_file): Read/write type of backend containment
	(full or partial)
	(location_add_backend): Pass parameter telling whether containment
	is partial
2001-02-20 02:43:35 +00:00
Bradford Hovinen
b3559fa5ac Use local time rather than Greenwich Mean Time
2001-01-25  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (get_current_date): Use local time rather than
	Greenwich Mean Time

	* location.c (location_store_xml): Implement; copy from
	location_store
	(location_store): Free filename after use

	* archive.c (archive_load): Free prefix only if not global

	* location.c (location_rollback_all_to): Increment array

	* util.c (parse_date): Normalize values
2001-01-25 19:44:54 +00:00
Bradford Hovinen
18b6da4d1a Increment array
2001-01-25  Bradford Hovinen  <hovinen@ximian.com>

	* location.c (location_rollback_all_to): Increment array

	* util.c (parse_date): Normalize values

2001-01-24  Bradford Hovinen  <hovinen@ximian.com>

	* config-log.c (do_load): Disabled locking for now
2001-01-25 15:23:51 +00:00
Hans Petter
7beca6f9f9 Changed e-mail addresses: helixcode.com -> ximian.com. 2001-01-12 15:03:02 +00:00
Hans Petter
53acf19538 Updated copyright headers. 2001-01-12 14:40:26 +00:00
Bradford Hovinen
f089da2886 Added archiver directory Imported archiver for time travel, location
Tue Dec 19 09:04:00 2000  Bradford Hovinen  <hovinen@helixcode.com>

	* Makefile.am (SUBDIRS): Added archiver directory
	* archiver/*: Imported archiver for time travel, location management
2000-12-19 14:05:04 +00:00