|
Packit |
16808d |
|
|
Packit |
16808d |
/*
|
|
Packit |
16808d |
Meanwhile - Unofficial Lotus Sametime Community Client Library
|
|
Packit |
16808d |
Copyright (C) 2004 Christopher (siege) O'Brien
|
|
Packit |
16808d |
|
|
Packit |
16808d |
This library is free software; you can redistribute it and/or
|
|
Packit |
16808d |
modify it under the terms of the GNU Library General Public
|
|
Packit |
16808d |
License as published by the Free Software Foundation; either
|
|
Packit |
16808d |
version 2 of the License, or (at your option) any later version.
|
|
Packit |
16808d |
|
|
Packit |
16808d |
This library is distributed in the hope that it will be useful,
|
|
Packit |
16808d |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
16808d |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
16808d |
Library General Public License for more details.
|
|
Packit |
16808d |
|
|
Packit |
16808d |
You should have received a copy of the GNU Library General Public
|
|
Packit |
16808d |
License along with this library; if not, write to the Free
|
|
Packit |
16808d |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
Packit |
16808d |
*/
|
|
Packit |
16808d |
|
|
Packit |
16808d |
#ifndef _MW_SRVC_PLACE_H
|
|
Packit |
16808d |
#define _MW_SRVC_PLACE_H
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit Service |
7ea76a |
#include <glib.h>
|
|
Packit |
16808d |
#include "mw_common.h"
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
#ifdef __cplusplus
|
|
Packit |
16808d |
extern "C" {
|
|
Packit |
16808d |
#endif
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
/** Type identifier for the place service */
|
|
Packit |
16808d |
#define mwService_PLACE 0x80000022
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
/** @struct mwServicePlace */
|
|
Packit |
16808d |
struct mwServicePlace;
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
/** @struct mwPlace */
|
|
Packit |
16808d |
struct mwPlace;
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
struct mwPlaceHandler {
|
|
Packit |
16808d |
void (*opened)(struct mwPlace *place);
|
|
Packit |
16808d |
void (*closed)(struct mwPlace *place, guint32 code);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void (*peerJoined)(struct mwPlace *place,
|
|
Packit |
16808d |
const struct mwIdBlock *peer);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void (*peerParted)(struct mwPlace *place,
|
|
Packit |
16808d |
const struct mwIdBlock *peer);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void (*peerSetAttribute)(struct mwPlace *place,
|
|
Packit |
16808d |
const struct mwIdBlock *peer,
|
|
Packit |
16808d |
guint32 attr, struct mwOpaque *o);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void (*peerUnsetAttribute)(struct mwPlace *place,
|
|
Packit |
16808d |
const struct mwIdBlock *peer,
|
|
Packit |
16808d |
guint32 attr);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void (*message)(struct mwPlace *place,
|
|
Packit |
16808d |
const struct mwIdBlock *who,
|
|
Packit |
16808d |
const char *msg);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void (*clear)(struct mwServicePlace *srvc);
|
|
Packit |
16808d |
};
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
enum mwPlacePeerAttribute {
|
|
Packit |
16808d |
mwPlacePeer_TYPING = 0x00000008,
|
|
Packit |
16808d |
};
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
struct mwServicePlace *
|
|
Packit |
16808d |
mwServicePlace_new(struct mwSession *session,
|
|
Packit |
16808d |
struct mwPlaceHandler *handler);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
struct mwPlaceHandler *
|
|
Packit |
16808d |
mwServicePlace_getHandler(struct mwServicePlace *srvc);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
const GList *mwServicePlace_getPlaces(struct mwServicePlace *srvc);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
struct mwPlace *mwPlace_new(struct mwServicePlace *srvc,
|
|
Packit |
16808d |
const char *name, const char *title);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
struct mwServicePlace *mwPlace_getService(struct mwPlace *place);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
const char *mwPlace_getName(struct mwPlace *place);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
const char *mwPlace_getTitle(struct mwPlace *place);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
int mwPlace_open(struct mwPlace *place);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
int mwPlace_destroy(struct mwPlace *place, guint32 code);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
/** returns a GList* of struct mwIdBlock*. The GList will need to be
|
|
Packit |
16808d |
freed after use, the mwIdBlock structures should not be modified
|
|
Packit |
16808d |
or freed */
|
|
Packit |
16808d |
GList *mwPlace_getMembers(struct mwPlace *place);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
int mwPlace_sendText(struct mwPlace *place, const char *msg);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
/** send a legacy invitation for this place to a user. The user will
|
|
Packit |
16808d |
receive an apparent invitation from a Conference (rather than a
|
|
Packit |
16808d |
Place) */
|
|
Packit |
16808d |
int mwPlace_legacyInvite(struct mwPlace *place,
|
|
Packit |
16808d |
struct mwIdBlock *idb,
|
|
Packit |
16808d |
const char *message);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
int mwPlace_setAttribute(struct mwPlace *place, guint32 attrib,
|
|
Packit |
16808d |
struct mwOpaque *data);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
int mwPlace_unsetAttribute(struct mwPlace *place, guint32 attrib);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void mwPlace_setClientData(struct mwPlace *place,
|
|
Packit |
16808d |
gpointer data, GDestroyNotify clean);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
gpointer mwPlace_getClientData(struct mwPlace *place);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
void mwPlace_removeClientData(struct mwPlace *place);
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
#ifdef __cplusplus
|
|
Packit |
16808d |
}
|
|
Packit |
16808d |
#endif
|
|
Packit |
16808d |
|
|
Packit |
16808d |
|
|
Packit |
16808d |
#endif /* _MW_SRVC_PLACE_H */
|
|
Packit |
16808d |
|