36 #ifdef EXPERIMENTAL_HISTORY_API
37 class HistoryRequestPrivate;
38 class HistoryReplyPrivate;
41 class HistoryReply :
public QObject
44 Q_DECLARE_PRIVATE(HistoryReply)
49 HistoryRequest request()
const;
51 int totalCount()
const;
52 int firstIndex()
const;
53 int lastIndex()
const;
58 void setCount(
int count);
59 void setBoundaries(
int first,
int last);
61 QScopedPointer<HistoryReplyPrivate> d_ptr;
67 HistoryRequest(ChatUnit *unit);
68 HistoryRequest(
const HistoryRequest &other);
70 HistoryRequest &operator =(
const HistoryRequest &other);
75 QSharedDataPointer<HistoryRequestPrivate> d_ptr;
83 virtual ~HistoryEngine();
84 virtual HistoryReply *store(
const Message &msg) = 0;
85 virtual HistoryReply *request(
const HistoryRequest &rule) = 0;
87 #endif // EXPERIMENTAL_HISTORY_API
95 static History *instance();
96 virtual void store(
const Message &message);
97 virtual MessageList read(
const ChatUnit *unit,
const QDateTime &from,
const QDateTime &to,
int max_num);
98 MessageList read(
const ChatUnit *unit,
const QDateTime &to,
int max_num) {
return read(unit, QDateTime(), to, max_num); }
99 MessageList read(
const ChatUnit *unit,
int max_num) {
return read(unit, QDateTime(), QDateTime::currentDateTime(), max_num); }
101 virtual void showHistory(
const ChatUnit *unit);
102 virtual void virtual_hook(
int id,
void *data);