DeeVersionedModel

DeeVersionedModel — Abstract base class for easing implementations of DeeModels providing a unique version number for each row

Synopsis

#include <dee.h>

enum                DeeSeqnumState;
                    DeeVersionedModel;
                    DeeVersionedModelClass;
                    DeeVersionedModelPrivate;
DeeSeqnumState      dee_versioned_model_check_seqnums   (DeeModel *self,
                                                         GArray *seqnums);
DeeSeqnumState      dee_versioned_model_check_seqnum    (DeeModel *self,
                                                         guint64 seqnum);
guint64             dee_versioned_model_inc_seqnum      (DeeModel *self,
                                                         guint pos);
void                dee_versioned_model_set_seqnum      (DeeModel *self,
                                                         guint pos,
                                                         guint64 seqnum);
guint64             dee_versioned_model_append_next_seqnum
                                                        (DeeModel *self);
guint64             dee_versioned_model_prepend_next_seqnum
                                                        (DeeModel *self);
guint64             dee_versioned_model_insert_next_seqnum
                                                        (DeeModel *self,
                                                         guint pos);
guint64             dee_versioned_model_get_seqnum      (DeeModel *self,
                                                         guint pos);
guint64             dee_versioned_model_get_last_seqnum (DeeModel *self);
void                dee_versioned_model_set_last_seqnum (DeeModel *self,
                                                         guint64 seqnum);
void                dee_versioned_model_remove_seqnum   (DeeModel *self,
                                                         guint pos);

Object Hierarchy

  GObject
   +----DeeVersionedModel
         +----DeeProxyModel
         +----DeeSequenceModel

Implemented Interfaces

DeeVersionedModel implements DeeModel.

Description

DeeVersionedModel is an abstract base class to ease implementation of DeeModels providing rows versioned by a sequence number.

Details

enum DeeSeqnumState

typedef enum
{
  DEE_SEQNUM_STATE_NOT_CONSECUTIVE,
  DEE_SEQNUM_STATE_IN_THE_FUTURE,
  DEE_SEQNUM_STATE_IN_THE_PAST,
  DEE_SEQNUM_STATE_OK,
} DeeSeqnumState;

DeeVersionedModel

typedef struct _DeeVersionedModel DeeVersionedModel;

All fields in the DeeVersionedModel structure are private and should never be accessed directly


DeeVersionedModelClass

typedef struct {
} DeeVersionedModelClass;


DeeVersionedModelPrivate

typedef struct _DeeVersionedModelPrivate DeeVersionedModelPrivate;

Ignore this structure.


dee_versioned_model_check_seqnums ()

DeeSeqnumState      dee_versioned_model_check_seqnums   (DeeModel *self,
                                                         GArray *seqnums);

Assert that seqnums are consecutive and that the beggining sequence number in seqnums is exactly one higher than the last seen seqnum of this model.

Returns :


dee_versioned_model_check_seqnum ()

DeeSeqnumState      dee_versioned_model_check_seqnum    (DeeModel *self,
                                                         guint64 seqnum);

self :

seqnum :

Returns :


dee_versioned_model_inc_seqnum ()

guint64             dee_versioned_model_inc_seqnum      (DeeModel *self,
                                                         guint pos);

self :

pos :

Returns :


dee_versioned_model_set_seqnum ()

void                dee_versioned_model_set_seqnum      (DeeModel *self,
                                                         guint pos,
                                                         guint64 seqnum);

self :

pos :

seqnum :


dee_versioned_model_append_next_seqnum ()

guint64             dee_versioned_model_append_next_seqnum
                                                        (DeeModel *self);

self :

Returns :


dee_versioned_model_prepend_next_seqnum ()

guint64             dee_versioned_model_prepend_next_seqnum
                                                        (DeeModel *self);

self :

Returns :


dee_versioned_model_insert_next_seqnum ()

guint64             dee_versioned_model_insert_next_seqnum
                                                        (DeeModel *self,
                                                         guint pos);

self :

pos :

Returns :


dee_versioned_model_get_seqnum ()

guint64             dee_versioned_model_get_seqnum      (DeeModel *self,
                                                         guint pos);

self :

pos :

Returns :


dee_versioned_model_get_last_seqnum ()

guint64             dee_versioned_model_get_last_seqnum (DeeModel *self);

self :

Returns :


dee_versioned_model_set_last_seqnum ()

void                dee_versioned_model_set_last_seqnum (DeeModel *self,
                                                         guint64 seqnum);

self :

seqnum :


dee_versioned_model_remove_seqnum ()

void                dee_versioned_model_remove_seqnum   (DeeModel *self,
                                                         guint pos);

self :

pos :