mw_srvc_store.h File Reference

#include <glib.h>
#include "mw_common.h"

Go to the source code of this file.

Defines

#define KEY_IS_LOTUS_RESERVED(key)   (((guint32) key) <= (LOTUS_RESERVED_LIMIT))
 Check if a key is in the range of Lotus reserved keys.
#define LOTUS_RESERVED_LIMIT   0x186a0
 The upper limit of reserved Lotus keys.
#define mwService_STORAGE   0x00000018
 Type identifier for the storage service.

Typedefs

typedef void(*) mwStorageCallback (struct mwServiceStorage *srvc, guint32 result, struct mwStorageUnit *item, gpointer data)
 Appropriate function type for load and store callbacks.

Enumerations

enum  mwStorageKey {
  mwStore_AWARE_LIST = 0x00000000,
  mwStore_INVITE_CHAT = 0x00000006,
  mwStore_INVITE_MEETING = 0x0000000e,
  mwStore_AWAY_MESSAGES = 0x00000050,
  mwStore_BUSY_MESSAGES = 0x0000005a,
  mwStore_ACTIVE_MESSAGES = 0x00000064
}
 Some common keys storage keys. More...

Functions

void mwServiceStorage_load (struct mwServiceStorage *srvc, struct mwStorageUnit *item, mwStorageCallback cb, gpointer data, GDestroyNotify data_free)
 Initiates a load call to the storage service.
mwServiceStoragemwServiceStorage_new (struct mwSession *)
 Allocates and initializes a storage service instance for use on the passed session.
void mwServiceStorage_save (struct mwServiceStorage *srvc, struct mwStorageUnit *item, mwStorageCallback cb, gpointer data, GDestroyNotify data_free)
 Initiates a store call to the storage service.
gboolean mwStorageUnit_asBoolean (struct mwStorageUnit *, gboolean val)
 attempts to obtain a boolean value from a storage unit.
guint32 mwStorageUnit_asInteger (struct mwStorageUnit *, guint32 val)
 attempts to obtain a guint32 value from a storage unit.
mwOpaquemwStorageUnit_asOpaque (struct mwStorageUnit *)
 direct access to the opaque data backing the storage unit
char * mwStorageUnit_asString (struct mwStorageUnit *)
 attempts to obtain a string value from a storage unit.
void mwStorageUnit_free (struct mwStorageUnit *)
 clears and frees a storage unit
guint32 mwStorageUnit_getKey (struct mwStorageUnit *)
 get the key for the given storage unit
mwStorageUnit * mwStorageUnit_new (guint32 key)
 create an empty storage unit
mwStorageUnit * mwStorageUnit_newBoolean (guint32 key, gboolean val)
 creates a storage unit with the passed key, and an encapsulated boolean value
mwStorageUnit * mwStorageUnit_newInteger (guint32 key, guint32 val)
mwStorageUnit * mwStorageUnit_newOpaque (guint32 key, struct mwOpaque *data)
 creates a storage unit with the passed key, and a copy of data.
mwStorageUnit * mwStorageUnit_newString (guint32 key, const char *str)
 creates a storage unit with the passed key, and an encapsulated string value.


Define Documentation

#define KEY_IS_LOTUS_RESERVED ( key   )     (((guint32) key) <= (LOTUS_RESERVED_LIMIT))

Check if a key is in the range of Lotus reserved keys.

#define LOTUS_RESERVED_LIMIT   0x186a0

The upper limit of reserved Lotus keys.

#define mwService_STORAGE   0x00000018

Type identifier for the storage service.


Typedef Documentation

typedef void(*) mwStorageCallback(struct mwServiceStorage *srvc, guint32 result, struct mwStorageUnit *item, gpointer data)

Appropriate function type for load and store callbacks.

Parameters:
srvc the storage service
result the result value of the load or store call
item the storage unit loaded or saved
data optional user data


Enumeration Type Documentation

enum mwStorageKey

Some common keys storage keys.

Anything in the range 0x00 to 0x186a0 (100000) is reserved for use by the Lotus clients.

Enumerator:
mwStore_AWARE_LIST  The buddy list, in the Sametime .dat file format.

String

mwStore_INVITE_CHAT  Default text for chat invitations.

String

mwStore_INVITE_MEETING  Default text for meeting invitations.

String

mwStore_AWAY_MESSAGES  Last five Away messages, separated by semicolon.

String

mwStore_BUSY_MESSAGES  Last five Busy (DND) messages, separated by semicolon.

String

mwStore_ACTIVE_MESSAGES  Last five Active messages, separated by semicolon.

String


Function Documentation

void mwServiceStorage_load ( struct mwServiceStorage srvc,
struct mwStorageUnit *  item,
mwStorageCallback  cb,
gpointer  data,
GDestroyNotify  data_free 
)

Initiates a load call to the storage service.

If the service is not currently available, the call will be cached and processed when the service is started.

Parameters:
srvc the storage service
item storage unit to load
cb callback function when the load call completes
data user data for callback
data_free optional cleanup function for user data

struct mwServiceStorage* mwServiceStorage_new ( struct mwSession  )  [read]

Allocates and initializes a storage service instance for use on the passed session.

void mwServiceStorage_save ( struct mwServiceStorage srvc,
struct mwStorageUnit *  item,
mwStorageCallback  cb,
gpointer  data,
GDestroyNotify  data_free 
)

Initiates a store call to the storage service.

If the service is not currently available, the call will be cached and processed when the service is started.

Parameters:
srvc the storage service
item storage unit to save
cb callback function when the load call completes
data optional user data for callback
data_free optional cleanup function for user data

gboolean mwStorageUnit_asBoolean ( struct mwStorageUnit *  ,
gboolean  val 
)

attempts to obtain a boolean value from a storage unit.

If the unit is empty, or does not contain the type in a recongnizable format, val is returned instead

guint32 mwStorageUnit_asInteger ( struct mwStorageUnit *  ,
guint32  val 
)

attempts to obtain a guint32 value from a storage unit.

If the unit is empty, or does not contain the type in a recognizable format, val is returned instead

struct mwOpaque* mwStorageUnit_asOpaque ( struct mwStorageUnit *   )  [read]

direct access to the opaque data backing the storage unit

char* mwStorageUnit_asString ( struct mwStorageUnit *   ) 

attempts to obtain a string value from a storage unit.

If the unit is empty, or does not contain the type in a recognizable format, NULL is returned instead. Note that the string returned is a copy, and will need to be deallocated at some point.

void mwStorageUnit_free ( struct mwStorageUnit *   ) 

clears and frees a storage unit

guint32 mwStorageUnit_getKey ( struct mwStorageUnit *   ) 

get the key for the given storage unit

struct mwStorageUnit* mwStorageUnit_new ( guint32  key  )  [read]

create an empty storage unit

struct mwStorageUnit* mwStorageUnit_newBoolean ( guint32  key,
gboolean  val 
) [read]

creates a storage unit with the passed key, and an encapsulated boolean value

struct mwStorageUnit* mwStorageUnit_newInteger ( guint32  key,
guint32  val 
) [read]

struct mwStorageUnit* mwStorageUnit_newOpaque ( guint32  key,
struct mwOpaque data 
) [read]

creates a storage unit with the passed key, and a copy of data.

struct mwStorageUnit* mwStorageUnit_newString ( guint32  key,
const char *  str 
) [read]

creates a storage unit with the passed key, and an encapsulated string value.


Generated on Wed May 23 23:43:24 2007 for meanwhile by  doxygen 1.5.2