QOF: Todo List

QOF 0.7.5

Todo List

Global _QofBook::backend
  allow book to lookup session and then backend.
Global _QofBook::book_open
  shouldn't this be replaced by the instance editlevel ?
Global _QofBook::shutting_down
  shouldn't shutting_down be replaced by instance->do_free?
Module BookMerge
  Prior to libqof2 rationalise internal variable names.
Global build_kvp_table (gpointer builder, gint col_num, gchar **strings, gchar **columnNames)
  improve error checking support in case the SQLite data is tweaked manually.
Module Date
  Add support for customised handlers for added formats.
Global delete_event (QofEntity *ent, QofEventId event_type, gpointer handler_data, gpointer event_data)
  delete records from QSQL_KVP_TABLE with this GUID
Global kvp_value_get_gint64 (const KvpValue *value)
  kvp_value_get_ functions need to set QofError so that users can check that a NULL or zero value is actually a real value and not an error result.
Global kvp_value_to_qof_type_helper (KvpValueType n)
  reconcile the duplication with the QSF version
Global KvpValueType
  In the long run, this could be synchronised with the core QOF types, which in turn may or may not be synced to the GValue types in GLib. The QOF types currently unsupported are KVP_TYPE_GLIST and KVP_TYPE_BINARY.
Global MAP_ENUM_TYPE
  enum is an attempt to make enumerator values descriptive in the maps and QSF (possibly). Not working yet.
Global MAX_DATE_BUFFER
  rationalise with MAX_DATE_LENGTH
Global qof_date_format_add (const gchar *str, QofDateFormat *identifier)
  Move to QofDate and qofgmtime_r
Global qof_session_save (QofSession *session, QofPercentageFunc percentage_func)
  check the access_method too, not in scope here, yet.
Global qof_time_get_current (void)
  use to replace qof_time_get_current_start
Global qof_time_get_current_start (void)

  move to a private header; used by qofdate.c and test-date.c

  replace with QofDate

Global qof_time_last_mday (QofTime *ts)
  remove GDate limits.
Global qof_time_set_day_end (QofTime *time)
  remove GDate limits.
Global qof_time_set_day_middle (QofTime *t)
  remove GDate limits.
Global qof_time_set_day_start (QofTime *time)
  remove GDate limits.
Global qof_time_to_dmy (QofTime *t, guint8 *day, guint8 *month, guint16 *year)
  Remove GDate limits and use QofDate.
Global QofDate

  check - years work like this, days don't!! Only qd_year retains a negative value once set. Adding one year to a negative QofDate causes the QofDate to be set to one year further into the past. This follows the same pattern as typical BC dates: the 1st of May 501BC is further into the past than the 5th of May 500BC.

  Reorganise the qof_time_* functions to reflect this statement. qof_time_set_day_end should be qof_date_set_day_end and the various qof_date_time functions need to be reviewed.

Global QofDate

  check - years work like this, days don't!! Only qd_year retains a negative value once set. Adding one year to a negative QofDate causes the QofDate to be set to one year further into the past. This follows the same pattern as typical BC dates: the 1st of May 501BC is further into the past than the 5th of May 500BC.

  Reorganise the qof_time_* functions to reflect this statement. qof_time_set_day_end should be qof_date_set_day_end and the various qof_date_time functions need to be reviewed.

Module QSF
  - Adding more map support, some parts of the map are still not coded. equals, variables and the conditional logic may not be up to the task of the datebook repetition calculations.
Global qsf_map_prepare_list (GList **maps)
  Automate this once map support is stable
Class QsfNodeIterate
  resolve the two callbacks in ::qsf_node_iterate into one.
Global QsfValidCB )(xmlNodePtr, xmlNsPtr, QsfValidator *)
  The need for separate metadata means a separate callback typedef is needed for the validator, but this should be fixed to only need one.
Global record_foreach (gpointer builder, gint col_num, gchar **strings, gchar **columnNames)
  need a KVP version to load data into the slots
Global sql_to_kvp_helper (const gchar *type_string)
  reconcile the duplication with the QSF version
Global string_to_kvp_value (const gchar *content, KvpValueType type)
  reconcile the duplication with the QSF version