mw_srvc_store.h File Reference
`#include <glib.h>`
`#include "mw_common.h"`

Go to the source code of this file.

## Macros

#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 mwServiceStorage * | mwServiceStorage_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 mwOpaque * | mwStorageUnit_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.

## Macro Definition Documentation

## KEY_IS_LOTUS_RESERVED

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

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

## LOTUS_RESERVED_LIMIT

#define LOTUS_RESERVED_LIMIT 0x186a0

The upper limit of reserved Lotus keys.

## mwService_STORAGE

#define mwService_STORAGE 0x00000018

Type identifier for the storage service.

## Typedef Documentation

## mwStorageCallback

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

## mwStorageKey

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

## mwServiceStorage_load()

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

## mwServiceStorage_new()

struct mwServiceStorage * mwServiceStorage_new | ( | struct mwSession * |  | ) |

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

## mwServiceStorage_save()

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

## mwStorageUnit_asBoolean()

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

## mwStorageUnit_asInteger()

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

## mwStorageUnit_asOpaque()

struct mwOpaque * mwStorageUnit_asOpaque | ( | struct mwStorageUnit * |  | ) |

direct access to the opaque data backing the storage unit

## mwStorageUnit_asString()

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.

## mwStorageUnit_free()

void mwStorageUnit_free | ( | struct mwStorageUnit * |  | ) |

clears and frees a storage unit

## mwStorageUnit_getKey()

guint32 mwStorageUnit_getKey | ( | struct mwStorageUnit * |  | ) |

get the key for the given storage unit

## mwStorageUnit_new()

struct mwStorageUnit * mwStorageUnit_new | ( | guint32 | key | ) |

create an empty storage unit

## mwStorageUnit_newBoolean()

struct mwStorageUnit * mwStorageUnit_newBoolean | ( | guint32 | key,
|  | gboolean | val
| ) |  |

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

## mwStorageUnit_newInteger()

struct mwStorageUnit * mwStorageUnit_newInteger | ( | guint32 | key,
|  | guint32 | val
| ) |  |

## mwStorageUnit_newOpaque()

struct mwStorageUnit * mwStorageUnit_newOpaque | ( | guint32 | key,
|  | struct mwOpaque * | data
| ) |  |

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

## mwStorageUnit_newString()

struct mwStorageUnit * mwStorageUnit_newString | ( | guint32 | key,
|  | const char * | str
| ) |  |

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