You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.4 KiB
79 lines
2.4 KiB
/*
|
|
Kopete Groupwise Protocol
|
|
gwchatrooms.h - Data types for group chat
|
|
|
|
Copyright (c) 2005 SUSE Linux AG http://www.suse.com
|
|
|
|
Kopete (c) 2002-2005 by the Kopete developers <kopete-devel@kde.org>
|
|
|
|
*************************************************************************
|
|
* *
|
|
* This library is free software; you can redistribute it and/or *
|
|
* modify it under the terms of the GNU Lesser General Public *
|
|
* License as published by the Free Software Foundation; either *
|
|
* version 2 of the License, or (at your option) any later version. *
|
|
* *
|
|
*************************************************************************
|
|
*/
|
|
|
|
#include <tqdatetime.h>
|
|
#include <tqvaluelist.h>
|
|
|
|
#ifndef GROUPWISE_CHATROOMS_H
|
|
#define GROUPWISE_CHATROOMS_H
|
|
|
|
namespace GroupWise
|
|
{
|
|
|
|
class ChatContact
|
|
{
|
|
public:
|
|
TQString dn;
|
|
uint chatRights;
|
|
};
|
|
typedef TQValueList<GroupWise::ChatContact> ChatContactList;
|
|
|
|
struct ChatroomSearchResult
|
|
{
|
|
TQString name;
|
|
TQString ownerDN;
|
|
uint participants;
|
|
};
|
|
|
|
|
|
class Chatroom
|
|
{
|
|
public:
|
|
enum UserStatus { Participating, NotParticipating };
|
|
enum Rights { Read = 1, Write = 2, Modify = 4, Moderator = 8, Owner = 16 };
|
|
TQString creatorDN;
|
|
TQString description;
|
|
TQString disclaimer;
|
|
TQString displayName;
|
|
TQString objectId;
|
|
TQString ownerDN;
|
|
TQString query;
|
|
TQString topic;
|
|
bool archive;
|
|
uint maxUsers;
|
|
uint chatRights;
|
|
UserStatus userStatus;
|
|
TQDateTime createdOn;
|
|
uint participantsCount;
|
|
// haveParticipants, Acl, Invites indicate if we have obtained these lists from the server, so we can tell 'not fetched list' and 'fetched empty list' apart.
|
|
bool haveParticipants;
|
|
ChatContactList participants;
|
|
bool haveAcl;
|
|
ChatContactList acl;
|
|
bool haveInvites;
|
|
ChatContactList invites;
|
|
|
|
Chatroom() { archive = false; maxUsers = 0; chatRights = 0; participantsCount = 0; haveParticipants = false; haveAcl = false; haveInvites = false; }
|
|
Chatroom( ChatroomSearchResult csr ) { archive = false; maxUsers = 0; chatRights = 0; participantsCount = csr.participants; haveParticipants = false; haveAcl = false; haveInvites = false; ownerDN = csr.ownerDN; displayName = csr.name; }
|
|
};
|
|
|
|
typedef TQValueList<Chatroom> ChatroomList;
|
|
typedef TQMap<TQString, Chatroom> ChatroomMap;
|
|
}
|
|
#endif
|