meanwhile 1.0.2
Defines | Typedefs | Enumerations | Functions
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.
struct 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.
struct 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
struct mwStorageUnit * mwStorageUnit_new (guint32 key)
 create an empty storage unit
struct mwStorageUnit * mwStorageUnit_newBoolean (guint32 key, gboolean val)
 creates a storage unit with the passed key, and an encapsulated boolean value
struct mwStorageUnit * mwStorageUnit_newInteger (guint32 key, guint32 val)
struct mwStorageUnit * mwStorageUnit_newOpaque (guint32 key, struct mwOpaque *data)
 creates a storage unit with the passed key, and a copy of data.
struct 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:
srvcthe storage service
resultthe result value of the load or store call
itemthe storage unit loaded or saved
dataoptional user data

Enumeration Type Documentation

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:
srvcthe storage service
itemstorage unit to load
cbcallback function when the load call completes
datauser data for callback
data_freeoptional 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:
srvcthe storage service
itemstorage unit to save
cbcallback function when the load call completes
dataoptional user data for callback
data_freeoptional 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.