todo-db

todo-db

Synopsis




enum                item_state;
struct              todo_item;
#define             PRIORITY_HIGH
#define             PRIORITY_STANDARD
#define             PRIORITY_LOW
struct todo_item*   todo_db_new_item                    (void);
gboolean            todo_db_push_item                   (struct todo_item *i);
void                todo_db_delete_item                 (struct todo_item *i);
void                todo_db_destroy_item                (struct todo_item *i);
GSList*             todo_db_get_items_list              (void);
int                 todo_db_start                       (void);
void                todo_db_stop                        (void);
int                 todo_db_refresh                     (void);
struct todo_item*   todo_db_find_item_by_id             (guint uid);

Description

Details

enum item_state

typedef enum
{
  NOT_STARTED,
  IN_PROGRESS,
  COMPLETED,
  ABANDONED
} item_state;

Type to describe the progress status of a todo item.

NOT_STARTED Indicates a task which isn't started.
IN_PROGRESS Task currently in progress.
COMPLETED Task is marked as completed.
ABANDONED Indicates an abandoned task.

struct todo_item

struct todo_item {
  int id, pos;
  time_t time;
  const char *what;
  const char *summary;
  const char *todoid;
  item_state state;
  gboolean was_complete;
  GSList *categories;
  guint priority;
};

Data type describing a todo item including description and current status.

int id; Unique id.
int pos; Position marker.
time_t time; Timestamp holding due date.
const char *what; Item title.
const char *summary; Item description.
const char *todoid; ID for vtodo ex-/importation.
item_state state; Item status (see item_state).
gboolean was_complete;
GSList *categories; List of categories the item belongs to.
guint priority; Priority information.

PRIORITY_HIGH

#define PRIORITY_HIGH		9

Indicates an item with high priority.


PRIORITY_STANDARD

#define PRIORITY_STANDARD	5

Indicates an item with default priority.


PRIORITY_LOW

#define PRIORITY_LOW		0

Indicates a low priority item.


todo_db_new_item ()

struct todo_item*   todo_db_new_item                    (void);

Create a new todo item and add it to list and database.

Returns : New todo item.

todo_db_push_item ()

gboolean            todo_db_push_item                   (struct todo_item *i);

i :
Returns :

todo_db_delete_item ()

void                todo_db_delete_item                 (struct todo_item *i);

Deletes an item from the list and database.

i : Todo item to delete.

todo_db_destroy_item ()

void                todo_db_destroy_item                (struct todo_item *i);

Frees a todo list item struct.

i : Todo item to destroy.

todo_db_get_items_list ()

GSList*             todo_db_get_items_list              (void);

Get a list of all todo items. The returned list points to the internal list used by libtododb and doesn't need to be freed. It is a good idea to consider it to be read only.

Returns : List of todo items.

todo_db_start ()

int                 todo_db_start                       (void);

Initialises libtododb for use.

Returns : 0 on success, -1 on failure.

todo_db_stop ()

void                todo_db_stop                        (void);

Deinitialises libtododb and frees all its allocated data.


todo_db_refresh ()

int                 todo_db_refresh                     (void);

Update list of todo items from database.

Returns : 0 on success, -1 on failure.

todo_db_find_item_by_id ()

struct todo_item*   todo_db_find_item_by_id             (guint uid);

uid :
Returns :