[Gnucash-changes] Beginning to isolate file type determination from the GnuCash backend to

Neil Williams codehelp at cvs.gnucash.org
Mon Aug 22 15:55:10 EDT 2005


Log Message:
-----------
Beginning to isolate file type determination from the GnuCash backend to build separately.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash/src/backend/qsf:
        qsf-backend.c
        qsf-object.xsd.xml

Revision Data
-------------
Index: qsf-object.xsd.xml
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/qsf/Attic/qsf-object.xsd.xml,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -Lsrc/backend/qsf/qsf-object.xsd.xml -Lsrc/backend/qsf/qsf-object.xsd.xml -u -r1.1.2.6 -r1.1.2.7
--- src/backend/qsf/qsf-object.xsd.xml
+++ src/backend/qsf/qsf-object.xsd.xml
@@ -2,7 +2,7 @@
 targetNamespace="http://qof.sourceforge.net/"
 xmlns:qof-qsf="http://qof.sourceforge.net/"
 elementFormDefault="qualified"
-attributeFormDefault="unqualified">
+attributeFormDefault="unqualified" xml:lang="en-GB">
  <xsd:annotation>
     <xsd:documentation xml:lang="en">
 	Query Object Framework Serialization Format (QSF)
Index: qsf-backend.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/qsf/Attic/qsf-backend.c,v
retrieving revision 1.1.2.15
retrieving revision 1.1.2.16
diff -Lsrc/backend/qsf/qsf-backend.c -Lsrc/backend/qsf/qsf-backend.c -u -r1.1.2.15 -r1.1.2.16
--- src/backend/qsf/qsf-backend.c
+++ src/backend/qsf/qsf-backend.c
@@ -93,6 +93,15 @@
 	g_hash_table_insert(params->qsf_default_hash, "qsf_time_string", qsf_time_string);
 }
 
+static gboolean 
+qsf_determine_file_type(QofBackend *be, const char *path)
+{
+	if(is_our_qsf_object(path))  { return TRUE; }
+	else if(is_qsf_object(path)) { return TRUE; }
+    else if(is_qsf_map(path))    { return TRUE; }
+	return FALSE;
+}
+
 /* GnuCash does LOTS of filesystem work, QSF is going to leave most of it to libxml2. :-)
 Just strip the file: from the start of the book_path URL. Locks and file
 creation are not implemented.
@@ -1071,6 +1080,11 @@
 	be->process_events = NULL;
 	
 	be->sync = qsf_write_file;
+	/* use for maps, later. */
+	be->load_config = NULL;
+	be->get_config = NULL;
+	be->check_data_type = qsf_determine_file_type;
+
 	qsf_be->fullpath = NULL;
 	return be;
 }
@@ -1097,6 +1111,7 @@
 	prov->access_method = "file";
 	prov->partial_book_supported = TRUE;
 	prov->backend_new = qsf_backend_new;
+	prov->provider_config = "qsf-backend-v0.1.xml";
 	prov->provider_free = qsf_provider_free;
 	qof_backend_register_provider (prov);
 }


More information about the gnucash-changes mailing list