LeechCraft Azoth 0.6.70-14794-g33744ae6ce
Modular multiprotocol IM plugin for LeechCraft
Loading...
Searching...
No Matches
isupportmicroblogs.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#pragma once
10
11#include <QString>
12#include <QList>
13#include <QMap>
14#include <QDateTime>
15#include <QtPlugin>
16
17namespace LC
18{
19namespace Azoth
20{
22 {
23 QString Name_;
24 QString URI_;
25 };
26
27 struct Post
28 {
29 QString ID_;
30 QMap<QString, QString> Contents_;
31
32 QDateTime Published_;
33 QDateTime Updated_;
34
36 };
37
39 {
40 public:
41 virtual ~ISupportMicroblogs () {}
42
43 virtual void RequestLastPosts (int) = 0;
44 protected:
45 virtual void gotNewPost (const Post&) = 0;
46
47 virtual void gotRecentPosts (const QList<Post>&) = 0;
48 };
49}
50}
51
52Q_DECLARE_INTERFACE (LC::Azoth::ISupportMicroblogs,
53 "org.Deviant.LeechCraft.Azoth.ISupportMicroblogs/1.0")
virtual void gotRecentPosts(const QList< Post > &)=0
virtual void RequestLastPosts(int)=0
virtual void gotNewPost(const Post &)=0
QString URI_
QString Name_
QMap< QString, QString > Contents_
QDateTime Updated_
QString ID_
PostAuthor Author_
QDateTime Published_