KBlog Client Library
gdata.h
Go to the documentation of this file.
00001 /* 00002 This file is part of the kblog library. 00003 00004 Copyright (c) 2007 Christian Weilbach <christian_weilbach@web.de> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. 00020 */ 00021 00022 #ifndef KBLOG_GDATA_H 00023 #define KBLOG_GDATA_H 00024 00025 #include <kblog/blog.h> 00026 #include <kdatetime.h> 00027 00028 #include <QtCore/QStringList> 00029 00030 class KUrl; 00031 00043 namespace KBlog { 00044 00045 class GDataPrivate; 00046 class BlogComment; 00047 00070 class KBLOG_EXPORT GData : public Blog 00071 { 00072 Q_OBJECT 00073 public: 00079 explicit GData( const KUrl &server, QObject *parent = 0 ); 00080 00084 ~GData(); 00085 00095 virtual void setFullName( const QString &fullName ); 00096 00101 QString fullName() const; 00102 00109 QString profileId() const; 00110 00117 virtual void setProfileId( const QString &pid ); 00118 00122 QString interfaceName() const; 00123 00131 void fetchProfileId(); 00132 00138 virtual void listBlogs(); 00139 00146 virtual void listComments( KBlog::BlogPost *post ); 00147 00153 virtual void listAllComments(); 00154 00163 void listRecentPosts( int number ); 00164 00177 virtual void listRecentPosts( const QStringList &label=QStringList(), int number=0, 00178 const KDateTime &upMinTime=KDateTime(), 00179 const KDateTime &upMaxTime=KDateTime(), 00180 const KDateTime &pubMinTime=KDateTime(), 00181 const KDateTime &pubMaxTime=KDateTime() ); 00182 00190 void fetchPost( KBlog::BlogPost *post ); 00191 00196 void modifyPost( KBlog::BlogPost *post ); 00197 00204 void createPost( KBlog::BlogPost *post ); 00205 00213 void removePost( KBlog::BlogPost *post ); 00214 00223 virtual void createComment( KBlog::BlogPost *post, KBlog::BlogComment *comment ); 00224 00233 virtual void removeComment( KBlog::BlogPost *post, KBlog::BlogComment *comment ); 00234 00235 Q_SIGNALS: 00236 00244 void listedBlogs( const QList<QMap<QString,QString> >& blogsList ); 00245 00253 void listedAllComments( const QList<KBlog::BlogComment> &commentsList ); 00254 00263 void listedComments( KBlog::BlogPost *post, const QList<KBlog::BlogComment> &comments ); 00264 00273 void createdComment( const KBlog::BlogPost *post, const KBlog::BlogComment *comment ); 00274 00283 void removedComment( const KBlog::BlogPost *post, const KBlog::BlogComment *comment ); 00284 00292 void fetchedProfileId( const QString &profileId ); 00293 00294 protected: 00298 GData( const KUrl &server, GDataPrivate &dd, QObject *parent = 0 ); 00299 00300 private: 00301 Q_DECLARE_PRIVATE( GData ) 00302 Q_PRIVATE_SLOT( d_func(), 00303 void slotFetchProfileId( KJob * ) ) 00304 Q_PRIVATE_SLOT( d_func(), 00305 void slotListBlogs( Syndication::Loader *, 00306 Syndication::FeedPtr, Syndication::ErrorCode ) ) 00307 Q_PRIVATE_SLOT( d_func(), 00308 void slotListComments( Syndication::Loader *, 00309 Syndication::FeedPtr, Syndication::ErrorCode ) ) 00310 Q_PRIVATE_SLOT( d_func(), 00311 void slotListAllComments( Syndication::Loader *, 00312 Syndication::FeedPtr, Syndication::ErrorCode ) ) 00313 Q_PRIVATE_SLOT( d_func(), 00314 void slotListRecentPosts( Syndication::Loader *, 00315 Syndication::FeedPtr, Syndication::ErrorCode ) ) 00316 Q_PRIVATE_SLOT( d_func(), 00317 void slotFetchPost( Syndication::Loader *, 00318 Syndication::FeedPtr, Syndication::ErrorCode ) ) 00319 Q_PRIVATE_SLOT( d_func(), 00320 void slotCreatePost( KJob * ) ) 00321 Q_PRIVATE_SLOT( d_func(), 00322 void slotModifyPost( KJob * ) ) 00323 Q_PRIVATE_SLOT( d_func(), 00324 void slotRemovePost( KJob * ) ) 00325 Q_PRIVATE_SLOT( d_func(), 00326 void slotCreateComment( KJob * ) ) 00327 Q_PRIVATE_SLOT( d_func(), 00328 void slotRemoveComment( KJob * ) ) 00329 }; 00330 00331 } //namespace KBlog 00332 #endif