Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

kvp_frame.h File Reference


Detailed Description

A key-value frame system.

Author:
Copyright (C) 2000 Bill Gribble

Copyright (C) 2003 Linas Vepstas <linas@linas.org>

#include <glib.h>
#include "gnc-date.h"
#include "gnc-numeric.h"
#include "guid.h"

KvpFrame Constructors

KvpFramekvp_frame_new (void)
void kvp_frame_delete (KvpFrame *frame)
KvpFramekvp_frame_copy (const KvpFrame *frame)
gboolean kvp_frame_is_empty (KvpFrame *frame)

KvpFrame Basic Value Storing

void kvp_frame_set_gint64 (KvpFrame *frame, const char *path, gint64 ival)
void kvp_frame_set_double (KvpFrame *frame, const char *path, double dval)
void kvp_frame_set_gnc_numeric (KvpFrame *frame, const char *path, gnc_numeric nval)
void kvp_frame_set_timespec (KvpFrame *frame, const char *path, Timespec ts)
void kvp_frame_set_str (KvpFrame *frame, const char *path, const char *str)
void kvp_frame_set_guid (KvpFrame *frame, const char *path, const GUID *guid)
void kvp_frame_set_frame (KvpFrame *frame, const char *path, KvpFrame *chld)
void kvp_frame_set_frame_nc (KvpFrame *frame, const char *path, KvpFrame *chld)
KvpFramekvp_frame_set_value (KvpFrame *frame, const char *path, const KvpValue *value)
KvpFramekvp_frame_set_value_nc (KvpFrame *frame, const char *path, KvpValue *value)
KvpValuekvp_frame_replace_value_nc (KvpFrame *frame, const char *slot, KvpValue *new_value)

KvpFrame URL handling

void kvp_frame_add_url_encoding (KvpFrame *frame, const char *enc)

KvpFrame Glist Bag Storing

void kvp_frame_add_gint64 (KvpFrame *frame, const char *path, gint64 ival)
void kvp_frame_add_double (KvpFrame *frame, const char *path, double dval)
void kvp_frame_add_gnc_numeric (KvpFrame *frame, const char *path, gnc_numeric nval)
void kvp_frame_add_timespec (KvpFrame *frame, const char *path, Timespec ts)
void kvp_frame_add_str (KvpFrame *frame, const char *path, const char *str)
void kvp_frame_add_guid (KvpFrame *frame, const char *path, const GUID *guid)
void kvp_frame_add_frame (KvpFrame *frame, const char *path, KvpFrame *chld)
void kvp_frame_add_frame_nc (KvpFrame *frame, const char *path, KvpFrame *chld)
KvpFramekvp_frame_add_value (KvpFrame *frame, const char *path, KvpValue *value)
KvpFramekvp_frame_add_value_nc (KvpFrame *frame, const char *path, KvpValue *value)

KvpFrame Value Fetching

gint64 kvp_frame_get_gint64 (const KvpFrame *frame, const char *path)
double kvp_frame_get_double (const KvpFrame *frame, const char *path)
gnc_numeric kvp_frame_get_numeric (const KvpFrame *frame, const char *path)
char * kvp_frame_get_string (const KvpFrame *frame, const char *path)
GUIDkvp_frame_get_guid (const KvpFrame *frame, const char *path)
void * kvp_frame_get_binary (const KvpFrame *frame, const char *path, guint64 *size_return)
Timespec kvp_frame_get_timespec (const KvpFrame *frame, const char *path)
KvpValuekvp_frame_get_value (const KvpFrame *frame, const char *path)
KvpFramekvp_frame_get_frame (const KvpFrame *frame, const char *path)
KvpFramekvp_frame_get_frame_path (KvpFrame *frame, const char *,...)
KvpFramekvp_frame_get_frame_gslist (KvpFrame *frame, GSList *key_path)
KvpFramekvp_frame_get_frame_slash (KvpFrame *frame, const char *path)

KvpFrame KvpValue low-level storing routines.

KvpValuekvp_frame_replace_slot_nc (KvpFrame *frame, const char *slot, KvpValue *new_value)
void kvp_frame_set_slot (KvpFrame *frame, const char *key, const KvpValue *value)
void kvp_frame_set_slot_nc (KvpFrame *frame, const char *key, KvpValue *value)
void kvp_frame_set_slot_path (KvpFrame *frame, const KvpValue *value, const char *first_key,...)
void kvp_frame_set_slot_path_gslist (KvpFrame *frame, const KvpValue *value, GSList *key_path)

KvpFrame KvpValue Low-Level Retrieval Routines

KvpValuekvp_frame_get_slot (const KvpFrame *frame, const char *key)
KvpValuekvp_frame_get_slot_path (KvpFrame *frame, const char *first_key,...)
KvpValuekvp_frame_get_slot_path_gslist (KvpFrame *frame, GSList *key_path)
gint kvp_frame_compare (const KvpFrame *fa, const KvpFrame *fb)

KvpValue List Convenience Functions

gint kvp_glist_compare (const GList *list1, const GList *list2)
GList * kvp_glist_copy (const GList *list)
void kvp_glist_delete (GList *list)

KvpValue Constructors

KvpValuekvp_value_new_gint64 (gint64 value)
KvpValuekvp_value_new_double (double value)
KvpValuekvp_value_new_gnc_numeric (gnc_numeric value)
KvpValuekvp_value_new_string (const char *value)
KvpValuekvp_value_new_guid (const GUID *guid)
KvpValuekvp_value_new_timespec (Timespec timespec)
KvpValuekvp_value_new_binary (const void *data, guint64 datasize)
KvpValuekvp_value_new_frame (const KvpFrame *value)
KvpValuekvp_value_new_glist (const GList *value)
KvpValuekvp_value_new_binary_nc (void *data, guint64 datasize)
KvpValuekvp_value_new_glist_nc (GList *lst)
KvpValuekvp_value_new_frame_nc (KvpFrame *value)
void kvp_value_delete (KvpValue *value)
KvpValuekvp_value_copy (const KvpValue *value)
KvpFramekvp_value_replace_frame_nc (KvpValue *value, KvpFrame *newframe)
GList * kvp_value_replace_glist_nc (KvpValue *value, GList *newlist)

KvpValue Value access

KvpValueType kvp_value_get_type (const KvpValue *value)
gint64 kvp_value_get_gint64 (const KvpValue *value)
double kvp_value_get_double (const KvpValue *value)
gnc_numeric kvp_value_get_numeric (const KvpValue *value)
char * kvp_value_get_string (const KvpValue *value)
GUIDkvp_value_get_guid (const KvpValue *value)
void * kvp_value_get_binary (const KvpValue *value, guint64 *size_return)
GList * kvp_value_get_glist (const KvpValue *value)
KvpFramekvp_value_get_frame (const KvpValue *value)
Timespec kvp_value_get_timespec (const KvpValue *value)
gint kvp_value_compare (const KvpValue *va, const KvpValue *vb)

Iterators

void kvp_frame_for_each_slot (KvpFrame *f, void(*proc)(const char *key, KvpValue *value, gpointer data), gpointer data)

Defines

#define kvp_frame   KvpFrame
#define kvp_value   KvpValue
#define kvp_value_t   KvpValueType

Typedefs

typedef _KvpFrame KvpFrame
typedef _KvpValue KvpValue

Enumerations

enum  KvpValueType {
  KVP_TYPE_GINT64 = 1, KVP_TYPE_DOUBLE, KVP_TYPE_NUMERIC, KVP_TYPE_STRING,
  KVP_TYPE_GUID, KVP_TYPE_TIMESPEC, KVP_TYPE_BINARY, KVP_TYPE_GLIST,
  KVP_TYPE_FRAME
}

Functions

gint double_compare (double v1, double v2)
gchar * kvp_value_to_string (const KvpValue *val)
gboolean kvp_value_binary_append (KvpValue *v, void *data, guint64 size)
gchar * kvp_frame_to_string (const KvpFrame *frame)
gchar * binary_to_string (const void *data, guint32 size)
gchar * kvp_value_glist_to_string (const GList *list)
GHashTable * kvp_frame_get_hash (const KvpFrame *frame)


Generated on Sun May 23 15:41:46 2004 for QOF by doxygen 1.3.6-20040222