rendered paste bodynamespace QtTapioca {
class Avatar;
class ContactBasePrivate;
class Handle;
class Q_DECL_EXPORT ContactBase: public ChannelTarget {
Q_OBJECT
Q_DECLARE_PRIVATE(ContactBase)
Q_ENUMS(Presence)
Q_ENUMS(Capability)
public:
enum Presence {
Offline = 1,
Available,
Away,
XA,
Hidden,
Busy
};
enum Capability {
None = 0x00,
Text = 0x01,
Audio = 0x02,
Video = 0x03,
All = 0xFF
};
~ContactBase();
void requestAvatar();
QString currentAvatarToken();
Presence presence() const;
QString presenceMessage() const;
QString alias() const;
QList<Capability> capabilities() const;
bool operator==(const ContactBase &info) const;
Q_SIGNALS:
void avatarReceived(QtTapioca::ContactBase *contactBase, QtTapioca::Avatar *avatar);
void avatarUpdated(QtTapioca::ContactBase *contactBase, const QString &newToken);
void presenceUpdated(QtTapioca::ContactBase *contactBase, QtTapioca::ContactBase::Presence presence, const QString &presenceMessage);
void aliasChanged(QtTapioca::ContactBase *contactBase, const QString &alias);
void capabilitiesChanged(QtTapioca::ContactBase *contactBase, QtTapioca::ContactBase::Capability capabilities);
namespace QtTapioca {
class ContactPrivate;
class Q_DECL_EXPORT Contact: public ContactBase {
Q_OBJECT
Q_DECLARE_PRIVATE(Contact)
Q_ENUMS(SubscriptionStatus)
Q_ENUMS(AuthorizationStatus)
public:
enum SubscriptionStatus {
NotSubscribed = 0,
RemotePending,
Subscribed
};
enum AuthorizationStatus {
NonExistent = 0,
LocalPending,
Authorized
};
~Contact();
SubscriptionStatus subscriptionStatus() const;
AuthorizationStatus authorizationStatus() const;
void subscribe(bool value);
void authorize(bool value);
void hideFrom(bool value);
bool hidingFrom() const;
void block(bool value);
bool isBlocked() const;
Q_SIGNALS:
void subscriptionStatusChanged(QtTapioca::Contact::SubscriptionStatus status);
void authorizationStatusChanged(QtTapioca::Contact::AuthorizationStatus status);
void hideFromStatusChanged(bool status);
void blockStatusChanged(bool status);