30 #include <QSharedData>
35 namespace qutim_sdk_0_3
38 class ExtendedStatusesEventPrivate;
74 bool operator ==(
Type type)
const;
75 inline bool operator !=(
Type type)
const {
return !operator ==(type); }
78 void setText(
const QString &text);
82 void setIcon(
const QIcon &icon);
84 void setType(
Type type);
86 void setSubtype(
int stype);
87 template <
typename T> T
subtype()
const {
return static_cast<T
>(
subtype()); }
89 ChangeReason changeReason()
const;
90 void setChangeReason(ChangeReason reason);
92 QVariant property(
const char *name,
const QVariant &def)
const;
94 T property(
const char *name,
const T &def)
const
95 {
return qVariantValue<T>(
property(name, qVariantFromValue<T>(def))); }
96 void setProperty(
const char *name,
const QVariant &value);
98 void initIcon(
const QString &protocol = QString());
99 static QIcon createIcon(
Type type,
const QString &protocol = QString());
100 static QString iconName(
Type type,
const QString &protocol = QString());
101 static Status instance(
Type type,
const char *proto,
int subtype = 0);
102 static bool remember(
const Status &status,
const char *proto);
103 static Status createConnecting(
const Status &status,
const char *proto);
105 Status connectingGoal()
const;
106 void setExtendedInfo(
const QString &name,
const QVariantHash &status);
107 void removeExtendedInfo(
const QString &name);
108 QVariantHash extendedInfo(
const QString &name)
const;
109 QHash<QString, QVariantHash> extendedInfos()
const;
110 void setExtendedInfos(
const QHash<QString, QVariantHash> &extInfos);
112 QSharedDataPointer<StatusPrivate> d;
124 void addInfo(
const QString &name,
const QVariantHash &info);
125 QHash<QString, QVariantHash> infos();
128 QScopedPointer<ExtendedStatusesEventPrivate> d;
140 Q_ENUMS(qutim_sdk_0_3::Status::ChangeReason)