LeechCraft Azoth  0.6.70-15082-g543737046d
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 
38  class ISupportMicroblogs
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")
QList
Definition: iaccountactionsprovider.h:16
LC::Azoth::ISupportMicroblogs::gotNewPost
virtual void gotNewPost(const Post &)=0
LC::Azoth::Post::ID_
QString ID_
Definition: isupportmicroblogs.h:41
LC::Azoth::Post::Updated_
QDateTime Updated_
Definition: isupportmicroblogs.h:45
LC::Azoth::ISupportMicroblogs::gotRecentPosts
virtual void gotRecentPosts(const QList< Post > &)=0
LC::Azoth::PostAuthor
Definition: isupportmicroblogs.h:33
LC::Azoth::Post::Contents_
QMap< QString, QString > Contents_
Definition: isupportmicroblogs.h:42
LC::Azoth::PostAuthor::Name_
QString Name_
Definition: isupportmicroblogs.h:41
LC::Azoth::Post::Author_
PostAuthor Author_
Definition: isupportmicroblogs.h:47
LC::Azoth::Post::Published_
QDateTime Published_
Definition: isupportmicroblogs.h:44
LC::Azoth::PostAuthor::URI_
QString URI_
Definition: isupportmicroblogs.h:42
LC::Azoth::ISupportMicroblogs::RequestLastPosts
virtual void RequestLastPosts(int)=0
LC::Azoth::ISupportMicroblogs::~ISupportMicroblogs
virtual ~ISupportMicroblogs()
Definition: isupportmicroblogs.h:53
LC
Definition: activityinfo.h:13
LC::Azoth::ISupportMicroblogs
Definition: isupportmicroblogs.h:50
LC::Azoth::Post
Definition: isupportmicroblogs.h:39