LeechCraft Azoth  0.6.70-16373-g319c272718
Modular multiprotocol IM plugin for LeechCraft
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 
17 namespace LC
18 {
19 namespace Azoth
20 {
21  struct PostAuthor
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 
52 Q_DECLARE_INTERFACE (LC::Azoth::ISupportMicroblogs,
53  "org.Deviant.LeechCraft.Azoth.ISupportMicroblogs/1.0")
QMap< QString, QString > Contents_
QDateTime Published_
QDateTime Updated_
PostAuthor Author_
virtual void gotNewPost(const Post &)=0
virtual void gotRecentPosts(const QList< Post > &)=0
virtual void RequestLastPosts(int)=0
QString URI_
QString ID_
QString Name_