[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