80 , StatusString_ (string)
107 return !(es1 == es2);
158 FPermanentEntry = 0x0000,
163 FSessionEntry = 0x0001,
167 FMaskLongetivity = 0x0003,
172 FSupportsRenames = 0x0020,
176 FHasCustomChatWidget = 0x0040,
182 FSupportsAuth = 0x0080,
186 FSupportsGrouping = 0x0100,
190 FSelfContact = 0x0200
193 Q_DECLARE_FLAGS (Features,
Feature)
220 virtual QObject* GetQObject () = 0;
227 virtual IAccount* GetParentAccount ()
const = 0;
250 if (
const auto entry = GetParentCLEntry ())
251 return entry->GetQObject ();
260 virtual Features GetEntryFeatures ()
const = 0;
266 virtual EntryType GetEntryType ()
const = 0;
274 virtual QString GetEntryName ()
const = 0;
284 virtual void SetEntryName (
const QString& name) = 0;
304 virtual QString GetEntryID ()
const = 0;
331 return GetEntryID ();
339 virtual QStringList Groups ()
const = 0;
348 virtual void SetGroups (
const QStringList& groups) = 0;
366 virtual QStringList Variants ()
const = 0;
388 const QString& variant,
389 const QString& body) = 0;
417 virtual void PurgeMessages (
const QDateTime& before) = 0;
428 const QString& variant) = 0;
441 virtual EntryStatus GetStatus (
const QString& variant = QString ())
const = 0;
445 virtual void ShowInfo () = 0;
480 virtual QMap<QString, QVariant> GetClientInfo (
const QString& variant)
const = 0;
492 virtual void MarkMsgsRead () = 0;
496 virtual void ChatTabClosed () = 0;
505 virtual void gotMessage (QObject *msg) = 0;
516 const QString& variant) = 0;
526 virtual void availableVariantsChanged (
const QStringList& newVars) = 0;
540 virtual void nameChanged (
const QString& name) = 0;
554 virtual void groupsChanged (
const QStringList& groups) = 0;
564 virtual void chatPartStateChanged (
const ChatPartState& state,
565 const QString& variant) = 0;
572 virtual void permsChanged () = 0;
582 virtual void entryGenerallyChanged () = 0;
590 "org.Deviant.LeechCraft.Azoth.ICLEntry/1.0");
bool operator==(const EntryStatus &es1, const EntryStatus &es2)
Compares two entry statuses for equality.
bool operator!=(const EntryStatus &es1, const EntryStatus &es2)
Compares two entry statuses for inequality.
State
Describes possible presence states of an account or a contact.
virtual QString GetHumanReadableID() const
Returns the human-readable ID of this entry.
Q_DECLARE_OPERATORS_FOR_FLAGS(LeechCraft::Azoth::ICLEntry::Features)
Describes an entry's status.
Q_DECLARE_METATYPE(LeechCraft::Azoth::EntryStatus)
Represents a single entry in contact list.
EntryStatus(State state, const QString &string)
Constructs a status with a given state and status string.
QObject * GetParentCLEntryObject() const
Interface representing a single account.
virtual ICLEntry * GetParentCLEntry() const
Type
Represents possible message types.
State State_
The general state of the entry.
QString StatusString_
The string of the entry accompanying its state.
EntryStatus()
Default-constructs an (offline) status.
This interface is used to represent a message.
Q_DECLARE_INTERFACE(LeechCraft::Azoth::ICLEntry,"org.Deviant.LeechCraft.Azoth.ICLEntry/1.0")