2000-12-22 Bradford Hovinen * archive.c (foreach_cb): (archive_foreach_child_location): Use auxillary structure to pass data to traversal callback (archive_get_location): (archive_register_location): strdup() location ids (free_location_cb): free() key 2000-12-20 Bradford Hovinen * location.c (location_get_parent): Implement * archive.c (load_all_locations): Implement (foreach_cb): (archive_foreach_child_location): Implement 2000-12-19 Bradford Hovinen * Makefile.am (bin_PROGRAMS): Changed name of archiver to helix-archiver (lib_LIBRARIES): Added libhelix_archiver.a (helix_archiver_SOURCES): Moved archiver core to libhelix_archiver_a_SOURCES (helix_archiver_LDADD): Added libhelix_archiver.a (INCLUDES): Changed XML_CFLAGS to GNOME_XML_CFLAGS (include_HEADERS): Create and include headers for libhelix_archiver.a (includedir): Set includedire to include/helix-archiver 2000-12-18 Bradford Hovinen * main.c (do_rollback): Support rolling back by steps * location.c (location_rollback_backend_by): Implement (location_dump_rollback_data): Support passing steps as well as date * config-log.c (config_log_get_rollback_id_by_steps): Implement * location.c (write_metadata_file): Don't support writing out the master list any more (save_metadata): Ditto (load_metadata_file): Get backends list from BackendList object (rather than finding it out oneself) if location is toplevel (do_create): Ditto (get_backends_cb): Implement (location_add_backend): Add return values for error conditions 2000-10-15 Bradford Hovinen * location.c (location_rollback_backends_to): Free id_array when done * config-log.c (config_log_reset_filenames): Implement * archive.c (archive_set_current_location_id): Move gnome_config_ code from set_current_location * location.c (location_set_id): Implement * main.c (do_rename_location): Implement * archive.c (free_location_cb): Don't free locid (archive_get_location): (archive_register_location): Don't strdup the location id (archive_set_current_location_id): Implement * main.c: Add options for renaming locations and specifying that backends should be added to or removed from the master list * location.c (run_backend_proc): Close all descriptors other than 0, 1, 2 (location_set_id): Implement (location_set_arg): Free previous locid if exists * archive.c (add_location_cb): Implement (archive_set_current_location): Add location change algorithm * location.c (location_find_path_from_common_parent): Implement (location_foreach_backend): Implement * archive.c (archive_set_current_location): Set archive->current_location_id * main.c (do_add_location): Check parent_str for NULL before loading location (do_change_location): Implement (main): Support changing location * archive.c (archive_register_location): Implement * location.c (do_create): (do_load): Use archive_get_prefix (do_create): Load global location metadata if this location does not inherit from anything (location_get_id): Implement * archive.c (archive_get_prefix): Implement * location.c (location_get_path): Implement (load_metadata_file): Use archive_is_global (location_set_arg): Set label when setting locid * location.[ch]: Make all data members private * main.c (main): Get current location name properly, create location iff location id is "default"; bail out with error otherwise (do_remove_location): (do_add_location): Implement * config-log.c: Include ctype.h to fix implicit declarations * location.c (location_rollback_backends_to): Property initialize i (location_contains): Fix precondition checks (do_create): Remove unused variables * archive.c (archive_get_location): Make a copy of locid before working with it (do_load): Fix precondition checks * location.c (location_open): (location_new): Make locid const * archive.c (archive_get_location): Make locid const * location.c (data_delete_cb): (location_delete): Implement * config-log.c (config_log_iterate): Implement (config_log_destroy): Make private, pass GtkObject (config_log_delete): Implement 2000-10-14 Bradford Hovinen * location.c (location_close): Add precondition checks * archive.c (archive_destroy): Make private; pass GtkObject * location.c (location_add_backend): (location_remove_backend): Add precondition checks (location_destroy): Make private (location_destroy): Pass GtkObject pointer rather than Location pointer; this cleans up assignment in _class_init * archive.c (archive_get_current_location_id): Implement (archive_get_current_location): Implement 2000-09-03 Bradford Hovinen * location.c (location_new): Set is_new (save_metadata): Don't write file unless necessary (save_metadata): (write_metadata_file): Split out file writing into write_metadata_file; write default data file as necessary (location_add_backend): (location_remove_backend): Implement * main.c: Add command line arguments for adding/removing locations and backends; move backend id argument into global options * location.c (do_load): (load_metadata_file): Split out file parsing logic into load_metadata_file; call load_metadata_file on default file to get contains list if current location doesn't inherit anything (load_metadata_file): g_strdup backend string (load_metadata_file): Warn if top-level location has contains clauses (location_store): Check if the location contains the given backend and try the location it inherits if it doesn't * archive.c (archive_load): Set is_global in archive object * Makefile.am (Locationmeta{dir|_DATA}): Added commands to install data files (INCLUDES): Added define for LOCATION_DIR 2000-09-03 Bradford Hovinen * location.c (save_metadata): Write attributes when saving