src/protocols/sametime/meanwhile/mw_srvc_store.h

changeset 12496
788b20ccec91
parent 12495
4b2c27ae504a
child 12497
a17568773be3
--- a/src/protocols/sametime/meanwhile/mw_srvc_store.h	Fri Dec 16 03:34:01 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-
-/*
-  Meanwhile - Unofficial Lotus Sametime Community Client Library
-  Copyright (C) 2004  Christopher (siege) O'Brien
-  
-  This library is free software; you can redistribute it and/or
-  modify it under the terms of the GNU Library General Public
-  License as published by the Free Software Foundation; either
-  version 2 of the License, or (at your option) any later version.
-  
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-  Library General Public License for more details.
-  
-  You should have received a copy of the GNU Library General Public
-  License along with this library; if not, write to the Free
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-*/
-
-#ifndef _MW_SRVC_STORE_H
-#define _MW_SRVC_STORE_H
-
-
-#include <glib.h>
-#include "mw_common.h"
-
-
-/** Type identifier for the storage service */
-#define mwService_STORAGE  0x00000018
-
-
-/** @struct mwServiceStorage
-    @see mwServiceStorage_new
-
-    Instance of the storage service */
-struct mwServiceStorage;
-
-
-/** @struct mwStorage
-
-    Unit Represents information intended for loading from or saving to
-    the storage service */
-struct mwStorageUnit;
-
-
-/** The upper limit of reserved Lotus keys */
-#define LOTUS_RESERVED_LIMIT  0x186a0
-
-
-/** Check if a key is in the range of Lotus reserved keys */
-#define KEY_IS_LOTUS_RESERVED(key) \
-  (((guint32) key) <= (LOTUS_RESERVED_LIMIT))
-
-
-/** Some common keys storage keys. Anything in the range 0x00 to
-    0x186a0 (100000) is reserved for use by the Lotus
-    clients. */
-enum mwStorageKey {
-
-  /** The buddy list, in the Sametime .dat file format. String */
-  mwStore_AWARE_LIST      = 0x00000000,
-
-  /** Default text for chat invitations. String */
-  mwStore_INVITE_CHAT     = 0x00000006,
-
-  /** Default text for meeting invitations. String */
-  mwStore_INVITE_MEETING  = 0x0000000e,
-
-  /** Last five Away messages, separated by semicolon. String */
-  mwStore_AWAY_MESSAGES   = 0x00000050,
-
-  /** Last five Busy (DND) messages, separated by semicolon. String */
-  mwStore_BUSY_MESSAGES   = 0x0000005a,
-
-  /** Last five Active messages, separated by semicolon. String */
-  mwStore_ACTIVE_MESSAGES = 0x00000064,
-};
-
-
-/** Appropriate function type for load and store callbacks.
-    @param srvc       the storage service
-    @param result     the result value of the load or store call
-    @param item       the storage unit loaded or saved
-    @param data       optional user data
-*/
-typedef void (*mwStorageCallback)
-     (struct mwServiceStorage *srvc,
-      guint32 result, struct mwStorageUnit *item,
-      gpointer data);
-
-
-/** Allocates and initializes a storage service instance for use on
-    the passed session. */
-struct mwServiceStorage *mwServiceStorage_new(struct mwSession *);
-
-
-/** create an empty storage unit */
-struct mwStorageUnit *mwStorageUnit_new(guint32 key);
-
-
-/** creates a storage unit with the passed key, and a copy of data. */
-struct mwStorageUnit *mwStorageUnit_newOpaque(guint32 key,
-					      struct mwOpaque *data);
-
-
-/** creates a storage unit with the passed key, and an encapsulated
-    boolean value */
-struct mwStorageUnit *mwStorageUnit_newBoolean(guint32 key,
-					       gboolean val);
-
-
-struct mwStorageUnit *mwStorageUnit_newInteger(guint32 key,
-					       guint32 val);
-
-
-/** creates a storage unit with the passed key, and an encapsulated
-    string value. */
-struct mwStorageUnit *mwStorageUnit_newString(guint32 key,
-					      const char *str);
-
-
-/** get the key for the given storage unit */
-guint32 mwStorageUnit_getKey(struct mwStorageUnit *);
-
-
-/** 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 */
-gboolean mwStorageUnit_asBoolean(struct mwStorageUnit *, gboolean 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 */
-guint32 mwStorageUnit_asInteger(struct mwStorageUnit *, guint32 val);
-
-
-/** 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. */
-char *mwStorageUnit_asString(struct mwStorageUnit *);
-
-
-/** direct access to the opaque data backing the storage unit */
-struct mwOpaque *mwStorageUnit_asOpaque(struct mwStorageUnit *);
-
-
-/** clears and frees a storage unit */
-void mwStorageUnit_free(struct mwStorageUnit *);
-
-      
-/** 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.
-
-    @param srvc       the storage service
-    @param item       storage unit to load
-    @param cb         callback function when the load call completes
-    @param data       user data for callback
-    @param data_free  optional cleanup function for user data
-*/
-void mwServiceStorage_load(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.
-
-    @param srvc       the storage service
-    @param item       storage unit to save
-    @param cb         callback function when the load call completes
-    @param data       optional user data for callback
-    @param data_free  optional cleanup function for user data
- */
-void mwServiceStorage_save(struct mwServiceStorage *srvc,
-			   struct mwStorageUnit *item,
-			   mwStorageCallback cb,
-			   gpointer data, GDestroyNotify data_free);
-
-
-#endif

mercurial