qofsession.c File Reference


Detailed Description

Encapsulate a connection to a storage backend.

HISTORY: Created by Linas Vepstas December 1998

Author:
Copyright (c) 1998-2004 Linas Vepstas <linas@linas.org>

Copyright (c) 2000 Dave Peticolas

Copyright (c) 2005 Neil Williams <linux@codehelp.co.uk>

Definition in file qofsession.c.

#include "config.h"
#include <dlfcn.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <glib.h>
#include "qofla-dir.h"
#include "gnc-trace.h"
#include "gnc-engine-util.h"
#include "gnc-event.h"
#include "qofsession.h"
#include "qofbackend-p.h"
#include "qof-be-utils.h"
#include "qofbook.h"
#include "qofbook-p.h"
#include "qofobject.h"
#include "qofsession-p.h"

Go to the source code of this file.

Data Structures

struct  qof_entity_copy_data
struct  recurse_s
struct  backend_providers

Typedefs

typedef qof_entity_copy_data QofEntityCopyData

Functions

void qof_backend_register_provider (QofBackendProvider *prov)
void qof_session_add_close_hook (GFunc fn, gpointer data)
void qof_session_call_close_hooks (QofSession *session)
static void qof_session_clear_error (QofSession *session)
void qof_session_push_error (QofSession *session, QofBackendError err, const char *message)
QofBackendError qof_session_get_error (QofSession *session)
static const char * get_default_error_message (QofBackendError err)
const char * qof_session_get_error_message (QofSession *session)
QofBackendError qof_session_pop_error (QofSession *session)
static void qof_session_init (QofSession *session)
QofSessionqof_session_new (void)
QofSessionqof_session_get_current_session (void)
void qof_session_set_current_session (QofSession *session)
QofBookqof_session_get_book (QofSession *session)
void qof_session_add_book (QofSession *session, QofBook *addbook)
QofBackendqof_session_get_backend (QofSession *session)
const char * qof_session_get_file_path (QofSession *session)
const char * qof_session_get_url (QofSession *session)
static void qof_book_set_partial (QofBook *book)
void qof_session_update_reference_list (QofSession *session, QofEntityReference *reference)
 Adds a new reference to the partial book data hash.
static void qof_entity_param_cb (QofParam *param, gpointer data)
QofEntityReferenceqof_entity_get_reference_from (QofEntity *ent, const QofParam *param)
 Get a reference from this entity to another entity.
static void qof_entity_foreach_copy (gpointer data, gpointer user_data)
static gboolean qof_entity_guid_match (QofSession *new_session, QofEntity *original)
static void qof_entity_list_foreach (gpointer data, gpointer user_data)
static void qof_entity_coll_foreach (QofEntity *original, gpointer user_data)
static void qof_entity_coll_copy (QofEntity *original, gpointer user_data)
gboolean qof_entity_copy_to_session (QofSession *new_session, QofEntity *original)
 Copy a single QofEntity to another session.
gboolean qof_entity_copy_list (QofSession *new_session, GList *entity_list)
 Copy a GList of entities to another session.
gboolean qof_entity_copy_coll (QofSession *new_session, QofCollection *entity_coll)
 Copy a QofCollection of entities.
static void recurse_collection_cb (QofEntity *ent, gpointer user_data)
static void recurse_ent_cb (QofEntity *ent, gpointer user_data)
gboolean qof_entity_copy_coll_r (QofSession *new_session, QofCollection *coll)
 Recursively copy a collection of entities to a session.
gboolean qof_entity_copy_one_r (QofSession *new_session, QofEntity *ent)
 Recursively copy a single entity to a new session.
static void qof_session_load_backend (QofSession *session, char *access_method)
static void qof_session_destroy_backend (QofSession *session)
void qof_session_begin (QofSession *session, const char *book_id, gboolean ignore_lock, gboolean create_if_nonexistent)
void qof_session_load (QofSession *session, QofPercentageFunc percentage_func)
gboolean qof_session_save_may_clobber_data (QofSession *session)
static gboolean save_error_handler (QofBackend *be, QofSession *session)
void qof_session_save (QofSession *session, QofPercentageFunc percentage_func)
void qof_session_end (QofSession *session)
void qof_session_destroy (QofSession *session)
void qof_session_swap_data (QofSession *session_1, QofSession *session_2)
gboolean qof_session_events_pending (QofSession *session)
gboolean qof_session_process_events (QofSession *session)

Variables

static QofSessioncurrent_session = NULL
static GHookList * session_closed_hooks = NULL
static QofLogModule log_module = QOF_MOD_SESSION
static GSList * provider_list = NULL
backend_providers backend_list []


Variable Documentation

struct backend_providers backend_list[]
 

Initial value:

 {
        { QOF_LIB_DIR, "libqof-backend-qsf.la", "qsf_provider_init" },



        { NULL, NULL, NULL }
}

Definition at line 806 of file qofsession.c.

QofSession* current_session = NULL [static]
 

Deprecated:
should not be static

Definition at line 57 of file qofsession.c.


Generated on Fri Oct 21 15:49:57 2005 for QOF by  doxygen 1.4.5