diff --git a/thirdparty/qtweetlib/qtweetlib/LICENSE b/thirdparty/qtweetlib/qtweetlib/LICENSE deleted file mode 100644 index a345e48d0..000000000 --- a/thirdparty/qtweetlib/qtweetlib/LICENSE +++ /dev/null @@ -1,459 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - \ No newline at end of file diff --git a/thirdparty/qtweetlib/qtweetlib/QTweetLib.pro b/thirdparty/qtweetlib/qtweetlib/QTweetLib.pro deleted file mode 100644 index ab4b0fd3b..000000000 --- a/thirdparty/qtweetlib/qtweetlib/QTweetLib.pro +++ /dev/null @@ -1,10 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS = sub_qjson sub_src sub_examples - -sub_qjson.subdir = qjson - -sub_src.subdir = src -sub_src.depends = sub_qjson - -sub_examples.subdir = examples -sub_examples.depends = sub_src diff --git a/thirdparty/qtweetlib/qtweetlib/README b/thirdparty/qtweetlib/qtweetlib/README deleted file mode 100644 index 1d5b0aae9..000000000 --- a/thirdparty/qtweetlib/qtweetlib/README +++ /dev/null @@ -1,12 +0,0 @@ -- Supports only XAuth protocol (if there is need for PIN based OAuth I will include it) -- OAuth tokens must be set in oauth.cpp line 27 and 28 to work properly -- Uses QJson library by Flavio Castelli for parsing JSON responses -- JSON parsing is done in multithreaded way using QThreadPool -- User Streams support is not completed (fetches responses correctly, JSON parsing is not full implemented) - -Requirements and dependencies: -- Qt needs to be compiled with OpenSSL support (there are two places where is used https protocol) -- You will also need xAuth privilege access to Twitter API ( see http://dev.twitter.com/pages/xauth ) -- Valid OAuth consumer tokens, put them in oauth.cpp line 27 and 28 -- If you have already access tokens ( see http://dev.twitter.com/pages/oauth_single_token ) put them directly - with OAuthTwitter::setOAuthToken() and OAuthTwitter::setOAuthTokenSecret() diff --git a/thirdparty/qtweetlib/qtweetlib/examples/examples.pro b/thirdparty/qtweetlib/qtweetlib/examples/examples.pro deleted file mode 100644 index ae877b052..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/examples.pro +++ /dev/null @@ -1,3 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS = search timelines statusupdate geosearch georeverse \ - followers userstream diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/FollowerDelegate.qml b/thirdparty/qtweetlib/qtweetlib/examples/followers/FollowerDelegate.qml deleted file mode 100644 index f99fa6853..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/FollowerDelegate.qml +++ /dev/null @@ -1,56 +0,0 @@ -import Qt 4.7 - -Rectangle { - property string name: "Twitter name" - property string screenName: "Twitter screen name" - property string description: "Twitter description" - property string avatarUrl - - width: ListView.view.width - 1; - height: 100 - radius: 10 - border.width: 1 - border.color: "#000000" - - Image { - id: avatar - anchors.top: parent.top - anchors.left: parent.left - width: 48; height: 48 - anchors.leftMargin: 2 - anchors.topMargin: 2 - source: avatarUrl - } - - Text { - id: screenNameText - text: screenName - anchors.leftMargin: 2 - anchors.topMargin: 2 - anchors.left: avatar.right - anchors.top: parent.top - } - - Text { - id: nameText - text: name - anchors.leftMargin: 2 - anchors.topMargin: 2 - anchors.top: screenNameText.bottom - anchors.left: avatar.right - } - - Text { - id: descriptionText - text: description - anchors.rightMargin: 2 - anchors.leftMargin: 2 - anchors.bottomMargin: 2 - anchors.topMargin: 2 - anchors.bottom: parent.bottom - anchors.top: avatar.bottom - anchors.left: parent.left - anchors.right: parent.right - wrapMode: "WordWrap" - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/FollowersList.qml b/thirdparty/qtweetlib/qtweetlib/examples/followers/FollowersList.qml deleted file mode 100644 index 69fc40bc0..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/FollowersList.qml +++ /dev/null @@ -1,19 +0,0 @@ -import Qt 4.7 - -//followersListModel - external - -Item { - ListView { - id: followersListView - width: parent.width; height: parent.height - clip: true - model: followersListModel - delegate: FollowerDelegate { - id: followerDelegate - name: nameRole - screenName: screenNameRole - description: descriptionRole - avatarUrl: avatarRole - } - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.cpp b/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.cpp deleted file mode 100644 index 92d5a1068..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "followers.h" -#include "ui_followers.h" -#include -#include -#include "followerslistmodel.h" -#include "oauthtwitter.h" - -Followers::Followers(QWidget *parent) : - QWidget(parent), - ui(new Ui::Followers) -{ - ui->setupUi(this); - - m_oauthTwitter = new OAuthTwitter(this); - m_oauthTwitter->setNetworkAccessManager(new QNetworkAccessManager(this)); - m_oauthTwitter->setOAuthToken(""); - m_oauthTwitter->setOAuthTokenSecret(""); - - m_followersListModel = new FollowersListModel(m_oauthTwitter, this); - - ui->declarativeView->rootContext()->setContextProperty("followersListModel", m_followersListModel); - ui->declarativeView->setSource(QUrl("qrc:/FollowersList.qml")); - - connect(ui->fetchFollowersPushButton, SIGNAL(clicked()), SLOT(onFetchFollowersPushButtonClicked())); -} - -Followers::~Followers() -{ - delete ui; -} - -void Followers::changeEvent(QEvent *e) -{ - QWidget::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - -void Followers::onFetchFollowersPushButtonClicked() -{ - m_followersListModel->fetchFollowers(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.h b/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.h deleted file mode 100644 index 110410139..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef FOLLOWERS_H -#define FOLLOWERS_H - -#include - -class OAuthTwitter; -class FollowersListModel; - -namespace Ui { - class Followers; -} - -class Followers : public QWidget -{ - Q_OBJECT - -public: - explicit Followers(QWidget *parent = 0); - ~Followers(); - -protected: - void changeEvent(QEvent *e); - -private slots: - void onFetchFollowersPushButtonClicked(); - -private: - Ui::Followers *ui; - OAuthTwitter *m_oauthTwitter; - FollowersListModel *m_followersListModel; -}; - -#endif // FOLLOWERS_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.pro b/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.pro deleted file mode 100644 index 4d8351fa0..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.pro +++ /dev/null @@ -1,25 +0,0 @@ -QT += core gui network declarative - -TARGET = followers -TEMPLATE = app -win32:LIBS += ../../lib/QTweetLib.lib -INCLUDEPATH += ../../src - -SOURCES += \ - main.cpp \ - followers.cpp \ - followerslistmodel.cpp - -HEADERS += \ - followers.h \ - followerslistmodel.h - -FORMS += \ - followers.ui - -OTHER_FILES += \ - FollowerDelegate.qml \ - FollowersList.qml - -RESOURCES += \ - followers.qrc diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.qrc b/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.qrc deleted file mode 100644 index ef9f3bbf0..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.qrc +++ /dev/null @@ -1,6 +0,0 @@ - - - FollowerDelegate.qml - FollowersList.qml - - diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.ui b/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.ui deleted file mode 100644 index 434878ee9..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/followers.ui +++ /dev/null @@ -1,42 +0,0 @@ - - - Followers - - - - 0 - 0 - 400 - 300 - - - - Form - - - - - - QDeclarativeView::SizeRootObjectToView - - - - - - - Fetch Followers - - - - - - - - QDeclarativeView - QGraphicsView -
QtDeclarative/QDeclarativeView
-
-
- - -
diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/followerslistmodel.cpp b/thirdparty/qtweetlib/qtweetlib/examples/followers/followerslistmodel.cpp deleted file mode 100644 index 9be053c4f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/followerslistmodel.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "followerslistmodel.h" -#include "oauthtwitter.h" -#include "qtweetuser.h" -#include "qtweetuserstatusesfollowers.h" - -FollowersListModel::FollowersListModel(QObject *parent) : - QAbstractListModel(parent) -{ - QHash roles; - roles[NameRole] = "nameRole"; - roles[ScreenNameRole] = "screenNameRole"; - roles[DescriptionRole] = "descriptionRole"; - roles[AvatarRole] = "avatarRole"; - setRoleNames(roles); -} - -FollowersListModel::FollowersListModel(OAuthTwitter *oauthTwitter, QObject *parent) : - QAbstractListModel(parent) -{ - QHash roles; - roles[NameRole] = "nameRole"; - roles[ScreenNameRole] = "screenNameRole"; - roles[DescriptionRole] = "descriptionRole"; - roles[AvatarRole] = "avatarRole"; - setRoleNames(roles); - - m_oauthTwitter = oauthTwitter; -} - -void FollowersListModel::setOAuthTwitter(OAuthTwitter *oauthTwitter) -{ - m_oauthTwitter = oauthTwitter; -} - -int FollowersListModel::rowCount(const QModelIndex &parent) const -{ - Q_UNUSED(parent); - return m_users.count(); -} - -QVariant FollowersListModel::data(const QModelIndex &index, int role) const -{ - if (index.row() < 0 || index.row() > m_users.count()) - return QVariant(); - - const QTweetUser &user = m_users.at(index.row()); - - if (role == NameRole) - return user.name(); - else if (role == ScreenNameRole) - return user.screenName(); - else if (role == DescriptionRole) - return user.description(); - else if (role == AvatarRole) - return user.profileImageUrl(); - - return QVariant(); -} - -void FollowersListModel::fetchFollowers(const QString &cursor) -{ - if (cursor == "-1") { - beginResetModel(); - m_users.clear(); - endResetModel(); - } - - QTweetUserStatusesFollowers *followers = new QTweetUserStatusesFollowers; - followers->setOAuthTwitter(m_oauthTwitter); - followers->fetch(0, cursor, false); - connect(followers, SIGNAL(parsedFollowersList(QList,QString)), - this, SLOT(followersFinished(QList,QString))); - -} - -void FollowersListModel::followersFinished(const QList &followers, const QString &nextCursor) -{ - QTweetUserStatusesFollowers *users = qobject_cast(sender()); - - if (users) { - beginInsertRows(QModelIndex(), m_users.count(), m_users.count() + followers.count()); - m_users.append(followers); - endInsertRows(); - - if (nextCursor == "0") - return; - - //continue fetchingg next page - fetchFollowers(nextCursor); - - users->deleteLater(); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/followerslistmodel.h b/thirdparty/qtweetlib/qtweetlib/examples/followers/followerslistmodel.h deleted file mode 100644 index eccdfa098..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/followerslistmodel.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef FOLLOWERSLISTMODEL_H -#define FOLLOWERSLISTMODEL_H - -#include - -class OAuthTwitter; -class QTweetUser; - -class FollowersListModel : public QAbstractListModel -{ - Q_OBJECT -public: - enum Roles { - NameRole = Qt::UserRole + 1, - ScreenNameRole, - DescriptionRole, - AvatarRole - }; - - FollowersListModel(QObject *parent = 0); - FollowersListModel(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void setOAuthTwitter(OAuthTwitter *oauthTwitter); - int rowCount(const QModelIndex &parent) const; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - void fetchFollowers(const QString& cursor = QString("-1")); - -private slots: - void followersFinished(const QList& followers, - const QString& nextCursor); - -private: - OAuthTwitter *m_oauthTwitter; - QList m_users; -}; - -#endif // FOLLOWERSLISTMODEL_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/followers/main.cpp b/thirdparty/qtweetlib/qtweetlib/examples/followers/main.cpp deleted file mode 100644 index ddbc5276a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/followers/main.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - - -#include -#include "followers.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - Followers w; - w.show(); - - return a.exec(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.cpp b/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.cpp deleted file mode 100644 index bb6b73c91..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include "oauthtwitter.h" -#include "qtweetplace.h" -#include "qtweetgeocoord.h" -#include "qtweetgeoreversegeocode.h" -#include "georeverse.h" -#include "ui_georeverse.h" - -GeoReverse::GeoReverse(QWidget *parent) : - QWidget(parent), - ui(new Ui::GeoReverse) -{ - ui->setupUi(this); - - m_oauthTwitter = new OAuthTwitter(this); - m_oauthTwitter->setNetworkAccessManager(new QNetworkAccessManager(this)); - m_oauthTwitter->setOAuthToken(""); - m_oauthTwitter->setOAuthTokenSecret(""); - - QDoubleValidator *latValidator = new QDoubleValidator(ui->latitudeLineEdit); - latValidator->setNotation(QDoubleValidator::StandardNotation); - ui->latitudeLineEdit->setValidator(latValidator); - - QDoubleValidator *longValidator = new QDoubleValidator(ui->longitudeLineEdit); - longValidator->setNotation(QDoubleValidator::StandardNotation); - ui->longitudeLineEdit->setValidator(longValidator); - - connect(ui->searchPushButton, SIGNAL(clicked()), SLOT(onSearchPushButtonClicked())); -} - -GeoReverse::~GeoReverse() -{ - delete ui; -} - -void GeoReverse::changeEvent(QEvent *e) -{ - QWidget::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - - -void GeoReverse::onSearchPushButtonClicked() -{ - QTweetGeoReverseGeoCode *reverseGeo = new QTweetGeoReverseGeoCode(m_oauthTwitter, this); - reverseGeo->getPlaces(QTweetGeoCoord(ui->latitudeLineEdit->text().toDouble(), - ui->longitudeLineEdit->text().toDouble())); - connect(reverseGeo, SIGNAL(parsedPlaces(QList)), SLOT(reverseGeoFinished(QList))); -} - -void GeoReverse::reverseGeoFinished(const QList &places) -{ - QTweetGeoReverseGeoCode *reverseGeo = qobject_cast(sender()); - - if (reverseGeo) { - ui->tableWidget->clear(); - ui->tableWidget->setRowCount(places.count()); - ui->tableWidget->setColumnCount(4); - - int row = 0; - foreach (const QTweetPlace& place, places) { - QTableWidgetItem *fullname = new QTableWidgetItem(place.fullName()); - ui->tableWidget->setItem(row, 0, fullname); - QTableWidgetItem *placeid = new QTableWidgetItem(place.id()); - ui->tableWidget->setItem(row, 1, placeid); - - //QGeoBoundingBox bb = place.boundingBox(); - //QGeoCoordinate coord = bb.center(); - - //approximate, just shows center of the box - //QTableWidgetItem *lat = new QTableWidgetItem(QString::number(coord.latitude())); - //ui->tableWidget->setItem(row, 2, lat); - //QTableWidgetItem *longit = new QTableWidgetItem(QString::number(coord.longitude())); - //ui->tableWidget->setItem(row, 3, longit); - //++row; - } - - reverseGeo->deleteLater(); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.h b/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.h deleted file mode 100644 index b82c7ea76..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef GEOREVERSE_H -#define GEOREVERSE_H - -#include - -namespace Ui { - class GeoReverse; -} - -class OAuthTwitter; -class QTweetPlace; - -class GeoReverse : public QWidget -{ - Q_OBJECT - -public: - explicit GeoReverse(QWidget *parent = 0); - ~GeoReverse(); - -protected: - void changeEvent(QEvent *e); - -private slots: - void onSearchPushButtonClicked(); - void reverseGeoFinished(const QList& places); - -private: - Ui::GeoReverse *ui; - OAuthTwitter *m_oauthTwitter; - -}; - -#endif // GEOREVERSE_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.pro b/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.pro deleted file mode 100644 index 2fa7c6c57..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.pro +++ /dev/null @@ -1,18 +0,0 @@ -QT += core gui network - -TARGET = georeverse -TEMPLATE = app -win32:LIBS += ../../lib/QTweetLib.lib -INCLUDEPATH += ../../src -CONFIG += mobility -MOBILITY += location - -SOURCES += \ - main.cpp \ - georeverse.cpp - -HEADERS += \ - georeverse.h - -FORMS += \ - georeverse.ui diff --git a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.ui b/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.ui deleted file mode 100644 index fb5eb7bf9..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/georeverse.ui +++ /dev/null @@ -1,51 +0,0 @@ - - - GeoReverse - - - - 0 - 0 - 598 - 506 - - - - Form - - - - - - - - - Latitude - - - - - - - - - - Longitude - - - - - - - - - - Reverse geosearch - - - - - - - - diff --git a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/main.cpp b/thirdparty/qtweetlib/qtweetlib/examples/georeverse/main.cpp deleted file mode 100644 index 4d854224a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/georeverse/main.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - - -#include -#include "georeverse.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - GeoReverse w; - w.show(); - - return a.exec(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.cpp b/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.cpp deleted file mode 100644 index 44053b865..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include "oauthtwitter.h" -#include "qtweetplace.h" -#include "qtweetgeosearch.h" -#include "geosearch.h" -#include "qtweetgeocoord.h" -#include "ui_geosearch.h" - -GeoSearch::GeoSearch(QWidget *parent) : - QWidget(parent), - ui(new Ui::GeoSearch) -{ - ui->setupUi(this); - - m_oauthTwitter = new OAuthTwitter(this); - m_oauthTwitter->setNetworkAccessManager(new QNetworkAccessManager(this)); - m_oauthTwitter->setOAuthToken(""); - m_oauthTwitter->setOAuthTokenSecret(""); - - QDoubleValidator *latValidator = new QDoubleValidator(ui->latitudeLineEdit); - latValidator->setNotation(QDoubleValidator::StandardNotation); - ui->latitudeLineEdit->setValidator(latValidator); - - QDoubleValidator *longValidator = new QDoubleValidator(ui->longitudeLineEdit); - longValidator->setNotation(QDoubleValidator::StandardNotation); - ui->longitudeLineEdit->setValidator(longValidator); - - connect(ui->searchPushButton, SIGNAL(clicked()), SLOT(onSearchPushButtonClicked())); -} - -GeoSearch::~GeoSearch() -{ - delete ui; -} - -void GeoSearch::changeEvent(QEvent *e) -{ - QWidget::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - -void GeoSearch::onSearchPushButtonClicked() -{ - QTweetGeoSearch *geoSearch = new QTweetGeoSearch(m_oauthTwitter, this); - QTweetGeoCoord latLong; - latLong.setLatitude(ui->latitudeLineEdit->text().toDouble()); - latLong.setLongitude(ui->longitudeLineEdit->text().toDouble()); - - geoSearch->search(latLong); - connect(geoSearch, SIGNAL(parsedPlaces(QList)), SLOT(searchPlacesFinished(QList))); -} - -void GeoSearch::searchPlacesFinished(const QList &places) -{ - QTweetGeoSearch *geoSearch = qobject_cast(sender()); - - if (geoSearch) { - ui->tableWidget->clear(); - ui->tableWidget->setRowCount(places.count()); - ui->tableWidget->setColumnCount(2); - - int row = 0; - foreach (const QTweetPlace& place, places) { - QTableWidgetItem *fullname = new QTableWidgetItem(place.fullName()); - ui->tableWidget->setItem(row, 0, fullname); - QTableWidgetItem *placeid = new QTableWidgetItem(place.id()); - ui->tableWidget->setItem(row, 1, placeid); - - ++row; - } - - geoSearch->deleteLater(); - - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.h b/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.h deleted file mode 100644 index 0727e9e54..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef GEOSEARCH_H -#define GEOSEARCH_H - -#include - -namespace Ui { - class GeoSearch; -} - -class OAuthTwitter; -class QTweetPlace; - -class GeoSearch : public QWidget -{ - Q_OBJECT - -public: - explicit GeoSearch(QWidget *parent = 0); - ~GeoSearch(); - -protected: - void changeEvent(QEvent *e); - -private slots: - void onSearchPushButtonClicked(); - void searchPlacesFinished(const QList& places); - -private: - Ui::GeoSearch *ui; - OAuthTwitter *m_oauthTwitter; -}; - -#endif // GEOSEARCH_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.pro b/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.pro deleted file mode 100644 index 9e68ec121..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.pro +++ /dev/null @@ -1,18 +0,0 @@ -QT += core gui network - -TARGET = geosearch -TEMPLATE = app -win32:LIBS += ../../lib/QTweetLib.lib -INCLUDEPATH += ../../src -CONFIG += mobility -MOBILITY += location - -SOURCES += \ - main.cpp \ - geosearch.cpp - -HEADERS += \ - geosearch.h - -FORMS += \ - geosearch.ui diff --git a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.ui b/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.ui deleted file mode 100644 index 4f4d6cab4..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/geosearch.ui +++ /dev/null @@ -1,55 +0,0 @@ - - - GeoSearch - - - - 0 - 0 - 616 - 434 - - - - Form - - - - - - true - - - - - - - Latitude - - - - - - - - - - Longitude - - - - - - - - - - Search - - - - - - - - diff --git a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/main.cpp b/thirdparty/qtweetlib/qtweetlib/examples/geosearch/main.cpp deleted file mode 100644 index 25f8d7eb1..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/geosearch/main.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - - -#include -#include "geosearch.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - GeoSearch w; - w.show(); - - return a.exec(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/search/main.cpp b/thirdparty/qtweetlib/qtweetlib/examples/search/main.cpp deleted file mode 100644 index b13de9284..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/search/main.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include "mainwindow.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - MainWindow w; - w.show(); - - return a.exec(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.cpp b/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.cpp deleted file mode 100644 index 779792d6f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include "mainwindow.h" -#include "ui_mainwindow.h" -#include "oauthtwitter.h" -#include "qtweetsearch.h" -#include "qtweetsearchpageresults.h" -#include "qtweetsearchresult.h" - -MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - ui(new Ui::MainWindow) -{ - ui->setupUi(this); - - m_oauthTwitter = new OAuthTwitter(this); - m_oauthTwitter->setNetworkAccessManager(new QNetworkAccessManager(this)); - - connect(ui->startSearchButton, SIGNAL(clicked()), this, SLOT(searchButtonClicked())); -} - -MainWindow::~MainWindow() -{ - delete ui; -} - -void MainWindow::searchButtonClicked() -{ - QTweetSearch *twitSearch = new QTweetSearch(m_oauthTwitter, m_oauthTwitter); - twitSearch->setAuthenticationEnabled(false); - twitSearch->start(ui->queryLineEdit->text()); - connect(twitSearch, SIGNAL(parsedPageResults(QTweetSearchPageResults)), - this, SLOT(finishedSearch(QTweetSearchPageResults))); -} - -void MainWindow::finishedSearch(const QTweetSearchPageResults &results) -{ - QTweetSearch *twitSearch = qobject_cast(sender()); - - if (twitSearch) { - ui->resultsTextEdit->append("maxid: " + QString::number(results.maxid())); - ui->resultsTextEdit->append("next page: " + results.nextPage()); - ui->resultsTextEdit->append("page: " + QString::number(results.page())); - ui->resultsTextEdit->append("query: " + results.query()); - ui->resultsTextEdit->append("refresh url: " + results.refreshUrl()); - ui->resultsTextEdit->append("rpp: " + QString::number(results.resultsPerPage())); - ui->resultsTextEdit->append("sinceid: " + QString::number(results.sinceid())); - ui->resultsTextEdit->append("total: " + QString::number(results.total())); - - QList listResults = results.results(); - - ui->resultsTextEdit->append("results: \n"); - - foreach (const QTweetSearchResult& singleResult, listResults) { - ui->resultsTextEdit->append("created: " + singleResult.createdAt().toString()); - ui->resultsTextEdit->append("from user: " + singleResult.fromUser()); - ui->resultsTextEdit->append("id: " + QString::number(singleResult.id())); - ui->resultsTextEdit->append("lang: " + singleResult.lang()); - ui->resultsTextEdit->append("avatar url: " + singleResult.profileImageUrl()); - ui->resultsTextEdit->append("source: " + singleResult.source()); - ui->resultsTextEdit->append("text: " + singleResult.text()); - ui->resultsTextEdit->append("to user: " + singleResult.toUser()); - ui->resultsTextEdit->append("-------"); - } - - twitSearch->deleteLater(); - } -} - -void MainWindow::changeEvent(QEvent *e) -{ - QMainWindow::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.h b/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.h deleted file mode 100644 index 5b953b98f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include - -class OAuthTwitter; -class QTweetSearchPageResults; - -namespace Ui { - class MainWindow; -} - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - explicit MainWindow(QWidget *parent = 0); - ~MainWindow(); - -protected: - void changeEvent(QEvent *e); - -private slots: - void searchButtonClicked(); - void finishedSearch(const QTweetSearchPageResults& results); - -private: - Ui::MainWindow *ui; - OAuthTwitter* m_oauthTwitter; -}; - -#endif // MAINWINDOW_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.ui b/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.ui deleted file mode 100644 index e673d6ebc..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/search/mainwindow.ui +++ /dev/null @@ -1,64 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 621 - 600 - - - - MainWindow - - - - - - - Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - - - - - - - Query: - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Search - - - - - - - - - - - diff --git a/thirdparty/qtweetlib/qtweetlib/examples/search/search.pro b/thirdparty/qtweetlib/qtweetlib/examples/search/search.pro deleted file mode 100644 index 2ed5e7b7a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/search/search.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += core gui network - -TARGET = searchexample -TEMPLATE = app -win32:LIBS += ../../lib/QTweetLib.lib -INCLUDEPATH += ../../src - -SOURCES +=\ - mainwindow.cpp \ - main.cpp - -HEADERS += \ - mainwindow.h - - -FORMS += \ - mainwindow.ui diff --git a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/main.cpp b/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/main.cpp deleted file mode 100644 index 250f6aebb..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/main.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - - -#include -#include "mainwindow.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - MainWindow w; - w.show(); - - return a.exec(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.cpp b/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.cpp deleted file mode 100644 index 123ce4f6d..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include "mainwindow.h" -#include "ui_mainwindow.h" -#include "oauthtwitter.h" -#include "qtweetstatusupdate.h" -#include "qtweetstatus.h" - -MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - ui(new Ui::MainWindow) -{ - ui->setupUi(this); - - //m_authorized = false; - - QDoubleValidator *latValidator = new QDoubleValidator(ui->latLineEdit); - latValidator->setNotation(QDoubleValidator::StandardNotation); - ui->latLineEdit->setValidator(latValidator); - - QDoubleValidator *longValidator = new QDoubleValidator(ui->longLineEdit); - longValidator->setNotation(QDoubleValidator::StandardNotation); - ui->longLineEdit->setValidator(longValidator); - - m_oauthTwitter = new OAuthTwitter(this); - m_oauthTwitter->setNetworkAccessManager(new QNetworkAccessManager(this)); - connect(m_oauthTwitter, SIGNAL(authorizeXAuthFinished()), SLOT(xauthFinished())); - connect(m_oauthTwitter, SIGNAL(authorizeXAuthError()), SLOT(xauthError())); - - connect(ui->authPushButton, SIGNAL(clicked()), SLOT(authorizeButtonClicked())); - connect(ui->udpatePushButton, SIGNAL(clicked()), SLOT(updateButtonClicked())); - - m_authorized = true; - m_oauthTwitter->setOAuthToken("16290455-CPyk9D9hJoCghpw7zAE73IZ0g0XtbVHU7xbI5RJE2"); - m_oauthTwitter->setOAuthTokenSecret("NMCzZHio4YAB1ZrTsNP35HLHeN4Ze1GI3qT4zvMCctQ"); -} - -MainWindow::~MainWindow() -{ - delete ui; -} - -void MainWindow::changeEvent(QEvent *e) -{ - QMainWindow::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - -void MainWindow::authorizeButtonClicked() -{ - m_oauthTwitter->authorizeXAuth(ui->userNameLineEdit->text(), ui->passwordLineEdit->text()); -} - -void MainWindow::xauthFinished() -{ - ui->statusbar->showMessage("XAuth succesfull!"); - m_authorized = true; -} - -void MainWindow::xauthError() -{ - ui->statusbar->showMessage("XAuth failed"); - m_authorized = false; -} - -void MainWindow::updateButtonClicked() -{ - if (m_authorized) { - QTweetStatusUpdate *statusUpdate = new QTweetStatusUpdate(m_oauthTwitter, this); - statusUpdate->post(ui->statusTextEdit->toPlainText(), - 0, - QTweetGeoCoord(ui->latLineEdit->text().toDouble(), ui->longLineEdit->text().toDouble()), - QString(), - true); - connect(statusUpdate, SIGNAL(postedStatus(QTweetStatus)), SLOT(postStatusFinished(QTweetStatus))); - - } else { - ui->statusbar->showMessage("You cannot post, needs autorization!"); - } -} - -void MainWindow::postStatusFinished(const QTweetStatus &status) -{ - QTweetStatusUpdate *statusUpdate = qobject_cast(sender()); - - if (statusUpdate) { - ui->statusbar->showMessage("Posted status with id " + QString::number(status.id())); - - statusUpdate->deleteLater(); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.h b/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.h deleted file mode 100644 index addbac0d3..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include - -namespace Ui { - class MainWindow; -} - -class OAuthTwitter; -class QTweetStatus; - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - explicit MainWindow(QWidget *parent = 0); - ~MainWindow(); - -protected: - void changeEvent(QEvent *e); - -private slots: - void authorizeButtonClicked(); - void xauthFinished(); - void xauthError(); - void updateButtonClicked(); - void postStatusFinished(const QTweetStatus& status); - -private: - Ui::MainWindow *ui; - OAuthTwitter *m_oauthTwitter; - bool m_authorized; -}; - -#endif // MAINWINDOW_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.ui b/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.ui deleted file mode 100644 index 2104d955a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/mainwindow.ui +++ /dev/null @@ -1,206 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 541 - 287 - - - - MainWindow - - - - - - - - - - - Username: - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Password: - - - - - - - QLineEdit::Password - - - - - - - - - - 70 - 16777215 - - - - Authorize - - - - - - - - - - - - - Status text: - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - 16777215 - 128 - - - - - - - - - - - - - - Latitude: - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Longitude: - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - Update - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - diff --git a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/statusupdate.pro b/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/statusupdate.pro deleted file mode 100644 index 2eb8745be..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/statusupdate/statusupdate.pro +++ /dev/null @@ -1,16 +0,0 @@ -QT += core gui network - -TARGET = statusupdate -TEMPLATE = app -win32:LIBS += ../../lib/QTweetLib.lib -INCLUDEPATH += ../../src - -SOURCES += \ - main.cpp \ - mainwindow.cpp - -HEADERS += \ - mainwindow.h - -FORMS += \ - mainwindow.ui diff --git a/thirdparty/qtweetlib/qtweetlib/examples/timelines/main.cpp b/thirdparty/qtweetlib/qtweetlib/examples/timelines/main.cpp deleted file mode 100644 index 250f6aebb..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/timelines/main.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - - -#include -#include "mainwindow.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - MainWindow w; - w.show(); - - return a.exec(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.cpp b/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.cpp deleted file mode 100644 index c7b4fc6b5..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.cpp +++ /dev/null @@ -1,224 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "mainwindow.h" -#include "ui_mainwindow.h" -#include "oauthtwitter.h" -#include "qtweethometimeline.h" -#include "qtweetmentions.h" -#include "qtweetusertimeline.h" -#include "qtweetdirectmessages.h" -#include "qtweetstatus.h" -#include "qtweetdmstatus.h" -#include "qtweetuser.h" - -MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - ui(new Ui::MainWindow) -{ - ui->setupUi(this); - - m_sinceidHomeTimeline = 0; - m_sinceidMentions = 0; - m_sinceidUserTimeline = 0; - m_sinceidDirectMessages = 0; - - m_oauthTwitter = new OAuthTwitter(this); - m_oauthTwitter->setNetworkAccessManager(new QNetworkAccessManager(this)); - connect(m_oauthTwitter, SIGNAL(authorizeXAuthFinished()), this, SLOT(xauthFinished())); - connect(m_oauthTwitter, SIGNAL(authorizeXAuthError()), this, SLOT(xauthError())); - - m_timer = new QTimer(this); - m_timer->setInterval(60000); - connect(m_timer, SIGNAL(timeout()), this, SLOT(timerTimeOut())); - - connect(ui->authorizePushButton, SIGNAL(clicked()), this, SLOT(authorizeButtonClicked())); -} - -MainWindow::~MainWindow() -{ - delete ui; -} - -void MainWindow::changeEvent(QEvent *e) -{ - QMainWindow::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - -void MainWindow::authorizeButtonClicked() -{ - m_oauthTwitter->authorizeXAuth(ui->usernameLineEdit->text(), ui->passwordLineEdit->text()); - -} - -void MainWindow::xauthFinished() -{ - ui->statusBar->showMessage("xauth succesfull"); - m_timer->start(); - timerTimeOut(); -} - -void MainWindow::xauthError() -{ - ui->statusBar->showMessage("xauth failed"); -} - -void MainWindow::timerTimeOut() -{ - QTweetHomeTimeline *homeTimeline = new QTweetHomeTimeline(m_oauthTwitter, this); - homeTimeline->fetch(m_sinceidHomeTimeline); - connect(homeTimeline, SIGNAL(parsedStatuses(QList)), - this, SLOT(homeTimelineStatuses(QList))); - - QTweetMentions *mentions = new QTweetMentions(m_oauthTwitter, this); - mentions->fetch(m_sinceidMentions); - connect(mentions, SIGNAL(parsedStatuses(QList)), - this, SLOT(mentionsStatuses(QList))); - - QTweetUserTimeline *userTimeline = new QTweetUserTimeline(m_oauthTwitter, this); - userTimeline->fetch(0, QString(), m_sinceidUserTimeline); - connect(userTimeline, SIGNAL(parsedStatuses(QList)), - this, SLOT(userTimelineStatuses(QList))); - - QTweetDirectMessages *dmTimeline = new QTweetDirectMessages(m_oauthTwitter, this); - dmTimeline->fetch(m_sinceidDirectMessages); - connect(dmTimeline, SIGNAL(parsedDirectMessages(QList)), - this, SLOT(directMessages(QList))); -} - -void MainWindow::homeTimelineStatuses(const QList &statuses) -{ - QTweetHomeTimeline *homeTimeline = qobject_cast(sender()); - - if (homeTimeline) { - if (statuses.count()) { - //order is messed up, but this is just example - foreach (const QTweetStatus& status, statuses) { - ui->homeTimelineTextEdit->append("id: " + QString::number(status.id())); - ui->homeTimelineTextEdit->append("text: " + status.text()); - ui->homeTimelineTextEdit->append("created: " + status.createdAt().toString()); - - QTweetUser userinfo = status.user(); - - ui->homeTimelineTextEdit->append("screen name: " + userinfo.screenName()); - ui->homeTimelineTextEdit->append("user id: " + QString::number(userinfo.id())); - - //is it retweet? - QTweetStatus rtStatus = status.retweetedStatus(); - - if (rtStatus.id()) { - ui->homeTimelineTextEdit->append("retweet text: " + rtStatus.text()); - } - - ui->homeTimelineTextEdit->append("----------------------------------------"); - - } - - m_sinceidHomeTimeline = statuses.at(0).id(); - } - - homeTimeline->deleteLater(); - } -} - -void MainWindow::mentionsStatuses(const QList &statuses) -{ - QTweetMentions *mentions = qobject_cast(sender()); - - if (mentions) { - if (statuses.count()) { - foreach (const QTweetStatus& status, statuses) { - ui->mentionsTextEdit->append("id: " + QString::number(status.id())); - ui->mentionsTextEdit->append("text: " + status.text()); - ui->mentionsTextEdit->append("created: " + status.createdAt().toString()); - - QTweetUser userinfo = status.user(); - - ui->mentionsTextEdit->append("screen name: " + userinfo.screenName()); - ui->mentionsTextEdit->append("user id: " + QString::number(userinfo.id())); - - ui->mentionsTextEdit->append("----------------------------------------"); - } - - m_sinceidMentions = statuses.at(0).id(); - } - mentions->deleteLater(); - } -} - -void MainWindow::userTimelineStatuses(const QList &statuses) -{ - QTweetUserTimeline *userTimeline = qobject_cast(sender()); - - if (userTimeline) { - if (statuses.count()) { - //order is messed up, but this is just example - foreach (const QTweetStatus& status, statuses) { - ui->userTimelineTextEdit->append("id: " + QString::number(status.id())); - ui->userTimelineTextEdit->append("text: " + status.text()); - ui->userTimelineTextEdit->append("created: " + status.createdAt().toString()); - - QTweetUser userinfo = status.user(); - - ui->userTimelineTextEdit->append("screen name: " + userinfo.screenName()); - ui->userTimelineTextEdit->append("user id: " + QString::number(userinfo.id())); - - ui->userTimelineTextEdit->append("----------------------------------------"); - } - - m_sinceidUserTimeline = statuses.at(0).id(); - } - - userTimeline->deleteLater(); - } -} - -void MainWindow::directMessages(const QList &directMessages) -{ - QTweetDirectMessages *dmTimeline = qobject_cast(sender()); - - if (dmTimeline) { - if (directMessages.count()) { - foreach (const QTweetDMStatus& message, directMessages) { - ui->directMessagesTextEdit->append("id: " + QString::number(message.id())); - ui->directMessagesTextEdit->append("text: " + message.text()); - ui->directMessagesTextEdit->append("created: " + message.createdAt().toString()); - ui->directMessagesTextEdit->append("sender: " + message.senderScreenName()); - ui->directMessagesTextEdit->append("sender id: " + QString::number(message.senderId())); - - ui->directMessagesTextEdit->append("----------------------------------------"); - } - - m_sinceidDirectMessages = directMessages.at(0).id(); - } - } - - dmTimeline->deleteLater(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.h b/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.h deleted file mode 100644 index 5cc7838ba..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include - -namespace Ui { - class MainWindow; -} - -class OAuthTwitter; -class QTimer; -class QTweetStatus; -class QTweetDMStatus; - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - explicit MainWindow(QWidget *parent = 0); - ~MainWindow(); - -protected: - void changeEvent(QEvent *e); - -private slots: - void authorizeButtonClicked(); - void xauthFinished(); - void xauthError(); - void timerTimeOut(); - void homeTimelineStatuses(const QList& statuses); - void mentionsStatuses(const QList& statuses); - void userTimelineStatuses(const QList& statuses); - void directMessages(const QList& directMessages); - -private: - Ui::MainWindow *ui; - OAuthTwitter *m_oauthTwitter; - QTimer *m_timer; - qint64 m_sinceidHomeTimeline; - qint64 m_sinceidMentions; - qint64 m_sinceidUserTimeline; - qint64 m_sinceidDirectMessages; - -}; - -#endif // MAINWINDOW_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.ui b/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.ui deleted file mode 100644 index d31a8d5f2..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/timelines/mainwindow.ui +++ /dev/null @@ -1,156 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 627 - 600 - - - - MainWindow - - - - - - - 0 - - - - Home timeline - - - - - - true - - - - - - - - Mentions timeline - - - - - - true - - - - - - - - User timeline - - - - - - true - - - - - - - - Direct Messages - - - - - - true - - - - - - - - - - - - - - - Username: - - - - - - - - - - - - - - Password: - - - - - - - QLineEdit::Password - - - - - - - - - Authorize - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Horizontal - - - - 368 - 20 - - - - - - - - - - - diff --git a/thirdparty/qtweetlib/qtweetlib/examples/timelines/timelines.pro b/thirdparty/qtweetlib/qtweetlib/examples/timelines/timelines.pro deleted file mode 100644 index e2a6718ea..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/timelines/timelines.pro +++ /dev/null @@ -1,16 +0,0 @@ -QT += core gui network - -TARGET = timelines -TEMPLATE = app -win32:LIBS += ../../lib/QTweetLib.lib -INCLUDEPATH += ../../src - -SOURCES += \ - mainwindow.cpp \ - main.cpp - -HEADERS += \ - mainwindow.h - -FORMS += \ - mainwindow.ui diff --git a/thirdparty/qtweetlib/qtweetlib/examples/userstream/main.cpp b/thirdparty/qtweetlib/qtweetlib/examples/userstream/main.cpp deleted file mode 100644 index 1ab4eccf4..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/userstream/main.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include "userstream.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - UserStream w; - w.show(); - - return a.exec(); -} - diff --git a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.cpp b/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.cpp deleted file mode 100644 index eecb99633..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "userstream.h" -#include "ui_userstream.h" -#include -#include -#include -#include "oauthtwitter.h" -#include "qtweetuserstream.h" -#include "qtweetstatus.h" -#include "qtweetuser.h" - -UserStream::UserStream(QWidget *parent) : - QWidget(parent), - ui(new Ui::UserStream) -{ - ui->setupUi(this); - - m_oauthTwitter = new OAuthTwitter(new QNetworkAccessManager, this); - connect(m_oauthTwitter, SIGNAL(authorizeXAuthFinished()), SLOT(onAuthorizeFinished())); - connect(m_oauthTwitter, SIGNAL(authorizeXAuthError()), SLOT(onAuthorizeError())); - - m_userStream = new QTweetUserStream(this); - m_userStream->setOAuthTwitter(m_oauthTwitter); - connect(m_userStream, SIGNAL(stream(QByteArray)), SLOT(stream(QByteArray))); - connect(m_userStream, SIGNAL(statusesStream(QTweetStatus)), SLOT(statusStream(QTweetStatus))); - - connect(ui->connectButton, SIGNAL(clicked()), SLOT(onConnectButtonClicked())); - - //for internal purposes - m_file.setFileName("logstream.txt"); - m_file.open(QIODevice::WriteOnly | QIODevice::Text); - - m_streamlogger.setDevice(&m_file); - -} - -UserStream::~UserStream() -{ - delete ui; -} - -void UserStream::changeEvent(QEvent *e) -{ - QWidget::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - -void UserStream::onConnectButtonClicked() -{ - m_oauthTwitter->authorizeXAuth(ui->usernameLineEdit->text(), ui->passwordLineEdit->text()); - ui->infoTextBrowser->append("XAuth authorization started"); - ui->connectButton->setEnabled(false); -} - -void UserStream::onAuthorizeFinished() -{ - ui->infoTextBrowser->append("XAuth authorization success."); - ui->infoTextBrowser->append("oauth token: " + m_oauthTwitter->oauthToken()); - ui->infoTextBrowser->append("oauth token secret: " + m_oauthTwitter->oauthTokenSecret()); - ui->infoTextBrowser->append("Starting user stream fetching"); - - m_userStream->startFetching(); -} - -void UserStream::onAuthorizeError() -{ - ui->infoTextBrowser->append("XAuth authorization error"); - ui->connectButton->setEnabled(true); -} - -void UserStream::stream(const QByteArray &stream) -{ - //for internal purposes - m_streamlogger << stream << "\n"; - m_streamlogger << "################################################################" << "\n"; - m_streamlogger.flush(); -} - -void UserStream::statusStream(const QTweetStatus &tweet) -{ - ui->infoTextBrowser->append("New tweet"); - ui->infoTextBrowser->append("id: " + QString::number(tweet.id())); - ui->infoTextBrowser->append("text: " + tweet.text()); - ui->infoTextBrowser->append("name: " + tweet.user().name()); -} diff --git a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.h b/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.h deleted file mode 100644 index 1e462dcb9..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef USERSTREAM_H -#define USERSTREAM_H - -#include -#include -#include - -namespace Ui { - class UserStream; -} - -class OAuthTwitter; -class QTweetUserStream; -class QTweetStatus; - -class UserStream : public QWidget -{ - Q_OBJECT - -public: - explicit UserStream(QWidget *parent = 0); - ~UserStream(); - -protected: - void changeEvent(QEvent *e); - -private slots: - void onConnectButtonClicked(); - void onAuthorizeFinished(); - void onAuthorizeError(); - void stream(const QByteArray& stream); - void statusStream(const QTweetStatus& tweet); - -private: - Ui::UserStream *ui; - OAuthTwitter *m_oauthTwitter; - QTweetUserStream *m_userStream; - QTextStream m_streamlogger; - QFile m_file; -}; - -#endif // USERSTREAM_H diff --git a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.pro b/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.pro deleted file mode 100644 index ec24d670e..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += core gui network - -TARGET = userstream -TEMPLATE = app -win32:LIBS += ../../lib/QTweetLib.lib -INCLUDEPATH += ../../src - - -SOURCES += \ - main.cpp \ - userstream.cpp - -HEADERS += \ - userstream.h - -FORMS += \ - userstream.ui diff --git a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.ui b/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.ui deleted file mode 100644 index db90f1ac6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/examples/userstream/userstream.ui +++ /dev/null @@ -1,63 +0,0 @@ - - - UserStream - - - - 0 - 0 - 418 - 529 - - - - Form - - - - - - - - - - - - - Username: - - - - - - - - - - Password: - - - - - - - QLineEdit::Password - - - - - - - - - Connect - - - - - - - - - - diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.cc b/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.cc deleted file mode 100644 index 620e135a8..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.cc +++ /dev/null @@ -1,1116 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton implementation for Bison LALR(1) parsers in C++ - - Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - - -#include "json_parser.hh" - -/* User implementation prologue. */ - - -/* Line 317 of lalr1.cc. */ -#line 43 "json_parser.cc" - -#ifndef YY_ -# if YYENABLE_NLS -# if ENABLE_NLS -# include /* FIXME: INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#define YYUSE(e) ((void) (e)) - -/* A pseudo ostream that takes yydebug_ into account. */ -# define YYCDEBUG \ - for (bool yydebugcond_ = yydebug_; yydebugcond_; yydebugcond_ = false) \ - (*yycdebug_) - -/* Enable debugging if requested. */ -#if YYDEBUG - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug_) \ - { \ - *yycdebug_ << Title << ' '; \ - yy_symbol_print_ ((Type), (Value), (Location)); \ - *yycdebug_ << std::endl; \ - } \ -} while (false) - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug_) \ - yy_reduce_print_ (Rule); \ -} while (false) - -# define YY_STACK_PRINT() \ -do { \ - if (yydebug_) \ - yystack_print_ (); \ -} while (false) - -#else /* !YYDEBUG */ - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_REDUCE_PRINT(Rule) -# define YY_STACK_PRINT() - -#endif /* !YYDEBUG */ - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - -namespace yy -{ -#if YYERROR_VERBOSE - - /* Return YYSTR after stripping away unnecessary quotes and - backslashes, so that it's suitable for yyerror. The heuristic is - that double-quoting is unnecessary unless the string contains an - apostrophe, a comma, or backslash (other than backslash-backslash). - YYSTR is taken from yytname. */ - std::string - json_parser::yytnamerr_ (const char *yystr) - { - if (*yystr == '"') - { - std::string yyr = ""; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - yyr += *yyp; - break; - - case '"': - return yyr; - } - do_not_strip_quotes: ; - } - - return yystr; - } - -#endif - - /// Build a parser object. - json_parser::json_parser (QJson::ParserPrivate* driver_yyarg) - : yydebug_ (false), - yycdebug_ (&std::cerr), - driver (driver_yyarg) - { - } - - json_parser::~json_parser () - { - } - -#if YYDEBUG - /*--------------------------------. - | Print this symbol on YYOUTPUT. | - `--------------------------------*/ - - inline void - json_parser::yy_symbol_value_print_ (int yytype, - const semantic_type* yyvaluep, const location_type* yylocationp) - { - YYUSE (yylocationp); - YYUSE (yyvaluep); - switch (yytype) - { - default: - break; - } - } - - - void - json_parser::yy_symbol_print_ (int yytype, - const semantic_type* yyvaluep, const location_type* yylocationp) - { - *yycdebug_ << (yytype < yyntokens_ ? "token" : "nterm") - << ' ' << yytname_[yytype] << " (" - << *yylocationp << ": "; - yy_symbol_value_print_ (yytype, yyvaluep, yylocationp); - *yycdebug_ << ')'; - } -#endif /* ! YYDEBUG */ - - void - json_parser::yydestruct_ (const char* yymsg, - int yytype, semantic_type* yyvaluep, location_type* yylocationp) - { - YYUSE (yylocationp); - YYUSE (yymsg); - YYUSE (yyvaluep); - - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } - } - - void - json_parser::yypop_ (unsigned int n) - { - yystate_stack_.pop (n); - yysemantic_stack_.pop (n); - yylocation_stack_.pop (n); - } - - std::ostream& - json_parser::debug_stream () const - { - return *yycdebug_; - } - - void - json_parser::set_debug_stream (std::ostream& o) - { - yycdebug_ = &o; - } - - - json_parser::debug_level_type - json_parser::debug_level () const - { - return yydebug_; - } - - void - json_parser::set_debug_level (debug_level_type l) - { - yydebug_ = l; - } - - - int - json_parser::parse () - { - /// Look-ahead and look-ahead in internal form. - int yychar = yyempty_; - int yytoken = 0; - - /* State. */ - int yyn; - int yylen = 0; - int yystate = 0; - - /* Error handling. */ - int yynerrs_ = 0; - int yyerrstatus_ = 0; - - /// Semantic value of the look-ahead. - semantic_type yylval; - /// Location of the look-ahead. - location_type yylloc; - /// The locations where the error started and ended. - location yyerror_range[2]; - - /// $$. - semantic_type yyval; - /// @$. - location_type yyloc; - - int yyresult; - - YYCDEBUG << "Starting parse" << std::endl; - - - /* Initialize the stacks. The initial state will be pushed in - yynewstate, since the latter expects the semantical and the - location values to have been already stored, initialize these - stacks with a primary value. */ - yystate_stack_ = state_stack_type (0); - yysemantic_stack_ = semantic_stack_type (0); - yylocation_stack_ = location_stack_type (0); - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yylloc); - - /* New state. */ - yynewstate: - yystate_stack_.push (yystate); - YYCDEBUG << "Entering state " << yystate << std::endl; - goto yybackup; - - /* Backup. */ - yybackup: - - /* Try to take a decision without look-ahead. */ - yyn = yypact_[yystate]; - if (yyn == yypact_ninf_) - goto yydefault; - - /* Read a look-ahead token. */ - if (yychar == yyempty_) - { - YYCDEBUG << "Reading a token: "; - yychar = yylex (&yylval, &yylloc, driver); - } - - - /* Convert token to internal form. */ - if (yychar <= yyeof_) - { - yychar = yytoken = yyeof_; - YYCDEBUG << "Now at end of input." << std::endl; - } - else - { - yytoken = yytranslate_ (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yytoken) - goto yydefault; - - /* Reduce or error. */ - yyn = yytable_[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == yytable_ninf_) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - /* Accept? */ - if (yyn == yyfinal_) - goto yyacceptlab; - - /* Shift the look-ahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the token being shifted unless it is eof. */ - if (yychar != yyeof_) - yychar = yyempty_; - - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yylloc); - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus_) - --yyerrstatus_; - - yystate = yyn; - goto yynewstate; - - /*-----------------------------------------------------------. - | yydefault -- do the default action for the current state. | - `-----------------------------------------------------------*/ - yydefault: - yyn = yydefact_[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - /*-----------------------------. - | yyreduce -- Do a reduction. | - `-----------------------------*/ - yyreduce: - yylen = yyr2_[yyn]; - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. Otherwise, use the top of the stack. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. */ - if (yylen) - yyval = yysemantic_stack_[yylen - 1]; - else - yyval = yysemantic_stack_[0]; - - { - slice slice (yylocation_stack_, yylen); - YYLLOC_DEFAULT (yyloc, slice, yylen); - } - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 2: -#line 84 "json_parser.yy" - { - driver->m_result = (yysemantic_stack_[(1) - (1)]); - qjsonDebug() << "json_parser - parsing finished"; - ;} - break; - - case 3: -#line 89 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(1) - (1)]); ;} - break; - - case 4: -#line 91 "json_parser.yy" - { - qCritical()<< "json_parser - syntax error found, " - << "forcing abort, Line" << (yyloc).begin.line << "Column" << (yyloc).begin.column; - YYABORT; - ;} - break; - - case 6: -#line 98 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(3) - (2)]); ;} - break; - - case 7: -#line 100 "json_parser.yy" - { (yyval) = QVariant (QVariantMap()); ;} - break; - - case 8: -#line 101 "json_parser.yy" - { - QVariantMap members = (yysemantic_stack_[(2) - (2)]).toMap(); - (yysemantic_stack_[(2) - (2)]) = QVariant(); // Allow reuse of map - (yyval) = QVariant(members.unite ((yysemantic_stack_[(2) - (1)]).toMap())); - ;} - break; - - case 9: -#line 107 "json_parser.yy" - { (yyval) = QVariant (QVariantMap()); ;} - break; - - case 10: -#line 108 "json_parser.yy" - { - QVariantMap members = (yysemantic_stack_[(3) - (3)]).toMap(); - (yysemantic_stack_[(3) - (3)]) = QVariant(); // Allow reuse of map - (yyval) = QVariant(members.unite ((yysemantic_stack_[(3) - (2)]).toMap())); - ;} - break; - - case 11: -#line 114 "json_parser.yy" - { - QVariantMap pair; - pair.insert ((yysemantic_stack_[(3) - (1)]).toString(), QVariant((yysemantic_stack_[(3) - (3)]))); - (yyval) = QVariant (pair); - ;} - break; - - case 12: -#line 120 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(3) - (2)]); ;} - break; - - case 13: -#line 122 "json_parser.yy" - { (yyval) = QVariant (QVariantList()); ;} - break; - - case 14: -#line 123 "json_parser.yy" - { - QVariantList members = (yysemantic_stack_[(2) - (2)]).toList(); - (yysemantic_stack_[(2) - (2)]) = QVariant(); // Allow reuse of list - members.prepend ((yysemantic_stack_[(2) - (1)])); - (yyval) = QVariant(members); - ;} - break; - - case 15: -#line 130 "json_parser.yy" - { (yyval) = QVariant (QVariantList()); ;} - break; - - case 16: -#line 131 "json_parser.yy" - { - QVariantList members = (yysemantic_stack_[(3) - (3)]).toList(); - (yysemantic_stack_[(3) - (3)]) = QVariant(); // Allow reuse of list - members.prepend ((yysemantic_stack_[(3) - (2)])); - (yyval) = QVariant(members); - ;} - break; - - case 17: -#line 138 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(1) - (1)]); ;} - break; - - case 18: -#line 139 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(1) - (1)]); ;} - break; - - case 19: -#line 140 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(1) - (1)]); ;} - break; - - case 20: -#line 141 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(1) - (1)]); ;} - break; - - case 21: -#line 142 "json_parser.yy" - { (yyval) = QVariant (true); ;} - break; - - case 22: -#line 143 "json_parser.yy" - { (yyval) = QVariant (false); ;} - break; - - case 23: -#line 144 "json_parser.yy" - { - QVariant null_variant; - (yyval) = null_variant; - ;} - break; - - case 24: -#line 149 "json_parser.yy" - { (yyval) = QVariant(QVariant::Double); (yyval).setValue( -std::numeric_limits::infinity() ); ;} - break; - - case 25: -#line 150 "json_parser.yy" - { (yyval) = QVariant(QVariant::Double); (yyval).setValue( std::numeric_limits::infinity() ); ;} - break; - - case 26: -#line 151 "json_parser.yy" - { (yyval) = QVariant(QVariant::Double); (yyval).setValue( std::numeric_limits::quiet_NaN() ); ;} - break; - - case 28: -#line 154 "json_parser.yy" - { - if ((yysemantic_stack_[(1) - (1)]).toByteArray().startsWith('-')) { - (yyval) = QVariant (QVariant::LongLong); - (yyval).setValue((yysemantic_stack_[(1) - (1)]).toLongLong()); - } - else { - (yyval) = QVariant (QVariant::ULongLong); - (yyval).setValue((yysemantic_stack_[(1) - (1)]).toULongLong()); - } - ;} - break; - - case 29: -#line 164 "json_parser.yy" - { - const QByteArray value = (yysemantic_stack_[(2) - (1)]).toByteArray() + (yysemantic_stack_[(2) - (2)]).toByteArray(); - (yyval) = QVariant(QVariant::Double); - (yyval).setValue(value.toDouble()); - ;} - break; - - case 30: -#line 169 "json_parser.yy" - { (yyval) = QVariant ((yysemantic_stack_[(2) - (1)]).toByteArray() + (yysemantic_stack_[(2) - (2)]).toByteArray()); ;} - break; - - case 31: -#line 170 "json_parser.yy" - { - const QByteArray value = (yysemantic_stack_[(3) - (1)]).toByteArray() + (yysemantic_stack_[(3) - (2)]).toByteArray() + (yysemantic_stack_[(3) - (3)]).toByteArray(); - (yyval) = QVariant (value); - ;} - break; - - case 32: -#line 175 "json_parser.yy" - { (yyval) = QVariant ((yysemantic_stack_[(2) - (1)]).toByteArray() + (yysemantic_stack_[(2) - (2)]).toByteArray()); ;} - break; - - case 33: -#line 176 "json_parser.yy" - { (yyval) = QVariant (QByteArray("-") + (yysemantic_stack_[(3) - (2)]).toByteArray() + (yysemantic_stack_[(3) - (3)]).toByteArray()); ;} - break; - - case 34: -#line 178 "json_parser.yy" - { (yyval) = QVariant (QByteArray("")); ;} - break; - - case 35: -#line 179 "json_parser.yy" - { - (yyval) = QVariant((yysemantic_stack_[(2) - (1)]).toByteArray() + (yysemantic_stack_[(2) - (2)]).toByteArray()); - ;} - break; - - case 36: -#line 183 "json_parser.yy" - { - (yyval) = QVariant(QByteArray(".") + (yysemantic_stack_[(2) - (2)]).toByteArray()); - ;} - break; - - case 37: -#line 187 "json_parser.yy" - { (yyval) = QVariant((yysemantic_stack_[(2) - (1)]).toByteArray() + (yysemantic_stack_[(2) - (2)]).toByteArray()); ;} - break; - - case 38: -#line 189 "json_parser.yy" - { (yyval) = (yysemantic_stack_[(3) - (2)]); ;} - break; - - case 39: -#line 191 "json_parser.yy" - { (yyval) = QVariant (QString(QLatin1String(""))); ;} - break; - - case 40: -#line 192 "json_parser.yy" - { - (yyval) = (yysemantic_stack_[(1) - (1)]); - ;} - break; - - - /* Line 675 of lalr1.cc. */ -#line 628 "json_parser.cc" - default: break; - } - YY_SYMBOL_PRINT ("-> $$ =", yyr1_[yyn], &yyval, &yyloc); - - yypop_ (yylen); - yylen = 0; - YY_STACK_PRINT (); - - yysemantic_stack_.push (yyval); - yylocation_stack_.push (yyloc); - - /* Shift the result of the reduction. */ - yyn = yyr1_[yyn]; - yystate = yypgoto_[yyn - yyntokens_] + yystate_stack_[0]; - if (0 <= yystate && yystate <= yylast_ - && yycheck_[yystate] == yystate_stack_[0]) - yystate = yytable_[yystate]; - else - yystate = yydefgoto_[yyn - yyntokens_]; - goto yynewstate; - - /*------------------------------------. - | yyerrlab -- here on detecting error | - `------------------------------------*/ - yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus_) - { - ++yynerrs_; - error (yylloc, yysyntax_error_ (yystate, yytoken)); - } - - yyerror_range[0] = yylloc; - if (yyerrstatus_ == 3) - { - /* If just tried and failed to reuse look-ahead token after an - error, discard it. */ - - if (yychar <= yyeof_) - { - /* Return failure if at end of input. */ - if (yychar == yyeof_) - YYABORT; - } - else - { - yydestruct_ ("Error: discarding", yytoken, &yylval, &yylloc); - yychar = yyempty_; - } - } - - /* Else will try to reuse look-ahead token after shifting the error - token. */ - goto yyerrlab1; - - - /*---------------------------------------------------. - | yyerrorlab -- error raised explicitly by YYERROR. | - `---------------------------------------------------*/ - yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (false) - goto yyerrorlab; - - yyerror_range[0] = yylocation_stack_[yylen - 1]; - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - yypop_ (yylen); - yylen = 0; - yystate = yystate_stack_[0]; - goto yyerrlab1; - - /*-------------------------------------------------------------. - | yyerrlab1 -- common code for both syntax error and YYERROR. | - `-------------------------------------------------------------*/ - yyerrlab1: - yyerrstatus_ = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact_[yystate]; - if (yyn != yypact_ninf_) - { - yyn += yyterror_; - if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_) - { - yyn = yytable_[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yystate_stack_.height () == 1) - YYABORT; - - yyerror_range[0] = yylocation_stack_[0]; - yydestruct_ ("Error: popping", - yystos_[yystate], - &yysemantic_stack_[0], &yylocation_stack_[0]); - yypop_ (); - yystate = yystate_stack_[0]; - YY_STACK_PRINT (); - } - - if (yyn == yyfinal_) - goto yyacceptlab; - - yyerror_range[1] = yylloc; - // Using YYLLOC is tempting, but would change the location of - // the look-ahead. YYLOC is available though. - YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yyloc); - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos_[yyn], - &yysemantic_stack_[0], &yylocation_stack_[0]); - - yystate = yyn; - goto yynewstate; - - /* Accept. */ - yyacceptlab: - yyresult = 0; - goto yyreturn; - - /* Abort. */ - yyabortlab: - yyresult = 1; - goto yyreturn; - - yyreturn: - if (yychar != yyeof_ && yychar != yyempty_) - yydestruct_ ("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc); - - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - yypop_ (yylen); - while (yystate_stack_.height () != 1) - { - yydestruct_ ("Cleanup: popping", - yystos_[yystate_stack_[0]], - &yysemantic_stack_[0], - &yylocation_stack_[0]); - yypop_ (); - } - - return yyresult; - } - - // Generate an error message. - std::string - json_parser::yysyntax_error_ (int yystate, int tok) - { - std::string res; - YYUSE (yystate); -#if YYERROR_VERBOSE - int yyn = yypact_[yystate]; - if (yypact_ninf_ < yyn && yyn <= yylast_) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = yylast_ - yyn + 1; - int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_; - int count = 0; - for (int x = yyxbegin; x < yyxend; ++x) - if (yycheck_[x + yyn] == x && x != yyterror_) - ++count; - - // FIXME: This method of building the message is not compatible - // with internationalization. It should work like yacc.c does it. - // That is, first build a string that looks like this: - // "syntax error, unexpected %s or %s or %s" - // Then, invoke YY_ on this string. - // Finally, use the string as a format to output - // yytname_[tok], etc. - // Until this gets fixed, this message appears in English only. - res = "syntax error, unexpected "; - res += yytnamerr_ (yytname_[tok]); - if (count < 5) - { - count = 0; - for (int x = yyxbegin; x < yyxend; ++x) - if (yycheck_[x + yyn] == x && x != yyterror_) - { - res += (!count++) ? ", expecting " : " or "; - res += yytnamerr_ (yytname_[x]); - } - } - } - else -#endif - res = YY_("syntax error"); - return res; - } - - - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ - const signed char json_parser::yypact_ninf_ = -21; - const signed char - json_parser::yypact_[] = - { - 3, -21, -21, -6, 31, -10, 0, -21, -21, -21, - 6, -21, -21, 25, -21, -21, -21, -21, -21, -21, - -5, -21, 22, 19, 21, 23, 24, 0, -21, 0, - -21, -21, 13, -21, 0, 0, 29, -21, -21, -6, - -21, 31, -21, 31, -21, -21, -21, -21, -21, -21, - -21, 19, -21, 24, -21, -21 - }; - - /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE - doesn't specify something else to do. Zero means the default is an - error. */ - const unsigned char - json_parser::yydefact_[] = - { - 0, 5, 4, 7, 13, 0, 34, 21, 22, 23, - 39, 25, 26, 0, 2, 19, 20, 3, 18, 27, - 28, 17, 0, 9, 0, 0, 15, 34, 24, 34, - 32, 40, 0, 1, 34, 34, 29, 30, 6, 0, - 8, 0, 12, 0, 14, 33, 35, 38, 36, 37, - 31, 9, 11, 15, 10, 16 - }; - - /* YYPGOTO[NTERM-NUM]. */ - const signed char - json_parser::yypgoto_[] = - { - -21, -21, -21, -21, -21, -20, 4, -21, -21, -18, - -4, -21, -21, -21, -14, -21, -3, -1, -21 - }; - - /* YYDEFGOTO[NTERM-NUM]. */ - const signed char - json_parser::yydefgoto_[] = - { - -1, 13, 14, 15, 22, 40, 23, 16, 25, 44, - 17, 18, 19, 20, 30, 36, 37, 21, 32 - }; - - /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. */ - const signed char json_parser::yytable_ninf_ = -1; - const unsigned char - json_parser::yytable_[] = - { - 26, 27, 24, 1, 2, 34, 3, 35, 4, 28, - 10, 29, 5, 45, 6, 46, 7, 8, 9, 10, - 48, 49, 11, 12, 31, 33, 38, 39, 41, 42, - 47, 54, 43, 50, 3, 55, 4, 52, 24, 53, - 5, 35, 6, 51, 7, 8, 9, 10, 0, 0, - 11, 12 - }; - - /* YYCHECK. */ - const signed char - json_parser::yycheck_[] = - { - 4, 11, 3, 0, 1, 10, 3, 12, 5, 19, - 16, 11, 9, 27, 11, 29, 13, 14, 15, 16, - 34, 35, 19, 20, 18, 0, 4, 8, 7, 6, - 17, 51, 8, 36, 3, 53, 5, 41, 39, 43, - 9, 12, 11, 39, 13, 14, 15, 16, -1, -1, - 19, 20 - }; - - /* STOS_[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ - const unsigned char - json_parser::yystos_[] = - { - 0, 0, 1, 3, 5, 9, 11, 13, 14, 15, - 16, 19, 20, 22, 23, 24, 28, 31, 32, 33, - 34, 38, 25, 27, 38, 29, 31, 11, 19, 11, - 35, 18, 39, 0, 10, 12, 36, 37, 4, 8, - 26, 7, 6, 8, 30, 35, 35, 17, 35, 35, - 37, 27, 31, 31, 26, 30 - }; - -#if YYDEBUG - /* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding - to YYLEX-NUM. */ - const unsigned short int - json_parser::yytoken_number_[] = - { - 0, 256, 257, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18 - }; -#endif - - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ - const unsigned char - json_parser::yyr1_[] = - { - 0, 21, 22, 23, 23, 23, 24, 25, 25, 26, - 26, 27, 28, 29, 29, 30, 30, 31, 31, 31, - 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, - 33, 33, 34, 34, 35, 35, 36, 37, 38, 39, - 39 - }; - - /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ - const unsigned char - json_parser::yyr2_[] = - { - 0, 2, 1, 1, 1, 1, 3, 0, 2, 0, - 3, 3, 3, 0, 2, 0, 3, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, - 2, 3, 2, 3, 0, 2, 2, 2, 3, 0, - 1 - }; - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at \a yyntokens_, nonterminals. */ - const char* - const json_parser::yytname_[] = - { - "\"end of file\"", "error", "$undefined", "\"{\"", "\"}\"", "\"[\"", - "\"]\"", "\":\"", "\",\"", "\"-\"", "\".\"", "\"digit\"", - "\"exponential\"", "\"true\"", "\"false\"", "\"null\"", - "\"open quotation mark\"", "\"close quotation mark\"", "\"string\"", - "\"Infinity\"", "\"NaN\"", "$accept", "start", "data", "object", - "members", "r_members", "pair", "array", "values", "r_values", "value", - "special_or_number", "number", "int", "digits", "fract", "exp", "string", - "string_arg", 0 - }; -#endif - -#if YYDEBUG - /* YYRHS -- A `-1'-separated list of the rules' RHS. */ - const json_parser::rhs_number_type - json_parser::yyrhs_[] = - { - 22, 0, -1, 23, -1, 31, -1, 1, -1, 0, - -1, 3, 25, 4, -1, -1, 27, 26, -1, -1, - 8, 27, 26, -1, 38, 7, 31, -1, 5, 29, - 6, -1, -1, 31, 30, -1, -1, 8, 31, 30, - -1, 38, -1, 32, -1, 24, -1, 28, -1, 13, - -1, 14, -1, 15, -1, 9, 19, -1, 19, -1, - 20, -1, 33, -1, 34, -1, 34, 36, -1, 34, - 37, -1, 34, 36, 37, -1, 11, 35, -1, 9, - 11, 35, -1, -1, 11, 35, -1, 10, 35, -1, - 12, 35, -1, 16, 39, 17, -1, -1, 18, -1 - }; - - /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ - const unsigned char - json_parser::yyprhs_[] = - { - 0, 0, 3, 5, 7, 9, 11, 15, 16, 19, - 20, 24, 28, 32, 33, 36, 37, 41, 43, 45, - 47, 49, 51, 53, 55, 58, 60, 62, 64, 66, - 69, 72, 76, 79, 83, 84, 87, 90, 93, 97, - 98 - }; - - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ - const unsigned char - json_parser::yyrline_[] = - { - 0, 84, 84, 89, 90, 96, 98, 100, 101, 107, - 108, 114, 120, 122, 123, 130, 131, 138, 139, 140, - 141, 142, 143, 144, 149, 150, 151, 152, 154, 164, - 169, 170, 175, 176, 178, 179, 183, 187, 189, 191, - 192 - }; - - // Print the state stack on the debug stream. - void - json_parser::yystack_print_ () - { - *yycdebug_ << "Stack now"; - for (state_stack_type::const_iterator i = yystate_stack_.begin (); - i != yystate_stack_.end (); ++i) - *yycdebug_ << ' ' << *i; - *yycdebug_ << std::endl; - } - - // Report on the debug stream that the rule \a yyrule is going to be reduced. - void - json_parser::yy_reduce_print_ (int yyrule) - { - unsigned int yylno = yyrline_[yyrule]; - int yynrhs = yyr2_[yyrule]; - /* Print the symbols being reduced, and their result. */ - *yycdebug_ << "Reducing stack by rule " << yyrule - 1 - << " (line " << yylno << "), "; - /* The symbols being reduced. */ - for (int yyi = 0; yyi < yynrhs; yyi++) - YY_SYMBOL_PRINT (" $" << yyi + 1 << " =", - yyrhs_[yyprhs_[yyrule] + yyi], - &(yysemantic_stack_[(yynrhs) - (yyi + 1)]), - &(yylocation_stack_[(yynrhs) - (yyi + 1)])); - } -#endif // YYDEBUG - - /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ - json_parser::token_number_type - json_parser::yytranslate_ (int t) - { - static - const token_number_type - translate_table[] = - { - 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2 - }; - if ((unsigned int) t <= yyuser_token_number_max_) - return translate_table[t]; - else - return yyundef_token_; - } - - const int json_parser::yyeof_ = 0; - const int json_parser::yylast_ = 51; - const int json_parser::yynnts_ = 19; - const int json_parser::yyempty_ = -2; - const int json_parser::yyfinal_ = 33; - const int json_parser::yyterror_ = 1; - const int json_parser::yyerrcode_ = 256; - const int json_parser::yyntokens_ = 21; - - const unsigned int json_parser::yyuser_token_number_max_ = 257; - const json_parser::token_number_type json_parser::yyundef_token_ = 2; - -} // namespace yy - -#line 196 "json_parser.yy" - - -int yy::yylex(YYSTYPE *yylval, yy::location *yylloc, QJson::ParserPrivate* driver) -{ - JSonScanner* scanner = driver->m_scanner; - yylval->clear(); - int ret = scanner->yylex(yylval, yylloc); - - qjsonDebug() << "json_parser::yylex - calling scanner yylval==|" - << yylval->toByteArray() << "|, ret==|" << QString::number(ret) << "|"; - - return ret; -} - -void yy::json_parser::error (const yy::location& yyloc, - const std::string& error) -{ - /*qjsonDebug() << yyloc.begin.line; - qjsonDebug() << yyloc.begin.column; - qjsonDebug() << yyloc.end.line; - qjsonDebug() << yyloc.end.column;*/ - qjsonDebug() << "json_parser::error [line" << yyloc.end.line << "] -" << error.c_str() ; - driver->setError(QString::fromLatin1(error.c_str()), yyloc.end.line); -} - diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.hh b/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.hh deleted file mode 100644 index e61ca7c64..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.hh +++ /dev/null @@ -1,325 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton interface for Bison LALR(1) parsers in C++ - - Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C++ LALR(1) parser skeleton written by Akim Demaille. */ - -#ifndef PARSER_HEADER_H -# define PARSER_HEADER_H - -#include -#include -#include "stack.hh" - -namespace yy -{ - class position; - class location; -} - -/* First part of user declarations. */ -#line 25 "json_parser.yy" - - #include "parser_p.h" - #include "json_scanner.h" - #include "qjson_debug.h" - - #include - #include - #include - #include - - #include - - class JSonScanner; - - namespace QJson { - class Parser; - } - - #define YYERROR_VERBOSE 1 - - -/* Line 35 of lalr1.cc. */ -#line 75 "json_parser.hh" - -#include "location.hh" - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 1 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ -do { \ - if (N) \ - { \ - (Current).begin = (Rhs)[1].begin; \ - (Current).end = (Rhs)[N].end; \ - } \ - else \ - { \ - (Current).begin = (Current).end = (Rhs)[0].end; \ - } \ -} while (false) -#endif - -namespace yy -{ - - /// A Bison parser. - class json_parser - { - public: - /// Symbol semantic values. -#ifndef YYSTYPE - typedef int semantic_type; -#else - typedef YYSTYPE semantic_type; -#endif - /// Symbol locations. - typedef location location_type; - /// Tokens. - struct token - { - /* Tokens. */ - enum yytokentype { - END = 0, - CURLY_BRACKET_OPEN = 1, - CURLY_BRACKET_CLOSE = 2, - SQUARE_BRACKET_OPEN = 3, - SQUARE_BRACKET_CLOSE = 4, - COLON = 5, - COMMA = 6, - MINUS = 7, - DOT = 8, - DIGIT = 9, - E = 10, - TRUE_VAL = 11, - FALSE_VAL = 12, - NULL_VAL = 13, - QUOTMARKOPEN = 14, - QUOTMARKCLOSE = 15, - STRING = 16, - INFINITY_VAL = 17, - NAN_VAL = 18 - }; - - }; - /// Token type. - typedef token::yytokentype token_type; - - /// Build a parser object. - json_parser (QJson::ParserPrivate* driver_yyarg); - virtual ~json_parser (); - - /// Parse. - /// \returns 0 iff parsing succeeded. - virtual int parse (); - - /// The current debugging stream. - std::ostream& debug_stream () const; - /// Set the current debugging stream. - void set_debug_stream (std::ostream &); - - /// Type for debugging levels. - typedef int debug_level_type; - /// The current debugging level. - debug_level_type debug_level () const; - /// Set the current debugging level. - void set_debug_level (debug_level_type l); - - private: - /// Report a syntax error. - /// \param loc where the syntax error is found. - /// \param msg a description of the syntax error. - virtual void error (const location_type& loc, const std::string& msg); - - /// Generate an error message. - /// \param state the state where the error occurred. - /// \param tok the look-ahead token. - virtual std::string yysyntax_error_ (int yystate, int tok); - -#if YYDEBUG - /// \brief Report a symbol value on the debug stream. - /// \param yytype The token type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - virtual void yy_symbol_value_print_ (int yytype, - const semantic_type* yyvaluep, - const location_type* yylocationp); - /// \brief Report a symbol on the debug stream. - /// \param yytype The token type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - virtual void yy_symbol_print_ (int yytype, - const semantic_type* yyvaluep, - const location_type* yylocationp); -#endif /* ! YYDEBUG */ - - - /// State numbers. - typedef int state_type; - /// State stack type. - typedef stack state_stack_type; - /// Semantic value stack type. - typedef stack semantic_stack_type; - /// location stack type. - typedef stack location_stack_type; - - /// The state stack. - state_stack_type yystate_stack_; - /// The semantic value stack. - semantic_stack_type yysemantic_stack_; - /// The location stack. - location_stack_type yylocation_stack_; - - /// Internal symbol numbers. - typedef unsigned char token_number_type; - /* Tables. */ - /// For a state, the index in \a yytable_ of its portion. - static const signed char yypact_[]; - static const signed char yypact_ninf_; - - /// For a state, default rule to reduce. - /// Unless\a yytable_ specifies something else to do. - /// Zero means the default is an error. - static const unsigned char yydefact_[]; - - static const signed char yypgoto_[]; - static const signed char yydefgoto_[]; - - /// What to do in a state. - /// \a yytable_[yypact_[s]]: what to do in state \a s. - /// - if positive, shift that token. - /// - if negative, reduce the rule which number is the opposite. - /// - if zero, do what YYDEFACT says. - static const unsigned char yytable_[]; - static const signed char yytable_ninf_; - - static const signed char yycheck_[]; - - /// For a state, its accessing symbol. - static const unsigned char yystos_[]; - - /// For a rule, its LHS. - static const unsigned char yyr1_[]; - /// For a rule, its RHS length. - static const unsigned char yyr2_[]; - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /// For a symbol, its name in clear. - static const char* const yytname_[]; -#endif - -#if YYERROR_VERBOSE - /// Convert the symbol name \a n to a form suitable for a diagnostic. - virtual std::string yytnamerr_ (const char *n); -#endif - -#if YYDEBUG - /// A type to store symbol numbers and -1. - typedef signed char rhs_number_type; - /// A `-1'-separated list of the rules' RHS. - static const rhs_number_type yyrhs_[]; - /// For each rule, the index of the first RHS symbol in \a yyrhs_. - static const unsigned char yyprhs_[]; - /// For each rule, its source line number. - static const unsigned char yyrline_[]; - /// For each scanner token number, its symbol number. - static const unsigned short int yytoken_number_[]; - /// Report on the debug stream that the rule \a r is going to be reduced. - virtual void yy_reduce_print_ (int r); - /// Print the state stack on the debug stream. - virtual void yystack_print_ (); -#endif - - /// Convert a scanner token number \a t to a symbol number. - token_number_type yytranslate_ (int t); - - /// \brief Reclaim the memory associated to a symbol. - /// \param yymsg Why this token is reclaimed. - /// \param yytype The symbol type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - inline void yydestruct_ (const char* yymsg, - int yytype, - semantic_type* yyvaluep, - location_type* yylocationp); - - /// Pop \a n symbols the three stacks. - inline void yypop_ (unsigned int n = 1); - - /* Constants. */ - static const int yyeof_; - /* LAST_ -- Last index in TABLE_. */ - static const int yylast_; - static const int yynnts_; - static const int yyempty_; - static const int yyfinal_; - static const int yyterror_; - static const int yyerrcode_; - static const int yyntokens_; - static const unsigned int yyuser_token_number_max_; - static const token_number_type yyundef_token_; - - /* Debugging. */ - int yydebug_; - std::ostream* yycdebug_; - - - /* User arguments. */ - QJson::ParserPrivate* driver; - }; -} - - -#endif /* ! defined PARSER_HEADER_H */ diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.yy b/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.yy deleted file mode 100644 index 76c698a56..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/json_parser.yy +++ /dev/null @@ -1,219 +0,0 @@ -/* This file is part of QJSon - * - * Copyright (C) 2008 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -%skeleton "lalr1.cc" -%defines -%define "parser_class_name" "json_parser" - -%{ - #include "parser_p.h" - #include "json_scanner.h" - #include "qjson_debug.h" - - #include - #include - #include - #include - - #include - - class JSonScanner; - - namespace QJson { - class Parser; - } - - #define YYERROR_VERBOSE 1 -%} - -%parse-param { QJson::ParserPrivate* driver } -%lex-param { QJson::ParserPrivate* driver } - -%locations - -%debug -%error-verbose - -%token END 0 "end of file" - -%token CURLY_BRACKET_OPEN 1 "{" -%token CURLY_BRACKET_CLOSE 2 "}" -%token SQUARE_BRACKET_OPEN 3 "[" -%token SQUARE_BRACKET_CLOSE 4 "]" - -%token COLON 5 ":" -%token COMMA 6 "," -%token MINUS 7 "-" -%token DOT 8 "." -%token DIGIT 9 "digit" -%token E 10 "exponential" -%token TRUE_VAL 11 "true" -%token FALSE_VAL 12 "false" -%token NULL_VAL 13 "null" -%token QUOTMARKOPEN 14 "open quotation mark" -%token QUOTMARKCLOSE 15 "close quotation mark" - -%token STRING 16 "string" -%token INFINITY_VAL 17 "Infinity" -%token NAN_VAL 18 "NaN" - -// define the initial token -%start start - -%% - -// grammar rules - -start: data { - driver->m_result = $1; - qjsonDebug() << "json_parser - parsing finished"; - }; - -data: value { $$ = $1; } - | error - { - qCritical()<< "json_parser - syntax error found, " - << "forcing abort, Line" << @$.begin.line << "Column" << @$.begin.column; - YYABORT; - } - | END; - -object: CURLY_BRACKET_OPEN members CURLY_BRACKET_CLOSE { $$ = $2; }; - -members: /* empty */ { $$ = QVariant (QVariantMap()); } - | pair r_members { - QVariantMap members = $2.toMap(); - $2 = QVariant(); // Allow reuse of map - $$ = QVariant(members.unite ($1.toMap())); - }; - -r_members: /* empty */ { $$ = QVariant (QVariantMap()); } - | COMMA pair r_members { - QVariantMap members = $3.toMap(); - $3 = QVariant(); // Allow reuse of map - $$ = QVariant(members.unite ($2.toMap())); - }; - -pair: string COLON value { - QVariantMap pair; - pair.insert ($1.toString(), QVariant($3)); - $$ = QVariant (pair); - }; - -array: SQUARE_BRACKET_OPEN values SQUARE_BRACKET_CLOSE { $$ = $2; }; - -values: /* empty */ { $$ = QVariant (QVariantList()); } - | value r_values { - QVariantList members = $2.toList(); - $2 = QVariant(); // Allow reuse of list - members.prepend ($1); - $$ = QVariant(members); - }; - -r_values: /* empty */ { $$ = QVariant (QVariantList()); } - | COMMA value r_values { - QVariantList members = $3.toList(); - $3 = QVariant(); // Allow reuse of list - members.prepend ($2); - $$ = QVariant(members); - }; - -value: string { $$ = $1; } - | special_or_number { $$ = $1; } - | object { $$ = $1; } - | array { $$ = $1; } - | TRUE_VAL { $$ = QVariant (true); } - | FALSE_VAL { $$ = QVariant (false); } - | NULL_VAL { - QVariant null_variant; - $$ = null_variant; - }; - -special_or_number: MINUS INFINITY_VAL { $$ = QVariant(QVariant::Double); $$.setValue( -std::numeric_limits::infinity() ); } - | INFINITY_VAL { $$ = QVariant(QVariant::Double); $$.setValue( std::numeric_limits::infinity() ); } - | NAN_VAL { $$ = QVariant(QVariant::Double); $$.setValue( std::numeric_limits::quiet_NaN() ); } - | number; - -number: int { - if ($1.toByteArray().startsWith('-')) { - $$ = QVariant (QVariant::LongLong); - $$.setValue($1.toLongLong()); - } - else { - $$ = QVariant (QVariant::ULongLong); - $$.setValue($1.toULongLong()); - } - } - | int fract { - const QByteArray value = $1.toByteArray() + $2.toByteArray(); - $$ = QVariant(QVariant::Double); - $$.setValue(value.toDouble()); - } - | int exp { $$ = QVariant ($1.toByteArray() + $2.toByteArray()); } - | int fract exp { - const QByteArray value = $1.toByteArray() + $2.toByteArray() + $3.toByteArray(); - $$ = QVariant (value); - }; - -int: DIGIT digits { $$ = QVariant ($1.toByteArray() + $2.toByteArray()); } - | MINUS DIGIT digits { $$ = QVariant (QByteArray("-") + $2.toByteArray() + $3.toByteArray()); }; - -digits: /* empty */ { $$ = QVariant (QByteArray("")); } - | DIGIT digits { - $$ = QVariant($1.toByteArray() + $2.toByteArray()); - }; - -fract: DOT digits { - $$ = QVariant(QByteArray(".") + $2.toByteArray()); - }; - -exp: E digits { $$ = QVariant($1.toByteArray() + $2.toByteArray()); }; - -string: QUOTMARKOPEN string_arg QUOTMARKCLOSE { $$ = $2; }; - -string_arg: /*empty */ { $$ = QVariant (QString(QLatin1String(""))); } - | STRING { - $$ = $1; - }; - -%% - -int yy::yylex(YYSTYPE *yylval, yy::location *yylloc, QJson::ParserPrivate* driver) -{ - JSonScanner* scanner = driver->m_scanner; - yylval->clear(); - int ret = scanner->yylex(yylval, yylloc); - - qjsonDebug() << "json_parser::yylex - calling scanner yylval==|" - << yylval->toByteArray() << "|, ret==|" << QString::number(ret) << "|"; - - return ret; -} - -void yy::json_parser::error (const yy::location& yyloc, - const std::string& error) -{ - /*qjsonDebug() << yyloc.begin.line; - qjsonDebug() << yyloc.begin.column; - qjsonDebug() << yyloc.end.line; - qjsonDebug() << yyloc.end.column;*/ - qjsonDebug() << "json_parser::error [line" << yyloc.end.line << "] -" << error.c_str() ; - driver->setError(QString::fromLatin1(error.c_str()), yyloc.end.line); -} diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/json_scanner.cpp b/thirdparty/qtweetlib/qtweetlib/qjson/json_scanner.cpp deleted file mode 100644 index 3a829d0a6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/json_scanner.cpp +++ /dev/null @@ -1,377 +0,0 @@ -/* This file is part of QJson - * - * Copyright (C) 2008 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "qjson_debug.h" -#include "json_scanner.h" -#include "json_parser.hh" - -#include - -#include -#include - -#include - -bool ishexnstring(const QString& string) { - for (int i = 0; i < string.length(); i++) { - if (isxdigit(string[i] == 0)) - return false; - } - return true; -} - -JSonScanner::JSonScanner(QIODevice* io) - : m_allowSpecialNumbers(false), - m_io (io) -{ - m_quotmarkClosed = true; - m_quotmarkCount = 0; -} - -void JSonScanner::allowSpecialNumbers(bool allow) { - m_allowSpecialNumbers = allow; -} - -static QString unescape( const QByteArray& ba, bool* ok ) { - assert( ok ); - *ok = false; - QString res; - QByteArray seg; - bool bs = false; - for ( int i = 0, size = ba.size(); i < size; ++i ) { - const char ch = ba[i]; - if ( !bs ) { - if ( ch == '\\' ) - bs = true; - else - seg += ch; - } else { - bs = false; - switch ( ch ) { - case 'b': - seg += '\b'; - break; - case 'f': - seg += '\f'; - break; - case 'n': - seg += '\n'; - break; - case 'r': - seg += '\r'; - break; - case 't': - seg += '\t'; - break; - case 'u': - { - res += QString::fromUtf8( seg ); - seg.clear(); - - if ( i > size - 5 ) { - //error - return QString(); - } - - const QString hex_digit1 = QString::fromUtf8( ba.mid( i + 1, 2 ) ); - const QString hex_digit2 = QString::fromUtf8( ba.mid( i + 3, 2 ) ); - i += 4; - - if ( !ishexnstring( hex_digit1 ) || !ishexnstring( hex_digit2 ) ) { - qCritical() << "Not an hex string:" << hex_digit1 << hex_digit2; - return QString(); - } - bool hexOk; - const ushort hex_code1 = hex_digit1.toShort( &hexOk, 16 ); - if (!hexOk) { - qCritical() << "error converting hex value to short:" << hex_digit1; - return QString(); - } - const ushort hex_code2 = hex_digit2.toShort( &hexOk, 16 ); - if (!hexOk) { - qCritical() << "error converting hex value to short:" << hex_digit2; - return QString(); - } - - res += QChar(hex_code2, hex_code1); - break; - } - case '\\': - seg += '\\'; - break; - default: - seg += ch; - break; - } - } - } - res += QString::fromUtf8( seg ); - *ok = true; - return res; -} - -int JSonScanner::yylex(YYSTYPE* yylval, yy::location *yylloc) -{ - char ch; - - if (!m_io->isOpen()) { - qCritical() << "JSonScanner::yylex - io device is not open"; - return -1; - } - - yylloc->step(); - - do { - bool ret; - if (m_io->atEnd()) { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::END"; - return yy::json_parser::token::END; - } - else - ret = m_io->getChar(&ch); - - if (!ret) { - qCritical() << "JSonScanner::yylex - error reading from io device"; - return -1; - } - - qjsonDebug() << "JSonScanner::yylex - got |" << ch << "|"; - yylloc->columns(); - - if (ch == '\n' || ch == '\r') - yylloc->lines(); - } while (m_quotmarkClosed && (isspace(ch) != 0)); - - if (m_quotmarkClosed && ((ch == 't') || (ch == 'T'))) { - const QByteArray buf = m_io->peek(3).toLower(); - if (buf == "rue") { - m_io->read (3); - yylloc->columns(3); - qjsonDebug() << "JSonScanner::yylex - TRUE_VAL"; - return yy::json_parser::token::TRUE_VAL; - } - } - else if (m_quotmarkClosed && ((ch == 'n') || (ch == 'N'))) { - const QByteArray buf = m_io->peek(3).toLower(); - if (buf == "ull") { - m_io->read (3); - yylloc->columns(3); - qjsonDebug() << "JSonScanner::yylex - NULL_VAL"; - return yy::json_parser::token::NULL_VAL; - } else if (buf.startsWith("an") && m_allowSpecialNumbers) { - m_io->read(2); - yylloc->columns(2); - qjsonDebug() << "JSonScanner::yylex - NAN_VAL"; - return yy::json_parser::token::NAN_VAL; - - } - } - else if (m_quotmarkClosed && ((ch == 'f') || (ch == 'F'))) { - // check false value - const QByteArray buf = m_io->peek(4).toLower(); - if (buf.length() == 4) { - if (buf == "alse") { - m_io->read (4); - yylloc->columns(4); - qjsonDebug() << "JSonScanner::yylex - FALSE_VAL"; - return yy::json_parser::token::FALSE_VAL; - } - } - } - else if (m_quotmarkClosed && ((ch == 'e') || (ch == 'E'))) { - QByteArray ret(1, ch); - const QByteArray buf = m_io->peek(1); - if (!buf.isEmpty()) { - if ((buf[0] == '+' ) || (buf[0] == '-' )) { - ret += m_io->read (1); - yylloc->columns(); - } - } - *yylval = QVariant(QString::fromUtf8(ret)); - return yy::json_parser::token::E; - } - else if (m_allowSpecialNumbers && m_quotmarkClosed && ((ch == 'I') || (ch == 'i'))) { - QByteArray ret(1, ch); - const QByteArray buf = m_io->peek(7); - if (buf == "nfinity") { - m_io->read(7); - yylloc->columns(7); - qjsonDebug() << "JSonScanner::yylex - INFINITY_VAL"; - return yy::json_parser::token::INFINITY_VAL; - } - } - - if (ch != '"' && !m_quotmarkClosed) { - // we're inside a " " block - QByteArray raw; - raw += ch; - char prevCh = ch; - bool escape_on = (ch == '\\') ? true : false; - - while ( true ) { - char nextCh; - qint64 ret = m_io->peek(&nextCh, 1); - if (ret != 1) { - if (m_io->atEnd()) - return yy::json_parser::token::END; - else - return -1; - } else if ( !escape_on && nextCh == '\"' ) { - bool ok; - const QString str = unescape( raw, &ok ); - *yylval = ok ? str : QString(); - return ok ? yy::json_parser::token::STRING : -1; - } -#if 0 - if ( prevCh == '\\' && nextCh != '"' && nextCh != '\\' && nextCh != '/' && - nextCh != 'b' && nextCh != 'f' && nextCh != 'n' && - nextCh != 'r' && nextCh != 't' && nextCh != 'u') { - qjsonDebug() << "Just read" << nextCh; - qjsonDebug() << "JSonScanner::yylex - error decoding escaped sequence"; - return -1; - } -#endif - m_io->read(1); // consume - raw += nextCh; - prevCh = nextCh; - if (escape_on) - escape_on = false; - else - escape_on = (prevCh == '\\') ? true : false; -#if 0 - if (nextCh == '\\') { - char buf; - if (m_io->getChar (&buf)) { - yylloc->columns(); - if (((buf != '"') && (buf != '\\') && (buf != '/') && - (buf != 'b') && (buf != 'f') && (buf != 'n') && - (buf != 'r') && (buf != 't') && (buf != 'u'))) { - qjsonDebug() << "Just read" << buf; - qjsonDebug() << "JSonScanner::yylex - error decoding escaped sequence"; - return -1; - } - } else { - qCritical() << "JSonScanner::yylex - error decoding escaped sequence : io error"; - return -1; - } - } -#endif - } - } - else if (isdigit(ch) != 0 && m_quotmarkClosed) { - bool ok; - QByteArray numArray = QByteArray::fromRawData( &ch, 1 * sizeof(char) ); - qulonglong number = numArray.toULongLong(&ok); - if (!ok) { - //This shouldn't happen - qCritical() << "JSonScanner::yylex - error while converting char to ulonglong, returning -1"; - return -1; - } - if (number == 0) { - // we have to return immediately otherwise numbers like - // 2.04 will be converted to 2.4 - *yylval = QVariant(number); - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::DIGIT"; - return yy::json_parser::token::DIGIT; - } - - char nextCh; - qint64 ret = m_io->peek(&nextCh, 1); - while (ret == 1 && isdigit(nextCh)) { - m_io->read(1); //consume - yylloc->columns(1); - numArray = QByteArray::fromRawData( &nextCh, 1 * sizeof(char) ); - number = number * 10 + numArray.toULongLong(&ok); - if (!ok) { - //This shouldn't happen - qCritical() << "JSonScanner::yylex - error while converting char to ulonglong, returning -1"; - return -1; - } - ret = m_io->peek(&nextCh, 1); - } - - *yylval = QVariant(number); - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::DIGIT"; - return yy::json_parser::token::DIGIT; - } - else if (isalnum(ch) != 0) { - *yylval = QVariant(QString(QChar::fromLatin1(ch))); - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::WORD (" - << ch << ")"; - return yy::json_parser::token::STRING; - } - else if (ch == ':') { - // set yylval - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::COLON"; - return yy::json_parser::token::COLON; - } - else if (ch == '"') { - // yy::json_parser::token::QUOTMARK (") - - // set yylval - m_quotmarkCount++; - if (m_quotmarkCount %2 == 0) { - m_quotmarkClosed = true; - m_quotmarkCount = 0; - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::QUOTMARKCLOSE"; - return yy::json_parser::token::QUOTMARKCLOSE; - } - else { - m_quotmarkClosed = false; - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::QUOTMARKOPEN"; - return yy::json_parser::token::QUOTMARKOPEN; - } - } - else if (ch == ',') { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::COMMA"; - return yy::json_parser::token::COMMA; - } - else if (ch == '.') { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::DOT"; - return yy::json_parser::token::DOT; - } - else if (ch == '-') { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::MINUS"; - return yy::json_parser::token::MINUS; - } - else if (ch == '[') { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::SQUARE_BRACKET_OPEN"; - return yy::json_parser::token::SQUARE_BRACKET_OPEN; - } - else if (ch == ']') { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::SQUARE_BRACKET_CLOSE"; - return yy::json_parser::token::SQUARE_BRACKET_CLOSE; - } - else if (ch == '{') { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::CURLY_BRACKET_OPEN"; - return yy::json_parser::token::CURLY_BRACKET_OPEN; - } - else if (ch == '}') { - qjsonDebug() << "JSonScanner::yylex - yy::json_parser::token::CURLY_BRACKET_CLOSE"; - return yy::json_parser::token::CURLY_BRACKET_CLOSE; - } - - //unknown char! - //TODO yyerror? - qCritical() << "JSonScanner::yylex - unknown char, returning -1"; - return -1; -} - - diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/json_scanner.h b/thirdparty/qtweetlib/qtweetlib/qjson/json_scanner.h deleted file mode 100644 index b4e4392d0..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/json_scanner.h +++ /dev/null @@ -1,54 +0,0 @@ -/* This file is part of QJson - * - * Copyright (C) 2008 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef _JSON_SCANNER -#define _JSON_SCANNER - -#include -#include - -#include -#include - -#define YYSTYPE QVariant - -#include "parser_p.h" - -namespace yy { - class location; - int yylex(YYSTYPE *yylval, yy::location *yylloc, QJson::ParserPrivate* driver); -} - -class JSonScanner -{ - public: - explicit JSonScanner(QIODevice* io); - int yylex(YYSTYPE* yylval, yy::location *yylloc); - void allowSpecialNumbers(bool allow); - - protected: - bool m_quotmarkClosed; - bool m_allowSpecialNumbers; - unsigned int m_quotmarkCount; - QIODevice* m_io; -}; - -#endif - diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/location.hh b/thirdparty/qtweetlib/qtweetlib/qjson/location.hh deleted file mode 100644 index 485fd77cd..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/location.hh +++ /dev/null @@ -1,145 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Locations for Bison parsers in C++ - - Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/** - ** \file location.hh - ** Define the yy::location class. - */ - -#ifndef BISON_LOCATION_HH -# define BISON_LOCATION_HH - -# include -# include -# include "position.hh" - -namespace yy -{ - - /// Abstract a location. - class location - { - public: - - /// Construct a location. - location () - : begin (), end () - { - } - - - /// Initialization. - inline void initialize (std::string* fn) - { - begin.initialize (fn); - end = begin; - } - - /** \name Line and Column related manipulators - ** \{ */ - public: - /// Reset initial location to final location. - inline void step () - { - begin = end; - } - - /// Extend the current location to the COUNT next columns. - inline void columns (unsigned int count = 1) - { - end += count; - } - - /// Extend the current location to the COUNT next lines. - inline void lines (unsigned int count = 1) - { - end.lines (count); - } - /** \} */ - - - public: - /// Beginning of the located region. - position begin; - /// End of the located region. - position end; - }; - - /// Join two location objects to create a location. - inline const location operator+ (const location& begin, const location& end) - { - location res = begin; - res.end = end.end; - return res; - } - - /// Add two location objects. - inline const location operator+ (const location& begin, unsigned int width) - { - location res = begin; - res.columns (width); - return res; - } - - /// Add and assign a location. - inline location& operator+= (location& res, unsigned int width) - { - res.columns (width); - return res; - } - - /** \brief Intercept output stream redirection. - ** \param ostr the destination output stream - ** \param loc a reference to the location to redirect - ** - ** Avoid duplicate information. - */ - inline std::ostream& operator<< (std::ostream& ostr, const location& loc) - { - position last = loc.end - 1; - ostr << loc.begin; - if (last.filename - && (!loc.begin.filename - || *loc.begin.filename != *last.filename)) - ostr << '-' << last; - else if (loc.begin.line != last.line) - ostr << '-' << last.line << '.' << last.column; - else if (loc.begin.column != last.column) - ostr << '-' << last.column; - return ostr; - } - -} - -#endif // not BISON_LOCATION_HH diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/parser.cpp b/thirdparty/qtweetlib/qtweetlib/qjson/parser.cpp deleted file mode 100644 index 061e063e9..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/parser.cpp +++ /dev/null @@ -1,124 +0,0 @@ -/* This file is part of QJson - * - * Copyright (C) 2008 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "parser.h" -#include "parser_p.h" -#include "json_parser.hh" -#include "json_scanner.h" - -#include -#include -#include -#include - -using namespace QJson; - -ParserPrivate::ParserPrivate() : - m_scanner(0) - , m_negate(false) - , m_error(false) - , m_specialNumbersAllowed(false) -{ -} - -ParserPrivate::~ParserPrivate() -{ - delete m_scanner; -} - -void ParserPrivate::setError(QString errorMsg, int errorLine) { - m_error = true; - m_errorMsg = errorMsg; - m_errorLine = errorLine; -} - -Parser::Parser() : - d(new ParserPrivate) -{ -} - -Parser::~Parser() -{ - delete d; -} - -QVariant Parser::parse (QIODevice* io, bool* ok) -{ - d->m_errorMsg.clear(); - delete d->m_scanner; - d->m_scanner = 0; - - if (!io->isOpen()) { - if (!io->open(QIODevice::ReadOnly)) { - if (ok != 0) - *ok = false; - qCritical ("Error opening device"); - return QVariant(); - } - } - - if (!io->isReadable()) { - if (ok != 0) - *ok = false; - qCritical ("Device is not readable"); - io->close(); - return QVariant(); - } - - d->m_scanner = new JSonScanner (io); - d->m_scanner->allowSpecialNumbers(d->m_specialNumbersAllowed); - yy::json_parser parser(d); - parser.parse(); - - delete d->m_scanner; - d->m_scanner = 0; - - if (ok != 0) - *ok = !d->m_error; - - io->close(); - return d->m_result; -} - -QVariant Parser::parse(const QByteArray& jsonString, bool* ok) { - QBuffer buffer; - buffer.open(QBuffer::ReadWrite); - buffer.write(jsonString); - buffer.seek(0); - return parse (&buffer, ok); -} - -QString Parser::errorString() const -{ - return d->m_errorMsg; -} - -int Parser::errorLine() const -{ - return d->m_errorLine; -} - -void QJson::Parser::allowSpecialNumbers(bool allowSpecialNumbers) { - d->m_specialNumbersAllowed = allowSpecialNumbers; -} - -bool Parser::specialNumbersAllowed() const { - return d->m_specialNumbersAllowed; -} diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/parser.h b/thirdparty/qtweetlib/qtweetlib/qjson/parser.h deleted file mode 100644 index 0b02f5823..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/parser.h +++ /dev/null @@ -1,94 +0,0 @@ -/* This file is part of QJson - * - * Copyright (C) 2008 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef QJSON_PARSER_H -#define QJSON_PARSER_H - -#include "qjson_export.h" - -class QIODevice; -class QVariant; - -namespace QJson { - - class ParserPrivate; - - /** - * @brief Main class used to convert JSON data to QVariant objects - */ - class QJSON_EXPORT Parser - { - public: - Parser(); - ~Parser(); - - /** - * Read JSON string from the I/O Device and converts it to a QVariant object - * @param io Input output device - * @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true. - * @returns a QVariant object generated from the JSON string - */ - QVariant parse(QIODevice* io, bool* ok = 0); - - /** - * This is a method provided for convenience. - * @param jsonData data containing the JSON object representation - * @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true. - * @returns a QVariant object generated from the JSON string - * @sa errorString - * @sa errorLine - */ - QVariant parse(const QByteArray& jsonData, bool* ok = 0); - - /** - * This method returns the error message - * @returns a QString object containing the error message of the last parse operation - * @sa errorLine - */ - QString errorString() const; - - /** - * This method returns line number where the error occurred - * @returns the line number where the error occurred - * @sa errorString - */ - int errorLine() const; - - /** - * Sets whether special numbers (Infinity, -Infinity, NaN) are allowed as an extension to - * the standard - * @param allowSpecialNumbers new value of whether special numbers are allowed - * @sa specialNumbersAllowed - */ - void allowSpecialNumbers(bool allowSpecialNumbers); - - /** - * @returns whether special numbers (Infinity, -Infinity, NaN) are allowed - * @sa allowSpecialNumbers - */ - bool specialNumbersAllowed() const; - - private: - Q_DISABLE_COPY(Parser) - ParserPrivate* const d; - }; -} - -#endif // QJSON_PARSER_H diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/parser_p.h b/thirdparty/qtweetlib/qtweetlib/qjson/parser_p.h deleted file mode 100644 index 6ae7507f1..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/parser_p.h +++ /dev/null @@ -1,56 +0,0 @@ -/* This file is part of QJson - * - * Copyright (C) 2008 Flavio Castelli - * Copyright (C) 2009 Michael Leupold - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef QJSON_PARSER_P_H -#define QJSON_PARSER_P_H - -#include "parser.h" - -#include -#include - -class JSonScanner; - -namespace yy { - class json_parser; -} - -namespace QJson { - - class ParserPrivate - { - public: - ParserPrivate(); - ~ParserPrivate(); - - void setError(QString errorMsg, int line); - - JSonScanner* m_scanner; - bool m_negate; - bool m_error; - int m_errorLine; - QString m_errorMsg; - QVariant m_result; - bool m_specialNumbersAllowed; - }; -} - -#endif // QJSON_PARSER_H diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/parserrunnable.cpp b/thirdparty/qtweetlib/qtweetlib/qjson/parserrunnable.cpp deleted file mode 100644 index d09423e4c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/parserrunnable.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "parserrunnable.h" - -#include "parser.h" - -#include -#include - -using namespace QJson; - -class QJson::ParserRunnable::Private -{ - public: - QByteArray m_data; -}; - -ParserRunnable::ParserRunnable(QObject* parent) - : QObject(parent), - QRunnable(), - d(new Private) -{ - qRegisterMetaType("QVariant"); -} - -ParserRunnable::~ParserRunnable() -{ - delete d; -} - -void ParserRunnable::setData( const QByteArray& data ) { - d->m_data = data; -} - -void ParserRunnable::run() -{ - qDebug() << Q_FUNC_INFO; - - bool ok; - Parser parser; - QVariant result = parser.parse (d->m_data, &ok); - if (ok) { - qDebug() << "successfully converted json item to QVariant object"; - emit parsingFinished(result, true, QString()); - } else { - const QString errorText = tr("An error occured while parsing json: %1").arg(parser.errorString()); - qCritical() << errorText; - emit parsingFinished(QVariant(), false, errorText); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/parserrunnable.h b/thirdparty/qtweetlib/qtweetlib/qjson/parserrunnable.h deleted file mode 100644 index 822e1fdba..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/parserrunnable.h +++ /dev/null @@ -1,67 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef PARSERRUNNABLE_H -#define PARSERRUNNABLE_H - -#include "qjson_export.h" - -#include -#include - -class QVariant; - -namespace QJson { - /** - * @brief Convenience class for converting JSON data to QVariant objects using a dedicated thread - */ - class QJSON_EXPORT ParserRunnable : public QObject, public QRunnable - { - Q_OBJECT - public: - /** - * This signal is emitted when the conversion process has been completed - * @param data contains the JSON data that has to be converted - * @param parent parent of the object - **/ - explicit ParserRunnable(QObject* parent = 0); - ~ParserRunnable(); - - void setData( const QByteArray& data ); - - void run(); - - Q_SIGNALS: - /** - * This signal is emitted when the parsing process has been completed - * @param json contains the result of the parsing - * @param ok if a parsing error occurs ok is set to false, otherwise it's set to true. - * @param error_msg contains a string explaining the failure reason - **/ - void parsingFinished(const QVariant& json, bool ok, const QString& error_msg); - - private: - Q_DISABLE_COPY(ParserRunnable) - class Private; - Private* const d; - }; -} - -#endif // PARSERRUNNABLE_H diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/position.hh b/thirdparty/qtweetlib/qtweetlib/qjson/position.hh deleted file mode 100644 index 27331d0d1..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/position.hh +++ /dev/null @@ -1,142 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Positions for Bison parsers in C++ - - Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/** - ** \file position.hh - ** Define the yy::position class. - */ - -#ifndef BISON_POSITION_HH -# define BISON_POSITION_HH - -# include -# include - -namespace yy -{ - /// Abstract a position. - class position - { - public: - - /// Construct a position. - position () - : filename (0), line (1), column (0) - { - } - - - /// Initialization. - inline void initialize (std::string* fn) - { - filename = fn; - line = 1; - column = 0; - } - - /** \name Line and Column related manipulators - ** \{ */ - public: - /// (line related) Advance to the COUNT next lines. - inline void lines (int count = 1) - { - column = 0; - line += count; - } - - /// (column related) Advance to the COUNT next columns. - inline void columns (int count = 1) - { - int leftmost = 0; - int current = column; - if (leftmost <= current + count) - column += count; - else - column = 0; - } - /** \} */ - - public: - /// File name to which this position refers. - std::string* filename; - /// Current line number. - unsigned int line; - /// Current column number. - unsigned int column; - }; - - /// Add and assign a position. - inline const position& - operator+= (position& res, const int width) - { - res.columns (width); - return res; - } - - /// Add two position objects. - inline const position - operator+ (const position& begin, const int width) - { - position res = begin; - return res += width; - } - - /// Add and assign a position. - inline const position& - operator-= (position& res, const int width) - { - return res += -width; - } - - /// Add two position objects. - inline const position - operator- (const position& begin, const int width) - { - return begin + -width; - } - - /** \brief Intercept output stream redirection. - ** \param ostr the destination output stream - ** \param pos a reference to the position to redirect - */ - inline std::ostream& - operator<< (std::ostream& ostr, const position& pos) - { - if (pos.filename) - ostr << *pos.filename << ':'; - return ostr << pos.line << '.' << pos.column; - } - -} -#endif // not BISON_POSITION_HH diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/qjson.pro b/thirdparty/qtweetlib/qtweetlib/qjson/qjson.pro deleted file mode 100644 index f0741cbc2..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/qjson.pro +++ /dev/null @@ -1,34 +0,0 @@ -TEMPLATE = lib -QT -= gui -TARGET = qjson -DESTDIR = ../lib -CONFIG += create_prl - -windows: { - DEFINES += QJSON_MAKEDLL -} - -HEADERS += \ - stack.hh \ - serializerrunnable.h \ - serializer.h \ - qobjecthelper.h \ - qjson_export.h \ - qjson_debug.h \ - position.hh \ - parserrunnable.h \ - parser_p.h \ - parser.h \ - location.hh \ - json_scanner.h \ - json_parser.hh \ - -SOURCES += \ - serializerrunnable.cpp \ - serializer.cpp \ - qobjecthelper.cpp \ - parserrunnable.cpp \ - parser.cpp \ - json_scanner.cpp \ - json_parser.cc \ - diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/qjson_debug.h b/thirdparty/qtweetlib/qtweetlib/qjson/qjson_debug.h deleted file mode 100644 index 5ae1da3a7..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/qjson_debug.h +++ /dev/null @@ -1,33 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Michael Leupold - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef QJSON_DEBUG_H -#define QJSON_DEBUG_H - -#include - -// define qjsonDebug() -#ifdef QJSON_VERBOSE_DEBUG_OUTPUT - inline QDebug qjsonDebug() { return QDebug(QtDebugMsg); } -#else - inline QNoDebug qjsonDebug() { return QNoDebug(); } -#endif - -#endif diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/qjson_export.h b/thirdparty/qtweetlib/qtweetlib/qjson/qjson_export.h deleted file mode 100644 index c7f5325a4..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/qjson_export.h +++ /dev/null @@ -1,35 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2009 Pino Toscano - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef QJSON_EXPORT_H -#define QJSON_EXPORT_H - -#include - -#ifndef QJSON_EXPORT -# if defined(QJSON_MAKEDLL) - /* We are building this library */ -# define QJSON_EXPORT Q_DECL_EXPORT -# else - /* We are using this library */ -# define QJSON_EXPORT Q_DECL_IMPORT -# endif -#endif - -#endif diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/qobjecthelper.cpp b/thirdparty/qtweetlib/qtweetlib/qjson/qobjecthelper.cpp deleted file mode 100644 index 91c35977a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/qobjecthelper.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Till Adam - * Copyright (C) 2009 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - - -#include "qobjecthelper.h" - -#include -#include -#include - -using namespace QJson; - -class QObjectHelper::QObjectHelperPrivate { -}; - -QObjectHelper::QObjectHelper() - : d (new QObjectHelperPrivate) -{ -} - -QObjectHelper::~QObjectHelper() -{ - delete d; -} - -QVariantMap QObjectHelper::qobject2qvariant( const QObject* object, - const QStringList& ignoredProperties) -{ - QVariantMap result; - const QMetaObject *metaobject = object->metaObject(); - int count = metaobject->propertyCount(); - for (int i=0; iproperty(i); - const char *name = metaproperty.name(); - - if (ignoredProperties.contains(QLatin1String(name)) || (!metaproperty.isReadable())) - continue; - - QVariant value = object->property(name); - result[QLatin1String(name)] = value; - } - return result; -} - -void QObjectHelper::qvariant2qobject(const QVariantMap& variant, QObject* object) -{ - const QMetaObject *metaobject = object->metaObject(); - - QVariantMap::const_iterator iter; - for (iter = variant.constBegin(); iter != variant.constEnd(); iter++) { - int pIdx = metaobject->indexOfProperty( iter.key().toAscii() ); - - if ( pIdx < 0 ) { - continue; - } - - QMetaProperty metaproperty = metaobject->property( pIdx ); - QVariant::Type type = metaproperty.type(); - QVariant v( iter.value() ); - - if ( v.canConvert( type ) ) { - v.convert( type ); - metaproperty.write( object, v ); - } - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/qobjecthelper.h b/thirdparty/qtweetlib/qtweetlib/qjson/qobjecthelper.h deleted file mode 100644 index 7bf6b0357..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/qobjecthelper.h +++ /dev/null @@ -1,143 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef QOBJECTHELPER_H -#define QOBJECTHELPER_H - -#include "qjson_export.h" - -#include -#include -#include - -class QObject; - -namespace QJson { - /** - * @brief Class used to convert QObject into QVariant and vivce-versa. - * During these operations only the class attributes defined as properties will - * be considered. - * - * Suppose the declaration of the Person class looks like this: - * \code - * class Person : public QObject - { - Q_OBJECT - - Q_PROPERTY(QString name READ name WRITE setName) - Q_PROPERTY(int phoneNumber READ phoneNumber WRITE setPhoneNumber) - Q_PROPERTY(Gender gender READ gender WRITE setGender) - Q_PROPERTY(QDate dob READ dob WRITE setDob) - Q_ENUMS(Gender) - - public: - Person(QObject* parent = 0); - ~Person(); - - QString name() const; - void setName(const QString& name); - - int phoneNumber() const; - void setPhoneNumber(const int phoneNumber); - - enum Gender {Male, Female}; - void setGender(Gender gender); - Gender gender() const; - - QDate dob() const; - void setDob(const QDate& dob); - - private: - QString m_name; - int m_phoneNumber; - Gender m_gender; - QDate m_dob; - }; - \endcode - - The following code will serialize an instance of Person to JSON : - - \code - Person person; - person.setName("Flavio"); - person.setPhoneNumber(123456); - person.setGender(Person::Male); - person.setDob(QDate(1982, 7, 12)); - - QVariantMap variant = QObjectHelper::qobject2qvariant(&person); - Serializer serializer; - qDebug() << serializer.serialize( variant); - \endcode - - The generated output will be: - \code - { "dob" : "1982-07-12", "gender" : 0, "name" : "Flavio", "phoneNumber" : 123456 } - \endcode - - It's also possible to initialize a QObject using the values stored inside of - a QVariantMap. - - Suppose you have the following JSON data stored into a QString: - \code - { "dob" : "1982-07-12", "gender" : 0, "name" : "Flavio", "phoneNumber" : 123456 } - \endcode - - The following code will initialize an already allocated instance of Person - using the JSON values: - \code - Parser parser; - QVariant variant = parser.parse(json); - - Person person; - QObjectHelper::qvariant2qobject(variant.toMap(), &person); - \endcode - - \sa Parser - \sa Serializer - */ - class QJSON_EXPORT QObjectHelper { - public: - QObjectHelper(); - ~QObjectHelper(); - - /** - * This method converts a QObject instance into a QVariantMap. - * - * @param object The QObject instance to be converted. - * @param ignoredProperties Properties that won't be converted. - */ - static QVariantMap qobject2qvariant( const QObject* object, - const QStringList& ignoredProperties = QStringList(QString(QLatin1String("objectName")))); - - /** - * This method converts a QVariantMap instance into a QObject - * - * @param object The QObject instance to be converted. - */ - static void qvariant2qobject(const QVariantMap& variant, QObject* object); - - private: - Q_DISABLE_COPY(QObjectHelper) - class QObjectHelperPrivate; - QObjectHelperPrivate* const d; - }; -} - -#endif // QOBJECTHELPER_H diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/serializer.cpp b/thirdparty/qtweetlib/qtweetlib/qjson/serializer.cpp deleted file mode 100644 index 1f6b60320..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/serializer.cpp +++ /dev/null @@ -1,220 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Till Adam - * Copyright (C) 2009 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "serializer.h" - -#include -#include -#include - -#include -#include - -using namespace QJson; - -class Serializer::SerializerPrivate { - public: - SerializerPrivate() : specialNumbersAllowed(false) {} - bool specialNumbersAllowed; - QString sanitizeString( QString str ); -}; - -QString Serializer::SerializerPrivate::sanitizeString( QString str ) -{ - str.replace( QLatin1String( "\\" ), QLatin1String( "\\\\" ) ); - - // escape unicode chars - QString result; - const ushort* unicode = str.utf16(); - unsigned int i = 0; - - while ( unicode[ i ] ) { - if ( unicode[ i ] < 128 ) { - result.append( QChar( unicode[ i ] ) ); - } - else { - QString hexCode = QString::number( unicode[ i ], 16 ).rightJustified( 4, - QLatin1Char('0') ); - - result.append( QLatin1String ("\\u") ).append( hexCode ); - } - ++i; - } - str = result; - - str.replace( QLatin1String( "\"" ), QLatin1String( "\\\"" ) ); - str.replace( QLatin1String( "\b" ), QLatin1String( "\\b" ) ); - str.replace( QLatin1String( "\f" ), QLatin1String( "\\f" ) ); - str.replace( QLatin1String( "\n" ), QLatin1String( "\\n" ) ); - str.replace( QLatin1String( "\r" ), QLatin1String( "\\r" ) ); - str.replace( QLatin1String( "\t" ), QLatin1String( "\\t" ) ); - - return QString( QLatin1String( "\"%1\"" ) ).arg( str ); -} - -Serializer::Serializer() - : d( new SerializerPrivate ) -{ -} - -Serializer::~Serializer() { - delete d; -} - -void Serializer::serialize( const QVariant& v, QIODevice* io, bool* ok ) -{ - Q_ASSERT( io ); - if (!io->isOpen()) { - if (!io->open(QIODevice::WriteOnly)) { - if ( ok != 0 ) - *ok = false; - qCritical ("Error opening device"); - return; - } - } - - if (!io->isWritable()) { - if (ok != 0) - *ok = false; - qCritical ("Device is not readable"); - io->close(); - return; - } - - const QByteArray str = serialize( v ); - if ( !str.isNull() ) { - QDataStream stream( io ); - stream << str; - } else { - if ( ok ) - *ok = false; - } -} - -static QByteArray join( const QList& list, const QByteArray& sep ) { - QByteArray res; - Q_FOREACH( const QByteArray& i, list ) { - if ( !res.isEmpty() ) - res += sep; - res += i; - } - return res; -} - -QByteArray Serializer::serialize( const QVariant &v ) -{ - QByteArray str; - bool error = false; - - if ( ! v.isValid() ) { // invalid or null? - str = "null"; - } else if (( v.type() == QVariant::List ) || ( v.type() == QVariant::StringList )){ // an array or a stringlist? - const QVariantList list = v.toList(); - QList values; - Q_FOREACH( const QVariant& v, list ) - { - QByteArray serializedValue = serialize( v ); - if ( serializedValue.isNull() ) { - error = true; - break; - } - values << serializedValue; - } - str = "[ " + join( values, ", " ) + " ]"; - } else if ( v.type() == QVariant::Map ) { // variant is a map? - const QVariantMap vmap = v.toMap(); - QMapIterator it( vmap ); - str = "{ "; - QList pairs; - while ( it.hasNext() ) { - it.next(); - QByteArray serializedValue = serialize( it.value() ); - if ( serializedValue.isNull() ) { - error = true; - break; - } - pairs << d->sanitizeString( it.key() ).toUtf8() + " : " + serializedValue; - } - str += join( pairs, ", " ); - str += " }"; - } else if (( v.type() == QVariant::String ) || ( v.type() == QVariant::ByteArray )) { // a string or a byte array? - str = d->sanitizeString( v.toString() ).toUtf8(); - } else if (( v.type() == QVariant::Double) || (v.type() == QMetaType::Float)) { // a double or a float? - const double value = v.toDouble(); -#ifdef _WIN32 - const bool special = _isnan(value) || !_finite(value); -#elif defined(Q_OS_SYMBIAN) - const bool special = isnan(value) || isinf(value); -#else - const bool special = std::isnan(value) || std::isinf(value); -#endif - if (special) { - if (specialNumbersAllowed()) { -#ifdef _WIN32 - if (_isnan(value)) { -#elif defined(Q_OS_SYMBIAN) - if (isnan(value)) { -#else - if (std::isnan(value)) { -#endif - str += "NaN"; - } else { - if (value<0) { - str += "-"; - } - str += "Infinity"; - } - } else { - qCritical("Attempt to write NaN or infinity, which is not supported by json"); - error = true; - } - } else { - str = QByteArray::number( value ); - if( ! str.contains( "." ) && ! str.contains( "e" ) ) { - str += ".0"; - } - } - } else if ( v.type() == QVariant::Bool ) { // boolean value? - str = ( v.toBool() ? "true" : "false" ); - } else if ( v.type() == QVariant::ULongLong ) { // large unsigned number? - str = QByteArray::number( v.value() ); - } else if ( v.canConvert() ) { // any signed number? - str = QByteArray::number( v.value() ); - } else if ( v.canConvert() ){ // can value be converted to string? - // this will catch QDate, QDateTime, QUrl, ... - str = d->sanitizeString( v.toString() ).toUtf8(); - //TODO: catch other values like QImage, QRect, ... - } else { - error = true; - } - if ( !error ) - return str; - else - return QByteArray(); -} - -void QJson::Serializer::allowSpecialNumbers(bool allow) { - d->specialNumbersAllowed = allow; -} - -bool QJson::Serializer::specialNumbersAllowed() const { - return d->specialNumbersAllowed; -} diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/serializer.h b/thirdparty/qtweetlib/qtweetlib/qjson/serializer.h deleted file mode 100644 index a2c0fc460..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/serializer.h +++ /dev/null @@ -1,81 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Till Adam - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef QJSON_SERIALIZER_H -#define QJSON_SERIALIZER_H - -#include "qjson_export.h" - -class QIODevice; -class QString; -class QVariant; - -namespace QJson { - /** - * @brief Main class used to convert QVariant objects to JSON data. - * - * QVariant objects are converted to a string containing the JSON data. - * If QVariant object is empty or not valid a null json object is returned. - */ - class QJSON_EXPORT Serializer { - public: - Serializer(); - ~Serializer(); - - /** - * This method generates a textual JSON representation and outputs it to the - * passed in I/O Device. - * @param variant The JSON document in its in-memory representation as generated by the - * parser. - * @param out Input output device - * @param ok if a conversion error occurs, *ok is set to false; otherwise *ok is set to true - */ - void serialize( const QVariant& variant, QIODevice* out, bool* ok = 0 ); - - /** - * This is a method provided for convenience. It turns the passed in in-memory - * representation of the JSON document into a textual one, which is returned. - * If the returned string is empty, the document was empty. If it was null, there - * was a parsing error. - * - * @param variant The JSON document in its in-memory representation as generated by the - * parser. - */ - - QByteArray serialize( const QVariant& variant ); - - /** - * Allow or disallow writing of NaN and/or Infinity (as an extension to QJson) - */ - void allowSpecialNumbers(bool allow); - - /** - * Is Nan and/or Infinity allowed? - */ - bool specialNumbersAllowed() const; - - private: - Q_DISABLE_COPY(Serializer) - class SerializerPrivate; - SerializerPrivate* const d; - }; -} - -#endif // QJSON_SERIALIZER_H diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/serializerrunnable.cpp b/thirdparty/qtweetlib/qtweetlib/qjson/serializerrunnable.cpp deleted file mode 100644 index 2e57c4517..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/serializerrunnable.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include "serializerrunnable.h" - -/* This file is part of qjson - * - * Copyright (C) 2009 Flavio Castelli - * 2009 Frank Osterfeld - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include "parserrunnable.h" -#include "serializer.h" - -#include -#include - -using namespace QJson; - -class SerializerRunnable::Private -{ -public: - QVariant json; -}; - -SerializerRunnable::SerializerRunnable(QObject* parent) - : QObject(parent), - QRunnable(), - d(new Private) -{ - qRegisterMetaType("QVariant"); -} - -SerializerRunnable::~SerializerRunnable() -{ - delete d; -} - -void SerializerRunnable::setJsonObject( const QVariant& json ) -{ - d->json = json; -} - -void SerializerRunnable::run() -{ - Serializer serializer; - emit parsingFinished( Serializer().serialize( d->json ), true, QString() ); -} diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/serializerrunnable.h b/thirdparty/qtweetlib/qtweetlib/qjson/serializerrunnable.h deleted file mode 100644 index c6b5fe117..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/serializerrunnable.h +++ /dev/null @@ -1,74 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Frank Osterfeld - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef SERIALIZERRUNNABLE_H -#define SERIALIZERRUNNABLE_H - -#include "qjson_export.h" - -#include -#include - -class QByteArray; -class QString; -class QVariant; - -namespace QJson { - /** - * @brief Convenience class for converting JSON data to QVariant objects using a dedicated thread - */ - class QJSON_EXPORT SerializerRunnable : public QObject, public QRunnable - { - Q_OBJECT - public: - /** - * This signal is emitted when the conversion process has been completed - * @param data contains the JSON data that has to be converted - * @param parent parent of the object - **/ - explicit SerializerRunnable(QObject* parent = 0); - ~SerializerRunnable(); - - /** - * Sets the json object to serialize. - * - * @param json QVariant containing the json representation to be serialized - */ - void setJsonObject( const QVariant& json ); - - /* reimp */ void run(); - - Q_SIGNALS: - /** - * This signal is emitted when the serialization process has been completed - * @param serialized contains the result of the serialization - * @param ok if a serialization error occurs ok is set to false, otherwise it's set to true. - * @param error_msg contains a string explaining the failure reason - **/ - void parsingFinished(const QByteArray& serialized, bool ok, const QString& error_msg); - - private: - Q_DISABLE_COPY(SerializerRunnable) - class Private; - Private* const d; - }; -} - -#endif // SERIALIZERRUNNABLE_H diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/src.pro b/thirdparty/qtweetlib/qtweetlib/qjson/src.pro deleted file mode 100644 index 3cba04857..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/src.pro +++ /dev/null @@ -1,70 +0,0 @@ -QJSON_BASE = .. -QJSON_SRCBASE = . - -TEMPLATE = lib -QT -= gui -TARGET = qjson -DESTDIR = $$QJSON_BASE/lib -CONFIG += create_prl - -VERSION = 0.7.1 - -windows: { - DEFINES += QJSON_MAKEDLL -} - -QJSON_CPP = $$QJSON_SRCBASE -INCLUDEPATH += $$QJSON_CPP - -PRIVATE_HEADERS += \ - json_parser.hh \ - json_scanner.h \ - location.hh \ - parser_p.h \ - position.hh \ - qjson_debug.h \ - stack.hh - -PUBLIC_HEADERS += \ - parser.h \ - parserrunnable.h \ - qobjecthelper.h \ - serializer.h \ - serializerrunnable.h \ - qjson_export.h - -HEADERS += $$PRIVATE_HEADERS $$PUBLIC_HEADERS - -SOURCES += \ - json_parser.cc \ - json_scanner.cpp \ - parser.cpp \ - parserrunnable.cpp \ - qobjecthelper.cpp \ - serializer.cpp \ - serializerrunnable.cpp - -symbian: { - DEFINES += QJSON_MAKEDLL - #export public header to \epocroot\epoc32\include to be able to use them - headers.files = $$PUBLIC_HEADERS - headers.path = $$PWD - for(header, headers.files) { - {BLD_INF_RULES.prj_exports += "$$header"} - } - - TARGET.EPOCALLOWDLLDATA = 1 - # uid for the dll - #TARGET.UID3= - TARGET.CAPABILITY = ReadDeviceData WriteDeviceData - - # do not freeze api-> no libs produced. Comment when freezing! - # run "abld freeze winscw" to create def files - symbian:MMP_RULES += "EXPORTUNFROZEN" - - # add dll to the sis - QjsonDeployment.sources = $${TARGET}.dll - QjsonDeployment.path = /sys/bin - - DEPLOYMENT += QjsonDeployment -} diff --git a/thirdparty/qtweetlib/qtweetlib/qjson/stack.hh b/thirdparty/qtweetlib/qtweetlib/qjson/stack.hh deleted file mode 100644 index 754b6640c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/qjson/stack.hh +++ /dev/null @@ -1,129 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Stack handling for Bison parsers in C++ - - Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -#ifndef BISON_STACK_HH -# define BISON_STACK_HH - -#include - -namespace yy -{ - template > - class stack - { - public: - - // Hide our reversed order. - typedef typename S::reverse_iterator iterator; - typedef typename S::const_reverse_iterator const_iterator; - - stack () : seq_ () - { - } - - stack (unsigned int n) : seq_ (n) - { - } - - inline - T& - operator [] (unsigned int i) - { - return seq_[i]; - } - - inline - const T& - operator [] (unsigned int i) const - { - return seq_[i]; - } - - inline - void - push (const T& t) - { - seq_.push_front (t); - } - - inline - void - pop (unsigned int n = 1) - { - for (; n; --n) - seq_.pop_front (); - } - - inline - unsigned int - height () const - { - return seq_.size (); - } - - inline const_iterator begin () const { return seq_.rbegin (); } - inline const_iterator end () const { return seq_.rend (); } - - private: - - S seq_; - }; - - /// Present a slice of the top of a stack. - template > - class slice - { - public: - - slice (const S& stack, - unsigned int range) : stack_ (stack), - range_ (range) - { - } - - inline - const T& - operator [] (unsigned int i) const - { - return stack_[range_ - i]; - } - - private: - - const S& stack_; - unsigned int range_; - }; -} - -#endif // not BISON_STACK_HH diff --git a/thirdparty/qtweetlib/qtweetlib/src/oauth.cpp b/thirdparty/qtweetlib/qtweetlib/src/oauth.cpp deleted file mode 100644 index 28c4a91d9..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/oauth.cpp +++ /dev/null @@ -1,340 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include -#include "oauth.h" - -#ifndef CONSUMER_KEY - #define CONSUMER_KEY "" -#endif //CONSUMER_KEY - -#ifndef CONSUMER_SECRET - #define CONSUMER_SECRET "" -#endif //CONSUMER_SECRET - -/** - * Generates HMAC-SHA1 signature - * @param message for which to create signature - * @param key - */ -static QByteArray hmacSha1(const QByteArray& message, const QByteArray& key) -{ - QByteArray normKey; - - if (key.size() > 64) { - normKey = QCryptographicHash::hash(key, QCryptographicHash::Sha1); - } else { - normKey = key; // no need for zero padding ipad and opad are filled with zeros - } - - unsigned char* K = (unsigned char *)normKey.constData(); - - unsigned char ipad[65]; - unsigned char opad[65]; - - memset(ipad, 0, 65); - memset(opad, 0, 65); - - memcpy(ipad, K, normKey.size()); - memcpy(opad, K, normKey.size()); - - for (int i = 0; i < 64; ++i) { - ipad[i] ^= 0x36; - opad[i] ^= 0x5c; - } - - QByteArray context; - context.append((const char *)ipad, 64); - context.append(message); - - QByteArray sha1 = QCryptographicHash::hash(context, QCryptographicHash::Sha1); - - context.clear(); - context.append((const char *)opad, 64); - context.append(sha1); - - sha1.clear(); - - sha1 = QCryptographicHash::hash(context, QCryptographicHash::Sha1); - - return sha1; -} - -/** - * Generates time stamp - * @return time stamp in epoch time - */ -static QByteArray generateTimeStamp() -{ - //OAuth spec. 8 http://oauth.net/core/1.0/#nonce - QDateTime current = QDateTime::currentDateTime(); - uint seconds = current.toTime_t(); - - return QString("%1").arg(seconds).toUtf8(); -} - -/** - * Generates random 16 length string - * @return random string - */ -static QByteArray generateNonce() -{ - //OAuth spec. 8 http://oauth.net/core/1.0/#nonce - QByteArray chars("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); - int max = chars.size(); - - int len = 16; - - QByteArray nonce; - for(int i = 0; i < len; ++i){ - nonce.append( chars[qrand() % max] ); - } - - return nonce; -} - -/** - * Constructor - * @param parent parent QObject - */ -OAuth::OAuth(QObject *parent) - : QObject(parent), - m_oauthConsumerKey(CONSUMER_KEY), - m_oauthConsumerSecret(CONSUMER_SECRET) -{ - QDateTime current = QDateTime::currentDateTime(); - qsrand(current.toTime_t()); -} - -/** - * Constructor - * @param consumerKey oauth consumer key - * @param consumerSecret oauth consumer secret - * @param parent parent QObject - */ -OAuth::OAuth(const QByteArray &consumerKey, const QByteArray &consumerSecret, QObject *parent) - : QObject(parent), - m_oauthConsumerKey(consumerKey), - m_oauthConsumerSecret(consumerSecret) -{ - QDateTime current = QDateTime::currentDateTime(); - qsrand(current.toTime_t()); -} - -/** - * Parses oauth_token and oauth_token_secret from response of the service provider - * and sets m_oauthToken and m_oauthTokenSecret accordingly - * @param response response from service provider - */ -void OAuth::parseTokens(const QByteArray& response) -{ - //OAuth spec 5.3, 6.1.2, 6.3.2 - //use QUrl for parsing - QByteArray parseQuery("http://parse.com?"); - - QUrl parseUrl = QUrl::fromEncoded(parseQuery + response); - - m_oauthToken = parseUrl.encodedQueryItemValue("oauth_token"); - m_oauthTokenSecret = parseUrl.encodedQueryItemValue("oauth_token_secret"); -} - -/** - * Sets oauth token - * @param token OAuth token - */ -void OAuth::setOAuthToken(const QByteArray& token) -{ - m_oauthToken = token; -} - -/** - * Sets OAauth token secret - * @param tokenSecret OAuth token secret - */ -void OAuth::setOAuthTokenSecret(const QByteArray& tokenSecret) -{ - m_oauthTokenSecret = tokenSecret; -} - -/** - * Gets oauth_token - * @return OAuth token - */ -QByteArray OAuth::oauthToken() const -{ - return m_oauthToken; -} - -/** - * Gets oauth_token_secret - * @return OAuth token secret - */ -QByteArray OAuth::oauthTokenSecret() const -{ - return m_oauthTokenSecret; -} - - -/** - * Clears the oauth tokens - */ -void OAuth::clearTokens() -{ - m_oauthToken.clear(); - m_oauthTokenSecret.clear(); -} - -/** - * Generates HMAC-SHA1 signature - * @param signatureBase signature base - * @return HMAC-SHA1 signature - */ -QByteArray OAuth::generateSignatureHMACSHA1(const QByteArray& signatureBase) -{ - //OAuth spec. 9.2 http://oauth.net/core/1.0/#anchor16 - QByteArray key = m_oauthConsumerSecret + '&' + m_oauthTokenSecret; - - QByteArray result = hmacSha1(signatureBase, key); - QByteArray resultBE64 = result.toBase64(); - QByteArray resultPE = resultBE64.toPercentEncoding(); - return resultPE; -} - -/** - * Generates OAuth signature base - * @param url Url with encoded parameters - * @param method Http method - * @param timestamp timestamp - * @param nonce random string - * @return signature base - */ -QByteArray OAuth::generateSignatureBase(const QUrl& url, HttpMethod method, const QByteArray& timestamp, const QByteArray& nonce) -{ - //OAuth spec. 9.1 http://oauth.net/core/1.0/#anchor14 - - //OAuth spec. 9.1.1 - QList > urlParameters = url.encodedQueryItems(); - QList normParameters; - - QListIterator > i(urlParameters); - while(i.hasNext()){ - QPair queryItem = i.next(); - QByteArray normItem = queryItem.first + '=' + queryItem.second; - normParameters.append(normItem); - } - - //consumer key - normParameters.append(QByteArray("oauth_consumer_key=") + m_oauthConsumerKey); - - //token - if(!m_oauthToken.isEmpty()){ - normParameters.append(QByteArray("oauth_token=") + m_oauthToken); - } - - //signature method, only HMAC_SHA1 - normParameters.append(QByteArray("oauth_signature_method=HMAC-SHA1")); - //time stamp - normParameters.append(QByteArray("oauth_timestamp=") + timestamp); - //nonce - normParameters.append(QByteArray("oauth_nonce=") + nonce); - //version - normParameters.append(QByteArray("oauth_version=1.0")); - - //OAuth spec. 9.1.1.1 - qSort(normParameters); - - //OAuth spec. 9.1.1.2 - //QByteArray normString; - //QListIterator j(normParameters); - //while(j.hasNext()){ - // normString += j.next(); - // normString += '&'; - //} - //normString.chop(1); - - QByteArray normString; - QListIterator j(normParameters); - while (j.hasNext()) { - normString += j.next().toPercentEncoding(); - normString += "%26"; - } - normString.chop(3); - - //OAuth spec. 9.1.2 - QString urlScheme = url.scheme(); - QString urlPath = url.path(); - QString urlHost = url.host(); - QByteArray normUrl = urlScheme.toUtf8() + "://" + urlHost.toUtf8() + urlPath.toUtf8(); - - QByteArray httpm; - - switch (method) - { - case OAuth::GET: - httpm = "GET"; - break; - case OAuth::POST: - httpm = "POST"; - break; - case OAuth::DELETE: - httpm = "DELETE"; - break; - case OAuth::PUT: - httpm = "PUT"; - break; - } - - //OAuth spec. 9.1.3 - return httpm + '&' + normUrl.toPercentEncoding() + '&' + normString; -} - -/** - * Generates Authorization Header - * @param url url with query items embedded - * @param method type of http method - * @remarks If HttpMethod is POST put query items in url (QUrl::addEncodedQueryItem) - */ -QByteArray OAuth::generateAuthorizationHeader( const QUrl& url, HttpMethod method ) -{ - if (m_oauthToken.isEmpty() && m_oauthTokenSecret.isEmpty()) - qDebug() << "OAuth tokens are empty!"; - - QByteArray timeStamp = generateTimeStamp(); - QByteArray nonce = generateNonce(); - - QByteArray sigBase = generateSignatureBase(url, method, timeStamp, nonce); - QByteArray signature = generateSignatureHMACSHA1(sigBase); - - QByteArray header; - header += "OAuth "; - header += "oauth_consumer_key=\"" + m_oauthConsumerKey + "\","; - if(!m_oauthToken.isEmpty()) - header += "oauth_token=\"" + m_oauthToken + "\","; - header += "oauth_signature_method=\"HMAC-SHA1\","; - header += "oauth_signature=\"" + signature + "\","; - header += "oauth_timestamp=\"" + timeStamp + "\","; - header += "oauth_nonce=\"" + nonce + "\","; - header += "oauth_version=\"1.0\""; - - return header; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/oauth.h b/thirdparty/qtweetlib/qtweetlib/src/oauth.h deleted file mode 100644 index d409ac872..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/oauth.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef OAUTH_H -#define OAUTH_H - -#include -#include -#include "qtweetlib_global.h" - -class QByteArray; - -/** - * Base OAuth class - */ -class QTWEETLIBSHARED_EXPORT OAuth : public QObject -{ - Q_OBJECT - Q_ENUMS(HttpMethod) - Q_PROPERTY(QByteArray oauthToken READ oauthToken WRITE setOAuthToken) - Q_PROPERTY(QByteArray oauthTokenSecret READ oauthTokenSecret WRITE setOAuthTokenSecret) - -public: - OAuth(QObject *parent = 0); - OAuth(const QByteArray& consumerKey, const QByteArray& consumerSecret, QObject *parent = 0); -#undef GET -#undef POST -#undef PUT -#undef DELETE - enum HttpMethod {GET, POST, PUT, DELETE}; - - void parseTokens(const QByteArray& response); - QByteArray generateAuthorizationHeader(const QUrl& url, HttpMethod method); - void setOAuthToken(const QByteArray& token); - void setOAuthTokenSecret(const QByteArray& tokenSecret); - void clearTokens(); - QByteArray oauthToken() const; - QByteArray oauthTokenSecret() const; - -private: - QByteArray generateSignatureHMACSHA1(const QByteArray& signatureBase); - QByteArray generateSignatureBase(const QUrl& url, HttpMethod method, const QByteArray& timestamp, const QByteArray& nonce); - - QByteArray m_oauthToken; - QByteArray m_oauthTokenSecret; - QByteArray m_oauthConsumerSecret; - QByteArray m_oauthConsumerKey; -}; - -#endif //OAUTH_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/oauthtwitter.cpp b/thirdparty/qtweetlib/qtweetlib/src/oauthtwitter.cpp deleted file mode 100644 index b55125f8c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/oauthtwitter.cpp +++ /dev/null @@ -1,216 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "oauthtwitter.h" -#include -#include -#include -#include -#include -#include -#include - -#define TWITTER_REQUEST_TOKEN_URL "http://twitter.com/oauth/request_token" -#define TWITTER_ACCESS_TOKEN_URL "http://twitter.com/oauth/access_token" -#define TWITTER_AUTHORIZE_URL "http://twitter.com/oauth/authorize" -#define TWITTER_ACCESS_TOKEN_XAUTH_URL "https://api.twitter.com/oauth/access_token" - -/** - * Constructor - */ -OAuthTwitter::OAuthTwitter(QObject *parent) - : OAuth(parent), m_netManager(0) -{ -} - -/** - * Constructor - */ -OAuthTwitter::OAuthTwitter(QNetworkAccessManager *netManager, QObject *parent) : - OAuth(parent), m_netManager(netManager) -{ -} - -/** - * Sets network access manager - * @remarks Must be set to work properly - */ -void OAuthTwitter::setNetworkAccessManager(QNetworkAccessManager* netManager) -{ - m_netManager = netManager; -} - -/** - * Gets network access manager - */ -QNetworkAccessManager* OAuthTwitter::networkAccessManager() const -{ - return m_netManager; -} - -/** - * Gets oauth tokens using XAuth method (starts authorization process) - * @param username username - * @param password password - * @remarks Async, emits authorizeXAuthFinished or authorizeXAuthError when there is error - */ -void OAuthTwitter::authorizeXAuth(const QString &username, const QString &password) -{ - Q_ASSERT(m_netManager != 0); - - QUrl url(TWITTER_ACCESS_TOKEN_XAUTH_URL); - url.addQueryItem("x_auth_username", username); - url.addQueryItem("x_auth_password", password); - url.addQueryItem("x_auth_mode", "client_auth"); - - QByteArray oauthHeader = generateAuthorizationHeader(url, OAuth::POST); - - QNetworkRequest req(url); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = m_netManager->post(req, QByteArray()); - connect(reply, SIGNAL(finished()), this, SLOT(finishedAuthorization())); -} - -/** - * Called when authorization is finished - */ -void OAuthTwitter::finishedAuthorization() -{ - QNetworkReply *reply = qobject_cast(sender()); - if (reply) { - if (reply->error() == QNetworkReply::NoError) { - QByteArray response = reply->readAll(); - parseTokens(response); - - emit authorizeXAuthFinished(); - } else { - //dump error - qDebug() << "Network Error: " << reply->error(); - qDebug() << "Response error: " << reply->readAll(); - emit authorizeXAuthError(); - - } - reply->deleteLater(); - } -} - -/** - * Starts PIN based OAuth authorization - */ -void OAuthTwitter::authorizePin() -{ - Q_ASSERT(m_netManager != 0); - - QUrl url(TWITTER_REQUEST_TOKEN_URL); - - QByteArray oauthHeader = generateAuthorizationHeader(url, OAuth::POST); - - QNetworkRequest req(url); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - //enters event loop - QEventLoop q; - QTimer t; - t.setSingleShot(true); - connect(&t, SIGNAL(timeout()), &q, SLOT(quit())); - - QNetworkReply *reply = m_netManager->post(req, QByteArray()); - connect(reply, SIGNAL(finished()), &q, SLOT(quit())); - connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(error())); - - t.start(5000); - q.exec(); - - if (t.isActive()) { - t.stop(); - QByteArray response = reply->readAll(); - parseTokens(response); - - reply->deleteLater(); - requestAuthorization(); - - int pin = authorizationWidget(); - if (pin) { - requestAccessToken(pin); - } - } else { - qDebug() << "Timeout"; - } -} - -/** - * Opens authorization url - * @remarks Override if you want to show another browser - */ -void OAuthTwitter::requestAuthorization() -{ - QUrl authorizeUrl(TWITTER_AUTHORIZE_URL); - authorizeUrl.addEncodedQueryItem("oauth_token", oauthToken()); - - QDesktopServices::openUrl(authorizeUrl); -} - -/** - * Gets access tokens for user entered pin number - * @param pin entered pin number - */ -void OAuthTwitter::requestAccessToken(int pin) -{ - Q_ASSERT(m_netManager != 0); - - QUrl url(TWITTER_ACCESS_TOKEN_URL); - url.addEncodedQueryItem("oauth_verifier", QByteArray::number(pin)); - - QByteArray oauthHeader = generateAuthorizationHeader(url, OAuth::POST); - - QEventLoop q; - QTimer t; - t.setSingleShot(true); - - connect(&t, SIGNAL(timeout()), &q, SLOT(quit())); - - QNetworkRequest req(url); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = m_netManager->post(req, QByteArray()); - connect(reply, SIGNAL(finished()), &q, SLOT(quit())); - connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(error())); - - t.start(5000); - q.exec(); - - if(t.isActive()){ - QByteArray response = reply->readAll(); - parseTokens(response); - reply->deleteLater(); - } else { - qDebug() << "Timeout"; - } -} - -/** - * Override to show the authorization widget where users enters pin number - * @return entered pin number by the user - */ -int OAuthTwitter::authorizationWidget() -{ - return 0; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/oauthtwitter.h b/thirdparty/qtweetlib/qtweetlib/src/oauthtwitter.h deleted file mode 100644 index c44c6c798..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/oauthtwitter.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef OAUTHTWITTER_H -#define OAUTHTWITTER_H - -#include "oauth.h" - -class QNetworkAccessManager; - -/** - * OAuth Twitter authorization class - */ -class QTWEETLIBSHARED_EXPORT OAuthTwitter : public OAuth -{ - Q_OBJECT - Q_PROPERTY(QNetworkAccessManager* networkAccessManager - READ networkAccessManager - WRITE setNetworkAccessManager) -public: - OAuthTwitter(QObject *parent = 0); - OAuthTwitter(QNetworkAccessManager* netManager, QObject *parent = 0); - void setNetworkAccessManager(QNetworkAccessManager* netManager); - QNetworkAccessManager* networkAccessManager() const; - void authorizeXAuth(const QString& username, const QString& password); - void authorizePin(); - -signals: - /** Emited when XAuth authorization is finished */ - void authorizeXAuthFinished(); - /** Emited when there is error in XAuth authorization */ - // ### TODO Error detection - // Sigh, bad documentation on errors in twitter api - void authorizeXAuthError(); - -protected: - virtual int authorizationWidget(); - virtual void requestAuthorization(); - -private slots: - void finishedAuthorization(); - void requestAccessToken(int pin); - -private: - QNetworkAccessManager *m_netManager; -}; - -#endif //OAUTHTWITTER_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountratelimitstatus.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountratelimitstatus.cpp deleted file mode 100644 index ff3de0a18..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountratelimitstatus.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetaccountratelimitstatus.h" - -/** - * Constructor - */ -QTweetAccountRateLimitStatus::QTweetAccountRateLimitStatus(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetAccountRateLimitStatus::QTweetAccountRateLimitStatus(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts checking rate limit status - * @remarks Should be emiting rateLimitInfo signal after finishing - */ -void QTweetAccountRateLimitStatus::check() -{ - QUrl url("http://api.twitter.com/1/account/rate_limit_status.json"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetAccountRateLimitStatus::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QVariantMap respMap = json.toMap(); - - int remainingHits = respMap["remaining_hits"].toInt(); - int resetTime = respMap["reset_time_in_seconds"].toInt(); - int hourlyLimit = respMap["hourly_limit"].toInt(); - - emit rateLimitInfo(remainingHits, resetTime, hourlyLimit); - } else { - qDebug() << "QTweetAccountRateLimitStatus parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountratelimitstatus.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountratelimitstatus.h deleted file mode 100644 index 01f646517..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountratelimitstatus.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETACCOUNTRATELIMITSTATUS_H -#define QTWEETACCOUNTRATELIMITSTATUS_H - -#include "qtweetnetbase.h" - -/** - * Returns the remaining number of API requests available to the requesting user - * before the API limit is reached for the current hour. - */ -class QTweetAccountRateLimitStatus : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetAccountRateLimitStatus(QObject *parent = 0); - QTweetAccountRateLimitStatus(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void check(); - -signals: - /** Emits rate limit info - * @param remainingHits Remaining hits - * @param resetTime Reset time in seconds - * @param hourlyLimit - */ - void rateLimitInfo(int remainingHits, int resetTime, int hourlyLimit); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETACCOUNTRATELIMITSTATUS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountverifycredentials.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountverifycredentials.cpp deleted file mode 100644 index ae7e77e0a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountverifycredentials.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetaccountverifycredentials.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetAccountVerifyCredentials::QTweetAccountVerifyCredentials(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetAccountVerifyCredentials::QTweetAccountVerifyCredentials(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Verifies credentials - * @param includeEntities when set to either true, t or 1, each tweet will include a node called "entities,". - */ -void QTweetAccountVerifyCredentials::verify(bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/account/verify_credentials.json"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetAccountVerifyCredentials::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetUser user = QTweetConvert::variantMapToUserInfo(json.toMap()); - - emit parsedUser(user); - } else { - qDebug() << "QTweetAccountVerifyCredentials parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountverifycredentials.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountverifycredentials.h deleted file mode 100644 index 8fb86b9bc..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetaccountverifycredentials.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETACCOUNTVERIFYCREDENTIALS_H -#define QTWEETACCOUNTVERIFYCREDENTIALS_H - -#include "qtweetnetbase.h" - -/** - * Checks credentials of a authenticated user. Should emit parsedUser signal - * if authentication was successful, error if not. Use this to test if - * supplied user credentials are valid - */ -class QTWEETLIBSHARED_EXPORT QTweetAccountVerifyCredentials : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetAccountVerifyCredentials(QObject *parent = 0); - QTweetAccountVerifyCredentials(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void verify(bool includeEntities = false); - -signals: - /** Emits parsed user when credentials are valid */ - void parsedUser(const QTweetUser& user); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETACCOUNTVERIFYCREDENTIALS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetconvert.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetconvert.cpp deleted file mode 100644 index 5e8ecf3f3..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetconvert.cpp +++ /dev/null @@ -1,522 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetconvert.h" -#include "qtweetstatus.h" -#include "qtweetdmstatus.h" -#include "qtweetuser.h" -#include "qtweetlist.h" -#include "qtweetplace.h" -#include "qtweetsearchresult.h" -#include "qtweetsearchpageresults.h" -#include "qtweetentityurl.h" -#include "qtweetentityhashtag.h" -#include "qtweetentityusermentions.h" - -/** - * Converts list of statuses - */ -QList QTweetConvert::variantToStatusList(const QVariant &fromParser) -{ - QList statuses; - - QList listStatus = fromParser.toList(); - - foreach (const QVariant& status, listStatus) { - QVariantMap statusMap = status.toMap(); - - QTweetStatus tweetStatus = variantMapToStatus(statusMap); - - statuses.append(tweetStatus); - } - return statuses; -} - -/** - * Converts status - */ -QTweetStatus QTweetConvert::variantMapToStatus(const QVariantMap &var) -{ - QTweetStatus status; - - status.setCreatedAt(var["created_at"].toString()); - status.setText(var["text"].toString()); - status.setId(var["id"].toLongLong()); - status.setInReplyToUserId(var["in_reply_to_user_id"].toLongLong()); - status.setInReplyToScreenName(var["in_reply_to_screen_name"].toString()); - status.setFavorited(var["favorited"].toBool()); - - QVariantMap userMap = var["user"].toMap(); - QTweetUser user = variantMapToUserInfo(userMap); - - status.setUser(user); - status.setSource(var["source"].toString()); - status.setInReplyToStatusId(var["in_reply_to_status_id"].toLongLong()); - - //check if contains native retweet - if (var.contains("retweeted_status")) { - QVariantMap retweetMap = var["retweeted_status"].toMap(); - - QTweetStatus rtStatus = variantMapToStatus(retweetMap); - - status.setRetweetedStatus(rtStatus); - } - - //parse place id if it's not null - QVariant placeVar = var["place"]; - if (!placeVar.isNull()) { - QTweetPlace place = variantMapToPlace(placeVar.toMap()); - status.setPlace(place); - } - - //check if contains entities - if (var.contains("entities")) { - QVariantMap entitiesVarMap = var["entities"].toMap(); - - //url entities - QVariantList urlEntitiesVarList = entitiesVarMap["urls"].toList(); - - foreach (const QVariant& urlEntityVar, urlEntitiesVarList) { - QVariantMap urlEntityVarMap = urlEntityVar.toMap(); - QTweetEntityUrl urlEntity = variantMapToEntityUrl(urlEntityVarMap); - - status.addUrlEntity(urlEntity); - } - - //hashtag entities - QVariantList hashtagEntitiesVarList = entitiesVarMap["hashtags"].toList(); - - foreach (const QVariant& hashtagEntityVar, hashtagEntitiesVarList) { - QVariantMap hashtagEntityVarMap = hashtagEntityVar.toMap(); - QTweetEntityHashtag hashtagEntity = variantMapToEntityHashtag(hashtagEntityVarMap); - - status.addHashtagEntity(hashtagEntity); - } - - //user mentions - QVariantList userMentionsEntitiesVarList = entitiesVarMap["user_mentions"].toList(); - - foreach (const QVariant& userMentionsEntityVar, userMentionsEntitiesVarList) { - QVariantMap userMentionsEntityVarMap = userMentionsEntityVar.toMap(); - QTweetEntityUserMentions userMentionsEntity = variantMapToEntityUserMentions(userMentionsEntityVarMap); - - status.addUserMentionsEntity(userMentionsEntity); - } - } - - return status; -} - -/** - * Converts user info - */ -QTweetUser QTweetConvert::variantMapToUserInfo(const QVariantMap &var) -{ - QTweetUser userInfo; - - userInfo.setId(var["id"].toLongLong()); - - //don't fill rest of it, when user info is trimmed - if (var.contains("name")) { - - userInfo.setName(var["name"].toString()); - userInfo.setLocation(var["location"].toString()); - userInfo.setprofileImageUrl(var["profile_image_url"].toString()); - userInfo.setCreatedAt(var["created_at"].toString()); - userInfo.setFavouritesCount(var["favourites_count"].toInt()); - userInfo.setUrl(var["url"].toString()); - userInfo.setUtcOffset(var["utc_offset"].toInt()); - userInfo.setProtected(var["protected"].toBool()); - userInfo.setFollowersCount(var["followers_count"].toInt()); - userInfo.setVerified(var["verified"].toBool()); - userInfo.setGeoEnabled(var["geo_enabled"].toBool()); - userInfo.setDescription(var["description"].toString()); - userInfo.setTimezone(var["time_zone"].toString()); - userInfo.setFriendsCount(var["friends_count"].toInt()); - userInfo.setStatusesCount(var["statuses_count"].toInt()); - userInfo.setScreenName(var["screen_name"].toString()); - userInfo.setContributorsEnabled(var["contributors_enabled"].toBool()); - userInfo.setListedCount(var["listed_count"].toInt()); - userInfo.setLang(var["lang"].toString()); - - //check if contains status - if (var.contains("status")) { - QVariantMap statusMap = var["status"].toMap(); - - QTweetStatus status = variantMapToStatus(statusMap); - - userInfo.setStatus(status); - } - } - - return userInfo; -} - -/** - * Converts list of direct messages - */ -QList QTweetConvert::variantToDirectMessagesList(const QVariant& fromParser) -{ - QList directMessages; - - QList listMessages = fromParser.toList(); - - foreach (const QVariant& message, listMessages) { - QTweetDMStatus dmStatus = variantMapToDirectMessage(message.toMap()); - directMessages.append(dmStatus); - } - - return directMessages; -} - -/** - * Converts direct message - */ -QTweetDMStatus QTweetConvert::variantMapToDirectMessage(const QVariantMap& var) -{ - QTweetDMStatus directMessage; - - directMessage.setCreatedAt(var["created_at"].toString()); - directMessage.setSenderScreenName(var["sender_screen_name"].toString()); - - QVariantMap senderMap = var["sender"].toMap(); - QTweetUser sender = variantMapToUserInfo(senderMap); - - directMessage.setSender(sender); - - directMessage.setText(var["text"].toString()); - directMessage.setRecipientScreenName(var["recipient_screen_name"].toString()); - directMessage.setId(var["id"].toLongLong()); - - QVariantMap recipientMap = var["recipient"].toMap(); - QTweetUser recipient = variantMapToUserInfo(recipientMap); - - directMessage.setRecipient(recipient); - - directMessage.setRecipientId(var["recipient_id"].toLongLong()); - directMessage.setSenderId(var["sender_id"].toLongLong()); - - return directMessage; -} - -/** - * Converts tweet list - */ -QTweetList QTweetConvert::variantMapToTweetList(const QVariantMap& var) -{ - QTweetList list; - - list.setMode(var["mode"].toString()); - list.setDescription(var["description"].toString()); - list.setFollowing(var["following"].toBool()); - list.setMemberCount(var["member_count"].toInt()); - list.setFullName(var["full_name"].toString()); - list.setSubscriberCount(var["subscriber_count"].toInt()); - list.setSlug(var["slug"].toString()); - list.setName(var["name"].toString()); - list.setId(var["id"].toLongLong()); - list.setUri(var["uri"].toString()); - - if (var.contains("user")) { - QVariantMap userMap = var["user"].toMap(); - - QTweetUser user = variantMapToUserInfo(userMap); - - list.setUser(user); - } - return list; -} - -/** - * Converts list of user infos - */ -QList QTweetConvert::variantToUserInfoList(const QVariant& fromParser) -{ - QList users; - - QList listUsers = fromParser.toList(); - - foreach (const QVariant& user, listUsers) { - QTweetUser userInfo = variantMapToUserInfo(user.toMap()); - - users.append(userInfo); - } - - return users; -} - -/** - * Converts list of tweet lists - */ -QList QTweetConvert::variantToTweetLists(const QVariant& var) -{ - QList lists; - - QList varLists = var.toList(); - - foreach (const QVariant& varlist, varLists) { - QTweetList tweetlist = variantMapToTweetList(varlist.toMap()); - - lists.append(tweetlist); - } - - return lists; -} - -/** - * Converts search result - */ -QTweetSearchResult QTweetConvert::variantMapToSearchResult(const QVariantMap& var) -{ - QTweetSearchResult result; - - result.setCreatedAt(var["created_at"].toString()); - result.setFromUser(var["from_user"].toString()); - result.setId(var["id"].toLongLong()); - result.setLang(var["iso_language_code"].toString()); - result.setProfileImageUrl(var["profile_image_url"].toString()); - result.setSource(var["source"].toString()); - result.setText(var["text"].toString()); - result.setToUser(var["to_user"].toString()); - - return result; -} - -/** - * Converts page results - */ -QTweetSearchPageResults QTweetConvert::variantToSearchPageResults(const QVariant& var) -{ - QTweetSearchPageResults page; - - QVariantMap varMap = var.toMap(); - - page.setMaxId(varMap["max_id"].toLongLong()); - page.setNextPage(varMap["next_page"].toByteArray()); - page.setPage(varMap["page"].toInt()); - page.setQuery(varMap["query"].toByteArray()); - page.setRefreshUrl(varMap["refresh_url"].toByteArray()); - page.setResultsPerPage(varMap["results_per_page"].toInt()); - page.setSinceId(varMap["since_id"].toLongLong()); - page.setTotal(varMap["total"].toInt()); - - QList resultList; - QList resultVarList = varMap["results"].toList(); - - foreach (const QVariant& resultVar, resultVarList) { - QTweetSearchResult result = variantMapToSearchResult(resultVar.toMap()); - resultList.append(result); - } - - page.setResults(resultList); - - return page; -} - -/** - * Converts place - */ -QTweetPlace QTweetConvert::variantMapToPlace(const QVariantMap& var) -{ - QTweetPlace place; - - place.setName(var["name"].toString()); - place.setCountryCode(var["country_code"].toString()); - place.setCountry(var["country"].toString()); - place.setID(var["id"].toString()); - place.setFullName(var["full_name"].toString()); - - QString placeType = var["place_type"].toString(); - - if (placeType == "poi") - place.setType(QTweetPlace::Poi); - else if (placeType == "neighborhood") - place.setType(QTweetPlace::Neighborhood); - else if (placeType == "city") - place.setType(QTweetPlace::City); - else if (placeType == "admin") - place.setType(QTweetPlace::Admin); - else if (placeType == "country") - place.setType(QTweetPlace::Country); - else - place.setType(QTweetPlace::Neighborhood); //twitter default - - QVariant bbVar = var["bounding_box"]; - - if (!bbVar.isNull()) { - QVariantMap bbMap = bbVar.toMap(); - - if (bbMap["type"].toString() == "Polygon") { - QVariantList coordList = bbMap["coordinates"].toList(); - - if (coordList.count() == 1) { - QVariantList latLongList = coordList.at(0).toList(); - - if (latLongList.count() == 4) { - QTweetGeoBoundingBox box; - - QVariantList coordsBottomLeft = latLongList.at(0).toList(); - box.setBottomLeft(QTweetGeoCoord(coordsBottomLeft.at(1).toDouble(), coordsBottomLeft.at(0).toDouble())); - - QVariantList coordsBottomRight = latLongList.at(1).toList(); - box.setBottomRight(QTweetGeoCoord(coordsBottomRight.at(1).toDouble(), coordsBottomRight.at(0).toDouble())); - - QVariantList coordsTopRight = latLongList.at(2).toList(); - box.setTopRight(QTweetGeoCoord(coordsTopRight.at(1).toDouble(), coordsTopRight.at(0).toDouble())); - - QVariantList coordsTopLeft = latLongList.at(3).toList(); - box.setTopLeft(QTweetGeoCoord(coordsTopLeft.at(1).toDouble(), coordsTopLeft.at(0).toDouble())); - - place.setBoundingBox(box); - } - } - } - } - return place; -} - -//not to be used in timelines api, but in geo api, where place contains other places -//is it recursive responsive? -QTweetPlace QTweetConvert::variantMapToPlaceRecursive(const QVariantMap& var) -{ - QTweetPlace place; - - place.setName(var["name"].toString()); - place.setCountryCode(var["country_code"].toString()); - place.setCountry(var["country"].toString()); - place.setID(var["id"].toString()); - place.setFullName(var["full_name"].toString()); - - QString placeType = var["place_type"].toString(); - - if (placeType == "poi") - place.setType(QTweetPlace::Poi); - else if (placeType == "neighborhood") - place.setType(QTweetPlace::Neighborhood); - else if (placeType == "city") - place.setType(QTweetPlace::City); - else if (placeType == "admin") - place.setType(QTweetPlace::Admin); - else if (placeType == "country") - place.setType(QTweetPlace::Country); - else - place.setType(QTweetPlace::Neighborhood); //twitter default - - QVariant bbVar = var["bounding_box"]; - - if (!bbVar.isNull()) { - QVariantMap bbMap = bbVar.toMap(); - - if (bbMap["type"].toString() == "Polygon") { - QVariantList coordList = bbMap["coordinates"].toList(); - - if (coordList.count() == 1) { - QVariantList latLongList = coordList.at(0).toList(); - - if (latLongList.count() == 4) { - QTweetGeoBoundingBox box; - - QVariantList coordsBottomLeft = latLongList.at(0).toList(); - box.setBottomLeft(QTweetGeoCoord(coordsBottomLeft.at(1).toDouble(), coordsBottomLeft.at(0).toDouble())); - - QVariantList coordsBottomRight = latLongList.at(1).toList(); - box.setBottomRight(QTweetGeoCoord(coordsBottomRight.at(1).toDouble(), coordsBottomRight.at(0).toDouble())); - - QVariantList coordsTopRight = latLongList.at(2).toList(); - box.setTopRight(QTweetGeoCoord(coordsTopRight.at(1).toDouble(), coordsTopRight.at(0).toDouble())); - - QVariantList coordsTopLeft = latLongList.at(3).toList(); - box.setTopLeft(QTweetGeoCoord(coordsTopLeft.at(1).toDouble(), coordsTopLeft.at(0).toDouble())); - - place.setBoundingBox(box); - } - } - } - } - - QVariantList containedVarList = var["contained_within"].toList(); - - QList containedInPlacesList; - - if (!containedVarList.isEmpty()) { - foreach (const QVariant& containedVar, containedVarList) { - QVariantMap containedPlaceMap = containedVar.toMap(); - - QTweetPlace containedPlace = variantMapToPlaceRecursive(containedPlaceMap); - - containedInPlacesList.append(containedPlace); - } - } - - place.setContainedWithin(containedInPlacesList); - - return place; -} - -/** - * Convers list of places - */ -QList QTweetConvert::variantToPlaceList(const QVariant& fromParser) -{ - QList placeList; - - QVariantMap responseVarMap = fromParser.toMap(); - QVariantMap resultVarMap = responseVarMap["result"].toMap(); - QVariantList placesVarList = resultVarMap["places"].toList(); - - foreach (const QVariant& placeVar, placesVarList) { - QTweetPlace place = variantMapToPlaceRecursive(placeVar.toMap()); - placeList.append(place); - } - - return placeList; -} - -QTweetEntityUrl QTweetConvert::variantMapToEntityUrl(const QVariantMap &var) -{ - QString url = var["url"].toString(); - QString displayUrl = var["display_url"].toString(); - QString expandedUrl = var["expanded_url"].toString(); - - QTweetEntityUrl urlEntity; - urlEntity.setUrl(url); - urlEntity.setDisplayUrl(displayUrl); - urlEntity.setExpandedUrl(expandedUrl); - - return urlEntity; -} - -QTweetEntityHashtag QTweetConvert::variantMapToEntityHashtag(const QVariantMap &var) -{ - QTweetEntityHashtag hashtagEntity; - hashtagEntity.setText(var["text"].toString()); - - return hashtagEntity; -} - -QTweetEntityUserMentions QTweetConvert::variantMapToEntityUserMentions(const QVariantMap &var) -{ - QTweetEntityUserMentions userMentionsEntity; - userMentionsEntity.setScreenName(var["screen_name"].toString()); - userMentionsEntity.setName(var["name"].toString()); - userMentionsEntity.setUserid(var["id"].toLongLong()); - - return userMentionsEntity; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetconvert.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetconvert.h deleted file mode 100644 index 0b2dcd0bb..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetconvert.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETCONVERT_H -#define QTWEETCONVERT_H - -#include - -class QTweetStatus; -class QTweetUser; -class QTweetDMStatus; -class QTweetList; -class QTweetSearchResult; -class QTweetSearchPageResults; -class QTweetPlace; -class QTweetEntityUrl; -class QTweetEntityHashtag; -class QTweetEntityUserMentions; - -/** - * Contains static converting functions - */ -class QTweetConvert -{ -public: - static QList variantToStatusList(const QVariant& fromParser); - static QTweetStatus variantMapToStatus(const QVariantMap& var); - static QTweetUser variantMapToUserInfo(const QVariantMap& var); - static QList variantToDirectMessagesList(const QVariant& fromParser); - static QTweetDMStatus variantMapToDirectMessage(const QVariantMap& var); - static QTweetList variantMapToTweetList(const QVariantMap& var); - static QList variantToUserInfoList(const QVariant& fromParser); - static QList variantToTweetLists(const QVariant& var); - static QTweetSearchResult variantMapToSearchResult(const QVariantMap& var); - static QTweetSearchPageResults variantToSearchPageResults(const QVariant& var); - static QTweetPlace variantMapToPlace(const QVariantMap& var); - static QTweetPlace variantMapToPlaceRecursive(const QVariantMap& var); - static QList variantToPlaceList(const QVariant& fromParser); - static QTweetEntityUrl variantMapToEntityUrl(const QVariantMap& var); - static QTweetEntityHashtag variantMapToEntityHashtag(const QVariantMap& var); - static QTweetEntityUserMentions variantMapToEntityUserMentions(const QVariantMap& var); - - -}; - -#endif // QTWEETCONVERT_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagedestroy.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagedestroy.cpp deleted file mode 100644 index 0c00a88bf..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagedestroy.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetdirectmessagedestroy.h" -#include "qtweetdmstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetDirectMessageDestroy::QTweetDirectMessageDestroy(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetDirectMessageDestroy::QTweetDirectMessageDestroy(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param id the ID of the direct message to delete. - * @param includeEntities When set to true, each tweet will include a node called "entities," - */ -void QTweetDirectMessageDestroy::destroyMessage(qint64 id, bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/direct_messages/destroy/%1.json").arg(id)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::DELETE); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->deleteResource(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetDirectMessageDestroy::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetDMStatus dm = QTweetConvert::variantMapToDirectMessage(json.toMap()); - - emit parsedDirectMessage(dm); - } else { - qDebug() << "QTweetDirectMessageDestroy parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagedestroy.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagedestroy.h deleted file mode 100644 index 6785a4e76..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagedestroy.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETDIRECTMESSAGEDESTROY_H -#define QTWEETDIRECTMESSAGEDESTROY_H - -#include "qtweetnetbase.h" - -/** - * Destroys the direct message. - * The authenticating user must be the recipient of the specified direct message. - */ -class QTWEETLIBSHARED_EXPORT QTweetDirectMessageDestroy : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetDirectMessageDestroy(QObject *parent = 0); - QTweetDirectMessageDestroy(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void destroyMessage(qint64 id, bool includeEntities = false); - -signals: - /** emits destroyed direct message */ - void parsedDirectMessage(const QTweetDMStatus& message); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETDIRECTMESSAGEDESTROY_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagenew.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagenew.cpp deleted file mode 100644 index fe8a190c8..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagenew.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetdirectmessagenew.h" -#include "qtweetdmstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetDirectMessageNew::QTweetDirectMessageNew(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetDirectMessageNew::QTweetDirectMessageNew(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Sends direct message - * @param user The ID of the user who should receive the direct message. - * @param text The text of direct message - * @param includeEntities When set to true each tweet will include a node called "entities," - */ -void QTweetDirectMessageNew::post(qint64 user, - const QString &text, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/direct_messages/new.json"); - - QUrl urlQuery(url); - - urlQuery.addQueryItem("user_id", QString::number(user)); - urlQuery.addEncodedQueryItem("text", QUrl::toPercentEncoding(text)); - - if (includeEntities) - urlQuery.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray postBody = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - postBody.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, postBody); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Sends direct message - * @param user The ID of the user who should receive the direct message. - * @param text The text of direct message - * @param includeEntities When set to true each tweet will include a node called "entities," - */ -void QTweetDirectMessageNew::post(const QString &screenName, const QString &text, bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/direct_messages/new.json"); - - QUrl urlQuery(url); - - urlQuery.addEncodedQueryItem("screen_name", QUrl::toPercentEncoding(screenName)); - urlQuery.addEncodedQueryItem("text", QUrl::toPercentEncoding(text)); - - if (includeEntities) - urlQuery.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray postBody = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - postBody.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, postBody); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetDirectMessageNew::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetDMStatus dm = QTweetConvert::variantMapToDirectMessage(json.toMap()); - - emit parsedDirectMessage(dm); - } else { - qDebug() << "QTweetDirectMessageNew parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagenew.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagenew.h deleted file mode 100644 index 6842b0877..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagenew.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETDIRECTMESSAGENEW_H -#define QTWEETDIRECTMESSAGENEW_H - -#include "qtweetnetbase.h" - -/** - * Sends a new direct message to the specified user from the authenticating user. - */ -class QTWEETLIBSHARED_EXPORT QTweetDirectMessageNew : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetDirectMessageNew(QObject *parent = 0); - QTweetDirectMessageNew(OAuthTwitter *oauhtTwitter, QObject *parent = 0); - void post(qint64 user, - const QString& text, - bool includeEntities = false); - void post(const QString& screenName, - const QString& text, - bool includeEntities = false); - -signals: - /** Emits direct message who was sent */ - void parsedDirectMessage(const QTweetDMStatus& message); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETDIRECTMESSAGENEW_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessages.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessages.cpp deleted file mode 100644 index 4912799c0..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessages.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetdirectmessages.h" -#include "qtweetdmstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetDirectMessages::QTweetDirectMessages(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetDirectMessages::QTweetDirectMessages(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start fetching direct messages - * @param sinceid Fetch DM newer then sinceid - * @param maxid Fetch DM older then maxid - * @param count Number of DM to fetch (up to 200) - * @param page Page number - * @param includeEntities When true each tweet will include a node called "entities" - * @remarks Setting parameter to default value will not be put in query - */ -void QTweetDirectMessages::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/direct_messages.json"); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetDirectMessages::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList directMessages = QTweetConvert::variantToDirectMessagesList(json); - - emit parsedDirectMessages(directMessages); - } else { - qDebug() << "QTweetDirectMessages JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessages.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessages.h deleted file mode 100644 index 9b4917bd2..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessages.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETDIRECTMESSAGES_H -#define QTWEETDIRECTMESSAGES_H - -#include "qtweetnetbase.h" - -class QTweetDMStatus; - -/** - * Class for fetching direct messages - */ -class QTWEETLIBSHARED_EXPORT QTweetDirectMessages : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetDirectMessages(QObject *parent = 0); - QTweetDirectMessages(OAuthTwitter* oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool includeEntities = false); - -signals: - /** Emits parsed direct messages list */ - void parsedDirectMessages(const QList& messages); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETDIRECTMESSAGES_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagessent.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagessent.cpp deleted file mode 100644 index 06d7d70fd..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagessent.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetdirectmessagessent.h" -#include "qtweetdmstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetDirectMessagesSent::QTweetDirectMessagesSent(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetDirectMessagesSent::QTweetDirectMessagesSent(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching direct messages - * @param sinceid returns results with an ID greater than (that is, more recent than) the specified ID. - * @param maxid returns results with an ID less than (that is, older than) or equal to the specified ID. - * @param count specifies the number of records to retrieve. Must be less than or equal to 200. - * @param page specifies the page of results to retrieve. - * @param includeEntities When set to true, each tweet will include a node called "entities,". - * @remarks Setting parameters to default value will not be put in the query - */ -void QTweetDirectMessagesSent::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/direct_messages/sent.json"); - - if (sinceid) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count) - url.addQueryItem("count", QString::number(count)); - - if (page) - url.addQueryItem("page", QString::number(page)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetDirectMessagesSent::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList directMessages = QTweetConvert::variantToDirectMessagesList(json); - - emit parsedDirectMessages(directMessages); - } else { - qDebug() << "QTweetDirectMessagesSent parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagessent.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagessent.h deleted file mode 100644 index c070d904f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdirectmessagessent.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETDIRECTMESSAGESSENT_H -#define QTWEETDIRECTMESSAGESSENT_H - -#include "qtweetnetbase.h" - -/** - * Fetches direct messages sent by the authenticating user. - */ -class QTWEETLIBSHARED_EXPORT QTweetDirectMessagesSent : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetDirectMessagesSent(QObject *parent = 0); - QTweetDirectMessagesSent(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool includeEntities = false); - -signals: - /** Emits direct messages list */ - void parsedDirectMessages(const QList& messages); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETDIRECTMESSAGESSENT_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdmstatus.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetdmstatus.cpp deleted file mode 100644 index 7e9a7584d..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdmstatus.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include "qtweetuser.h" -#include "qtweetdmstatus.h" - -class QTweetDMStatusData : public QSharedData -{ -public: - QDateTime createdAt; - QString senderScreenName; - QTweetUser sender; - QString text; - QString recipientScreenName; - qint64 id; - QTweetUser recipient; - qint64 recipientId; - qint64 senderId; -}; - -QTweetDMStatus::QTweetDMStatus() : - d(new QTweetDMStatusData) -{ -} - -QTweetDMStatus::QTweetDMStatus(const QTweetDMStatus &other) : - d(other.d) -{ -} - -QTweetDMStatus& QTweetDMStatus::operator =(const QTweetDMStatus &other) -{ - if (this != &other) - d.operator =(other.d); - return *this; -} - -QTweetDMStatus::~QTweetDMStatus() -{ -} - -void QTweetDMStatus::setCreatedAt(const QString &twitterDate) -{ - d->createdAt = QTweetUser::twitterDateToQDateTime(twitterDate); -} - -void QTweetDMStatus::setCreatedAt(const QDateTime &datetime) -{ - d->createdAt = datetime; -} - -QDateTime QTweetDMStatus::createdAt() const -{ - return d->createdAt; -} - -void QTweetDMStatus::setSenderScreenName(const QString &screenName) -{ - d->senderScreenName = screenName; -} - -QString QTweetDMStatus::senderScreenName() const -{ - return d->senderScreenName; -} - -void QTweetDMStatus::setSender(const QTweetUser &sender) -{ - d->sender = sender; -} - -QTweetUser QTweetDMStatus::sender() const -{ - return d->sender; -} - -void QTweetDMStatus::setText(const QString &text) -{ - d->text = text; -} - -QString QTweetDMStatus::text() const -{ - return d->text; -} - -void QTweetDMStatus::setRecipientScreenName(const QString &screenName) -{ - d->recipientScreenName = screenName; -} - -QString QTweetDMStatus::recipientScreenName() const -{ - return d->recipientScreenName; -} - -void QTweetDMStatus::setId(qint64 id) -{ - d->id = id; -} - -qint64 QTweetDMStatus::id() const -{ - return d->id; -} - -void QTweetDMStatus::setRecipient(const QTweetUser &recipient) -{ - d->recipient = recipient; -} - -QTweetUser QTweetDMStatus::recipient() const -{ - return d->recipient; -} - -void QTweetDMStatus::setRecipientId(qint64 id) -{ - d->recipientId = id; -} - -qint64 QTweetDMStatus::recipientId() const -{ - return d->recipientId; -} - -void QTweetDMStatus::setSenderId(qint64 id) -{ - d->senderId = id; -} - -qint64 QTweetDMStatus::senderId() const -{ - return d->senderId; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetdmstatus.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetdmstatus.h deleted file mode 100644 index dea37435c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetdmstatus.h +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETDMSTATUS_H -#define QTWEETDMSTATUS_H - -#include -#include -#include "qtweetlib_global.h" - -class QTweetUser; -class QTweetDMStatusData; - -/** - * Stores direct message info - */ -class QTWEETLIBSHARED_EXPORT QTweetDMStatus -{ -public: - QTweetDMStatus(); - QTweetDMStatus(const QTweetDMStatus& other); - QTweetDMStatus& operator=(const QTweetDMStatus& other); - ~QTweetDMStatus(); - - void setCreatedAt(const QString& twitterDate); - void setCreatedAt(const QDateTime& datetime); - QDateTime createdAt() const; - void setSenderScreenName(const QString& screenName); - QString senderScreenName() const; - void setSender(const QTweetUser& sender); - QTweetUser sender() const; - void setText(const QString& text); - QString text() const; - void setRecipientScreenName(const QString& screenName); - QString recipientScreenName() const; - void setId(qint64 id); - qint64 id() const; - void setRecipient(const QTweetUser& recipient); - QTweetUser recipient() const; - void setRecipientId(qint64 id); - qint64 recipientId() const; - void setSenderId(qint64 id); - qint64 senderId() const; - -private: - QSharedDataPointer d; -}; - -Q_DECLARE_METATYPE(QTweetDMStatus) - -#endif // QTWEETDMSTATUS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityhashtag.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetentityhashtag.cpp deleted file mode 100644 index e9b06dd52..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityhashtag.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetentityhashtag.h" -#include -#include - -class QTweetEntityHashtagData : public QSharedData { -public: - QString hashtag; -}; - -QTweetEntityHashtag::QTweetEntityHashtag() : data(new QTweetEntityHashtagData) -{ -} - -QTweetEntityHashtag::QTweetEntityHashtag(const QTweetEntityHashtag &rhs) : data(rhs.data) -{ -} - -QTweetEntityHashtag &QTweetEntityHashtag::operator=(const QTweetEntityHashtag &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -QTweetEntityHashtag::~QTweetEntityHashtag() -{ -} - -void QTweetEntityHashtag::setText(const QString &text) -{ - data->hashtag = text; -} - -QString QTweetEntityHashtag::text() const -{ - return data->hashtag; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityhashtag.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetentityhashtag.h deleted file mode 100644 index e3c1e21d5..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityhashtag.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETENTITYHASHTAG_H -#define QTWEETENTITYHASHTAG_H - -#include - -class QTweetEntityHashtagData; - -class QTweetEntityHashtag -{ -public: - QTweetEntityHashtag(); - QTweetEntityHashtag(const QTweetEntityHashtag &); - QTweetEntityHashtag &operator=(const QTweetEntityHashtag &); - ~QTweetEntityHashtag(); - - void setText(const QString& text); - QString text() const; - -private: - QSharedDataPointer data; -}; - -#endif // QTWEETENTITYHASHTAG_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityurl.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetentityurl.cpp deleted file mode 100644 index 931d0d75c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityurl.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetentityurl.h" -#include -#include - -class QTweetEntityUrlData : public QSharedData { -public: - QTweetEntityUrlData() : empty(false) {} - - QString displayUrl; - QString url; - QString expandedUrl; - bool empty; -}; - -QTweetEntityUrl::QTweetEntityUrl() : data(new QTweetEntityUrlData) -{ -} - -QTweetEntityUrl::QTweetEntityUrl(const QTweetEntityUrl &rhs) : data(rhs.data) -{ -} - -QTweetEntityUrl &QTweetEntityUrl::operator=(const QTweetEntityUrl &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -QTweetEntityUrl::~QTweetEntityUrl() -{ -} - -void QTweetEntityUrl::setDisplayUrl(const QString &url) -{ - data->displayUrl = url; -} - -QString QTweetEntityUrl::displayUrl() const -{ - return data->displayUrl; -} - -void QTweetEntityUrl::setUrl(const QString &url) -{ - data->url = url; -} - -QString QTweetEntityUrl::url() const -{ - return data->url; -} - -void QTweetEntityUrl::setExpandedUrl(const QString &url) -{ - data->url = url; -} - -QString QTweetEntityUrl::expandedUrl() const -{ - return data->url; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityurl.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetentityurl.h deleted file mode 100644 index 77e10add2..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityurl.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETENTITYURL_H -#define QTWEETENTITYURL_H - -#include - -class QTweetEntityUrlData; - -class QTweetEntityUrl -{ -public: - QTweetEntityUrl(); - QTweetEntityUrl(const QTweetEntityUrl &); - QTweetEntityUrl &operator=(const QTweetEntityUrl &); - ~QTweetEntityUrl(); - - void setDisplayUrl(const QString& url); - QString displayUrl() const; - void setUrl(const QString& url); - QString url() const; - void setExpandedUrl(const QString& url); - QString expandedUrl() const; - -private: - QSharedDataPointer data; -}; - -#endif // QTWEETENTITYURL_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityusermentions.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetentityusermentions.cpp deleted file mode 100644 index 9d69a41c4..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityusermentions.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetentityusermentions.h" -#include -#include - -class QTweetEntityUserMentionsData : public QSharedData { -public: - QTweetEntityUserMentionsData() : userid(0) {} - - QString screenName; - QString name; - qint64 userid; -}; - -QTweetEntityUserMentions::QTweetEntityUserMentions() : data(new QTweetEntityUserMentionsData) -{ -} - -QTweetEntityUserMentions::QTweetEntityUserMentions(const QTweetEntityUserMentions &rhs) : data(rhs.data) -{ -} - -QTweetEntityUserMentions &QTweetEntityUserMentions::operator=(const QTweetEntityUserMentions &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -QTweetEntityUserMentions::~QTweetEntityUserMentions() -{ -} - -void QTweetEntityUserMentions::setScreenName(const QString &screenName) -{ - data->screenName = screenName; -} - -QString QTweetEntityUserMentions::screenName() const -{ - return data->screenName; -} - -void QTweetEntityUserMentions::setName(const QString &name) -{ - data->name = name; -} - -QString QTweetEntityUserMentions::name() const -{ - return data->name; -} - -void QTweetEntityUserMentions::setUserid(qint64 id) -{ - data->userid = id; -} - -qint64 QTweetEntityUserMentions::userid() const -{ - return data->userid; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityusermentions.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetentityusermentions.h deleted file mode 100644 index 40e77ef21..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetentityusermentions.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETENTITYUSERMENTIONS_H -#define QTWEETENTITYUSERMENTIONS_H - -#include - -class QTweetEntityUserMentionsData; - -class QTweetEntityUserMentions -{ -public: - QTweetEntityUserMentions(); - QTweetEntityUserMentions(const QTweetEntityUserMentions &); - QTweetEntityUserMentions &operator=(const QTweetEntityUserMentions &); - ~QTweetEntityUserMentions(); - - void setScreenName(const QString& screenName); - QString screenName() const; - void setName(const QString& name); - QString name() const; - void setUserid(qint64 id); - qint64 userid() const; - -private: - QSharedDataPointer data; -}; - -#endif // QTWEETENTITYUSERMENTIONS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavorites.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfavorites.cpp deleted file mode 100644 index c61f23096..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavorites.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfavorites.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetFavorites::QTweetFavorites(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFavorites::QTweetFavorites(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching favorites - * @param id the ID of the user for whom to request a list of favorite statuses. 0 for authenticated user - * @param page Specifies the page of results to retrieve. - * @param includeEntities When set to true, each tweet will include a node called "entities,". - */ -void QTweetFavorites::fetch(qint64 id, int page, bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url; - - if (id) { - url.setUrl(QString("http://api.twitter.com/1/favorites/%1.json").arg(id)); - } else { - url.setUrl("http://api.twitter.com/1/favorites.json"); - } - - if (page) - url.addQueryItem("page", QString::number(page)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFavorites::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedFavorites(statuses); - } else { - qDebug() << "QTweetFavorites JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavorites.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfavorites.h deleted file mode 100644 index abcd26d23..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavorites.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFAVORITES_H -#define QTWEETFAVORITES_H - -#include "qtweetnetbase.h" - -/** - * Fetches favorite statuses for the authenticating user or - * user specified by the ID parameter - */ -class QTWEETLIBSHARED_EXPORT QTweetFavorites : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFavorites(QObject *parent = 0); - QTweetFavorites(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 id = 0, - int page = 0, - bool includeEntities = false); - -signals: - /** Emits list of favorited statuses */ - void parsedFavorites(const QList& favorites); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETFAVORITES_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritescreate.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritescreate.cpp deleted file mode 100644 index 5d4f0eca6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritescreate.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfavoritescreate.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetFavoritesCreate::QTweetFavoritesCreate(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFavoritesCreate::QTweetFavoritesCreate(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts creating favorited statues - * @param statusid ID of the desired status to be favorited. - * @param includeEntities When set to true, each tweet will include a node called "entities,". - */ -void QTweetFavoritesCreate::create(qint64 statusid, bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/favorites/create/%1.json").arg(statusid)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, QByteArray()); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFavoritesCreate::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetStatus status = QTweetConvert::variantMapToStatus(json.toMap()); - - emit parsedStatus(status); - } else { - qDebug() << "QTweetFavoritesCreate parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritescreate.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritescreate.h deleted file mode 100644 index cceecf139..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritescreate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFAVORITESCREATE_H -#define QTWEETFAVORITESCREATE_H - -#include "qtweetnetbase.h" - -/** - * Favorites the status specified in the ID parameter as the authenticating user. - * Emits the favorite status when successful. - */ -class QTWEETLIBSHARED_EXPORT QTweetFavoritesCreate : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFavoritesCreate(QObject *parent = 0); - QTweetFavoritesCreate(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void create(qint64 statusid, bool includeEntities = false); - -signals: - /** Emits favorited status */ - void parsedStatus(const QTweetStatus& status); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETFAVORITESCREATE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritesdestroy.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritesdestroy.cpp deleted file mode 100644 index 6c41503e4..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritesdestroy.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfavoritesdestroy.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetFavoritesDestroy::QTweetFavoritesDestroy(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFavoritesDestroy::QTweetFavoritesDestroy(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts unfavoriting status - * @param statusid ID of the desired status - * @param includeEntities When set to true, each tweet will include a node called "entities," - */ -void QTweetFavoritesDestroy::unfavorite(qint64 statusid, bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/favorites/destroy/%1.json").arg(statusid)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::DELETE); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->deleteResource(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFavoritesDestroy::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetStatus status = QTweetConvert::variantMapToStatus(json.toMap()); - - emit parsedStatus(status); - } else { - qDebug() << "QTweetFavoritesDestroy parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritesdestroy.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritesdestroy.h deleted file mode 100644 index 3d531f2dc..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfavoritesdestroy.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFAVORITESDESTROY_H -#define QTWEETFAVORITESDESTROY_H - -#include "qtweetnetbase.h" - -/** - * Un-favorites the status specified in the ID parameter as the authenticating user. - * Emits the un-favorited status when successful. - */ -class QTWEETLIBSHARED_EXPORT QTweetFavoritesDestroy : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFavoritesDestroy(QObject *parent = 0); - QTweetFavoritesDestroy(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void unfavorite(qint64 statusid, bool includeEntities = false); - -signals: - /** Emits the unfavorited status */ - void parsedStatus(const QTweetStatus& status); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETFAVORITESDESTROY_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfollowersid.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfollowersid.cpp deleted file mode 100644 index 5857907f1..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfollowersid.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfollowersid.h" - -/** - * Constructor - */ -QTweetFollowersID::QTweetFollowersID(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFollowersID::QTweetFollowersID(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching one page of id's - * @param user the ID of the user for whom to return results for. - * @param cursor use from signal response nextCursor and prevCursor to allow paging back and forth - */ -void QTweetFollowersID::fetch(qint64 user, const QString &cursor) -{ - QUrl url("http://api.twitter.com/1/followers/ids.json"); - - url.addQueryItem("user_id", QString::number(user)); - url.addQueryItem("cursor", cursor); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Starts fetching one page of id's - * @param screenName the screen name of the user for whom to return results for. - * @param cursor use from signal response nextCursor and prevCursor to allow paging back and forth - */ -void QTweetFollowersID::fetch(const QString &screenName, const QString &cursor) -{ - QUrl url("http://api.twitter.com/1/followers/ids.json"); - - url.addQueryItem("screen_name", screenName); - url.addQueryItem("cursor", cursor); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFollowersID::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList idList; - - QVariantMap respMap = json.toMap(); - - QVariantList idVarList = respMap["ids"].toList(); - - foreach (const QVariant& idVar, idVarList) - idList.append(idVar.toLongLong()); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedIDs(idList, nextCursor, prevCursor); - } else { - qDebug() << "QTweetFollowersID parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfollowersid.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfollowersid.h deleted file mode 100644 index d6dece37b..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfollowersid.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFOLLOWERSID_H -#define QTWEETFOLLOWERSID_H - -#include "qtweetnetbase.h" - -/** - * Returns an list of numeric IDs for every user following the specified user. - */ -class QTWEETLIBSHARED_EXPORT QTweetFollowersID : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFollowersID(QObject *parent = 0); - QTweetFollowersID(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 user, - const QString& cursor = QString("-1")); - void fetch(const QString& screenName, - const QString& cursor = QString("-1")); - -signals: - /** - * Emits one page of ids - * @param ids List of ids following the user - * @param nextCursor Cursor for next page, "0" if there is no page - * @param prevCursor Cursor for prev page "0" if there is no page - */ - void parsedIDs(const QList& ids, - const QString& nextCursor, - const QString& prevCursor); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; -#endif // QTWEETFOLLOWERSID_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipcreate.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipcreate.cpp deleted file mode 100644 index 62f9fbc85..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipcreate.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfriendshipcreate.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetFriendshipCreate::QTweetFriendshipCreate(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFriendshipCreate::QTweetFriendshipCreate(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Creates frienship - * @param userid id to follow - * @param follow Enable notifications for the target user. - * @param includeEntities When set to true, each tweet will include a node called "entities" - */ -void QTweetFriendshipCreate::create(qint64 userid, - bool follow, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/friendships/create.json"); - - QUrl urlQuery(url); - - urlQuery.addQueryItem("user_id", QString::number(userid)); - - if (follow) - urlQuery.addQueryItem("follow", "true"); - - if (includeEntities) - urlQuery.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray postBody = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - postBody.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, postBody); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Creates frienship - * @param screenName Screen name of user to follow - * @param follow Enable notifications for the target user. - * @param includeEntities When set to true, each tweet will include a node called "entities" - */ -void QTweetFriendshipCreate::create(const QString &screenName, - bool follow, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/friendships/create.json"); - - QUrl urlQuery(url); - - urlQuery.addQueryItem("screen_name", QUrl::toPercentEncoding(screenName)); - - if (follow) - urlQuery.addQueryItem("follow", "true"); - - if (includeEntities) - urlQuery.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray postBody = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - postBody.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, postBody); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFriendshipCreate::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetUser user = QTweetConvert::variantMapToUserInfo(json.toMap()); - - emit parsedUser(user); - } else { - qDebug() << "QTweetFriendshipCreate parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipcreate.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipcreate.h deleted file mode 100644 index 8340312c7..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipcreate.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFRIENDSHIPCREATE_H -#define QTWEETFRIENDSHIPCREATE_H - -#include "qtweetnetbase.h" - -/** - * Allows the authenticating users to follow the user specified in the ID parameter. - */ -class QTWEETLIBSHARED_EXPORT QTweetFriendshipCreate : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFriendshipCreate(QObject *parent = 0); - QTweetFriendshipCreate(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void create(qint64 userid, - bool follow = false, - bool includeEntities = false); - void create(const QString& screenName, - bool follow = false, - bool includeEntities = false); - -signals: - /** Emits the befriended user */ - void parsedUser(const QTweetUser& user); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETFRIENDSHIPCREATE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipdestroy.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipdestroy.cpp deleted file mode 100644 index 2eab28264..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipdestroy.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfriendshipdestroy.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetFriendshipDestroy::QTweetFriendshipDestroy(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFriendshipDestroy::QTweetFriendshipDestroy(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Unfollows the specified user - * @param userid user id to unfollow - * @param includeEntities when set totrue, each tweet will include a node called "entities,". - */ -void QTweetFriendshipDestroy::unfollow(qint64 userid, bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/friendships/destroy.json"); - - url.addQueryItem("user_id", QString::number(userid)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::DELETE); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->deleteResource(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Unfollows the specified user - * @param screenName screen name to unfollow - * @param includeEntities when set totrue, each tweet will include a node called "entities,". - */ -void QTweetFriendshipDestroy::unfollow(const QString &screenName, bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/friendships/destroy.json"); - - url.addQueryItem("screen_name", screenName); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::DELETE); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->deleteResource(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFriendshipDestroy::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetUser user = QTweetConvert::variantMapToUserInfo(json.toMap()); - - emit parsedUser(user); - } else { - qDebug() << "QTweetFriendshipCreate parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipdestroy.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipdestroy.h deleted file mode 100644 index 043e1ec21..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendshipdestroy.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFRIENDSHIPDESTROY_H -#define QTWEETFRIENDSHIPDESTROY_H - -#include "qtweetnetbase.h" - -/** - * Allows the authenticating users to unfollow the user specified in the ID parameter. - */ -class QTWEETLIBSHARED_EXPORT QTweetFriendshipDestroy : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFriendshipDestroy(QObject *parent = 0); - QTweetFriendshipDestroy(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void unfollow(qint64 userid, - bool includeEntities = false); - void unfollow(const QString& screenName, - bool includeEntities = false); - -signals: - /** Emits unfollowed user */ - void parsedUser(const QTweetUser& user); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETFRIENDSHIPDESTROY_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendsid.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendsid.cpp deleted file mode 100644 index 679b7fb10..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendsid.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfriendsid.h" - -/** - * Constructor - */ -QTweetFriendsID::QTweetFriendsID(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFriendsID::QTweetFriendsID(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start fetcing one page of id's - * @param user the ID of the user for whom to return results for. - * @param cursor use from response nextCursor and prevCursor to allow paging back and forth - */ -void QTweetFriendsID::fetch(qint64 user, const QString &cursor) -{ - QUrl url("http://api.twitter.com/1/friends/ids.json"); - - url.addQueryItem("user_id", QString::number(user)); - url.addQueryItem("cursor", cursor); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Start fetcing one page of id's - * @param screenName the screen name of the user for whom to return results for. - * @param cursor use from response nextCursor and prevCursor to allow paging back and forth - */ -void QTweetFriendsID::fetch(const QString &screenName, const QString &cursor) -{ - QUrl url("http://api.twitter.com/1/friends/ids.json"); - - url.addQueryItem("screen_name", screenName); - url.addQueryItem("cursor", cursor); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFriendsID::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList idList; - - QVariantMap respMap = json.toMap(); - - QVariantList idVarList = respMap["ids"].toList(); - - foreach (const QVariant& idVar, idVarList) - idList.append(idVar.toLongLong()); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedIDs(idList, nextCursor, prevCursor); - } else { - qDebug() << "QTweetFriendsID parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendsid.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendsid.h deleted file mode 100644 index 2899f8f93..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendsid.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFRIENDSID_H -#define QTWEETFRIENDSID_H - -#include "qtweetnetbase.h" - -/** - * Returns an list of numeric IDs for every user the specified user is following. - */ -class QTWEETLIBSHARED_EXPORT QTweetFriendsID : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFriendsID(QObject *parent = 0); - QTweetFriendsID(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 user, - const QString& cursor = QString("-1")); - void fetch(const QString& screenName, - const QString& cursor = QString("-1")); - -signals: - /** Emits one page of ids - * @param ids list of ids user is following - * @param nextCursor cursor for next page, "0" if there is no page - * @param prevCursor cursor for prev page "0" if there is no page - */ - void parsedIDs(const QList& ids, - const QString& nextCursor, - const QString& prevCursor); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETFRIENDSID_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendstimeline.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendstimeline.cpp deleted file mode 100644 index fd4e3f9e6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendstimeline.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetfriendstimeline.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetFriendsTimeline::QTweetFriendsTimeline(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetFriendsTimeline::QTweetFriendsTimeline(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching friends timeline - * @param sinceid fetch tweets newer then sinceid - * @param maxid fetch tweets older then maxid - * @param count number of tweet to fetch (up to 200) - * @param page page Number (starts from 1) - * @param skipUser don't show user info in timeline (only id) - * @param includeRts timeline contains native retweets if true - * @param includeEntities each tweet will include node "entities" - * @remarks Setting parameter to default value will not be put in query - */ -void QTweetFriendsTimeline::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool trimUser, - bool includeRts, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled."); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/friends_timeline.json"); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeRts) - url.addQueryItem("include_rts", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetFriendsTimeline::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetFriendsTimeline JSON Parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendstimeline.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendstimeline.h deleted file mode 100644 index 04e7cd293..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetfriendstimeline.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETFRIENDSTIMELINE_H -#define QTWEETFRIENDSTIMELINE_H - -#include "qtweetnetbase.h" - -class QTweetStatus; - -/** - * Class for fetching twitter friends timeline - */ -class QTWEETLIBSHARED_EXPORT QTweetFriendsTimeline : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetFriendsTimeline(QObject *parent = 0); - QTweetFriendsTimeline(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool trimUser = false, - bool includeRts = false, - bool includeEntities = false); - -signals: - /** Emits friends timeline status list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETTERFRIENDSTIMELINE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoboundingbox.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoboundingbox.cpp deleted file mode 100644 index 65142a8b8..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoboundingbox.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetgeoboundingbox.h" - -QTweetGeoBoundingBox::QTweetGeoBoundingBox() -{ -} - -QTweetGeoBoundingBox::QTweetGeoBoundingBox(const QTweetGeoCoord &topLeft, - const QTweetGeoCoord &topRight, - const QTweetGeoCoord &bottomRight, - const QTweetGeoCoord &bottomLeft) -{ - setTopLeft(topLeft); - setTopRight(topRight); - setBottomRight(bottomRight); - setBottomLeft(bottomLeft); -} - -bool QTweetGeoBoundingBox::isValid() const -{ - return m_topLeft.isValid() & m_topRight.isValid() & - m_bottomRight.isValid() & m_bottomLeft.isValid(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoboundingbox.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoboundingbox.h deleted file mode 100644 index 3a3c57bd8..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoboundingbox.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETGEOBOUNDINGBOX_H -#define QTWEETGEOBOUNDINGBOX_H - -#include "qtweetlib_global.h" -#include "qtweetgeocoord.h" - -/** - * Stores geo bounding box - * Doesnt' do anything fancy/calculations just stores boundind box info from twitter api - */ -class QTWEETLIBSHARED_EXPORT QTweetGeoBoundingBox -{ -public: - QTweetGeoBoundingBox(); - QTweetGeoBoundingBox(const QTweetGeoCoord& topLeft, - const QTweetGeoCoord& topRight, - const QTweetGeoCoord& bottomRight, - const QTweetGeoCoord& bottomLeft); - QTweetGeoCoord topLeft() const { return m_topLeft; } - QTweetGeoCoord topRight() const { return m_topRight; } - QTweetGeoCoord bottomRight() const { return m_bottomRight; } - QTweetGeoCoord bottomLeft() const { return m_bottomLeft; } - void setTopLeft(const QTweetGeoCoord& topLeft) { m_topLeft = topLeft; } - void setTopRight(const QTweetGeoCoord& topRight) { m_topRight = topRight; } - void setBottomRight(const QTweetGeoCoord& bottomRight) { m_bottomRight = bottomRight; } - void setBottomLeft(const QTweetGeoCoord& bottomLeft) { m_bottomLeft = bottomLeft; } - bool isValid() const; - -private: - QTweetGeoCoord m_topLeft; - QTweetGeoCoord m_topRight; - QTweetGeoCoord m_bottomRight; - QTweetGeoCoord m_bottomLeft; -}; - -#endif // QTWEETGEOBOUNDINGBOX_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeocoord.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeocoord.cpp deleted file mode 100644 index 66cab3ba8..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeocoord.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetgeocoord.h" - -QTweetGeoCoord::QTweetGeoCoord() - : m_validLatitude(false), m_validLongitude(false) -{ -} - -QTweetGeoCoord::QTweetGeoCoord(double latitude, double longitude) -{ - setLatitude(latitude); - setLongitude(longitude); -} - -bool QTweetGeoCoord::isValid() const -{ - return m_validLatitude & m_validLongitude; -} - -void QTweetGeoCoord::setLatitude(double latitude) -{ - m_latitude = latitude; - - if (m_latitude > -90.0 || m_latitude < 90.0) - m_validLatitude = true; - else - m_validLatitude = false; -} - -void QTweetGeoCoord::setLongitude(double longitude) -{ - m_longitude = longitude; - - if (m_longitude > -180.0 || m_longitude < 180.0) - m_validLongitude = true; - else - m_validLongitude = false; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeocoord.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeocoord.h deleted file mode 100644 index 1e0fff824..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeocoord.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETGEOCOORD_H -#define QTWEETGEOCOORD_H - -#include "qtweetlib_global.h" - -/** - * Stores latitude/longitude coordinates - * Does basic checking if latitude/longitude is in valid degrees - */ -class QTWEETLIBSHARED_EXPORT QTweetGeoCoord -{ -public: - QTweetGeoCoord(); - QTweetGeoCoord(double latitude, double longitude); - bool isValid() const; - double latitude() const { return m_latitude; } - double longitude() const { return m_longitude; } - void setLatitude(double latitude); - void setLongitude(double longitude); - -private: - double m_latitude; - double m_longitude; - bool m_validLatitude; - bool m_validLongitude; -}; - -#endif // QTWEETGEOCOORD_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplacecreate.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplacecreate.cpp deleted file mode 100644 index df4bb4b30..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplacecreate.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetgeoplacecreate.h" -#include "qtweetplace.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetGeoPlaceCreate::QTweetGeoPlaceCreate(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetGeoPlaceCreate::QTweetGeoPlaceCreate(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Creates place - * @param name the name a place is known as - * @param containedWithin placeid within which the new place can be found. Be close as possible with - contained place - * @param token token found in the response from QTweetGeoSimilarPlaces - * @param latLong latitude and longitude - */ -void QTweetGeoPlaceCreate::create(const QString &name, - const QString &containedWithin, - const QString &token, - const QTweetGeoCoord &latLong) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/geo/place.json"); - QUrl urlQuery(url); - - urlQuery.addEncodedQueryItem("name", QUrl::toPercentEncoding(name)); - urlQuery.addQueryItem("contained_within", containedWithin); - urlQuery.addQueryItem("token", token); - urlQuery.addQueryItem("lat", QString::number(latLong.latitude())); - urlQuery.addQueryItem("long", QString::number(latLong.longitude())); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - - QNetworkRequest req(url); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray statusPost = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - statusPost.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, statusPost); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetGeoPlaceCreate::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetPlace place = QTweetConvert::variantMapToPlaceRecursive(json.toMap()); - - emit parsedPlace(place); - } else { - qDebug() << "QTweetGeoPlaceCreate parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplacecreate.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplacecreate.h deleted file mode 100644 index f503801bd..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplacecreate.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETGEOPLACECREATE_H -#define QTWEETGEOPLACECREATE_H - -#include "qtweetnetbase.h" - -class QTweetPlace; -class QTweetGeoCoord; - -/** - * Creates a new place at the given latitude and longitude - */ -class QTWEETLIBSHARED_EXPORT QTweetGeoPlaceCreate : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetGeoPlaceCreate(QObject *parent = 0); - QTweetGeoPlaceCreate(OAuthTwitter *oauthTwitter, QObject *parent = 0); - - void create(const QString& name, - const QString& containedWithin, - const QString& token, - const QTweetGeoCoord& latLong); - -signals: - /** Emits geo place */ - void parsedPlace(const QTweetPlace& place); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETGEOPLACECREATE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplaceid.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplaceid.cpp deleted file mode 100644 index c3cdd909f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplaceid.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetgeoplaceid.h" -#include "qtweetplace.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetGeoPlaceID::QTweetGeoPlaceID(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetGeoPlaceID::QTweetGeoPlaceID(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching information about place - * @param placeid a place in the world. These ID's can be retrieved from QTweetGeoReverseGeoCode - */ -void QTweetGeoPlaceID::get(const QString &placeid) -{ - QUrl url(QString("http://api.twitter.com/1/geo/id/%1.json").arg(placeid)); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetGeoPlaceID::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetPlace place = QTweetConvert::variantMapToPlaceRecursive(json.toMap()); - - emit parsedPlace(place); - } else { - qDebug() << "QTweetGeoPlaceID parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplaceid.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplaceid.h deleted file mode 100644 index f25400387..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoplaceid.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETGEOPLACEID_H -#define QTWEETGEOPLACEID_H - -#include "qtweetnetbase.h" - -class QTweetPlace; - -/** - * Fetches all the information about a known place - */ -class QTWEETLIBSHARED_EXPORT QTweetGeoPlaceID : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetGeoPlaceID(QObject *parent = 0); - QTweetGeoPlaceID(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void get(const QString& placeid); - -signals: - /** Emits the place */ - void parsedPlace(const QTweetPlace& place); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETGEOPLACEID_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoreversegeocode.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoreversegeocode.cpp deleted file mode 100644 index d3844e9e3..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoreversegeocode.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetgeoreversegeocode.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetGeoReverseGeoCode::QTweetGeoReverseGeoCode(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetGeoReverseGeoCode::QTweetGeoReverseGeoCode(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start geo reversing - * @param latLong latitutde and longitude - * @param accuracy a hint on the "region" in which to search in meters - * @param granularity minimal granularity of place types to return - * @param maxResults hint as to the number of results to return - */ -void QTweetGeoReverseGeoCode::getPlaces(const QTweetGeoCoord& latLong, - int accuracy, - QTweetPlace::Type granularity, - int maxResults) -{ - QUrl url("http://api.twitter.com/1/geo/reverse_geocode.json"); - - url.addQueryItem("lat", QString::number(latLong.latitude())); - url.addQueryItem("long", QString::number(latLong.longitude())); - - if (accuracy != 0) - url.addQueryItem("accuracy", QString::number(accuracy)); - - switch (granularity) { - case QTweetPlace::Poi: - url.addQueryItem("granularity", "poi"); - break; - case QTweetPlace::Neighborhood: - url.addQueryItem("granularity", "neighborhood"); - break; - case QTweetPlace::City: - url.addQueryItem("granularity", "city"); - break; - case QTweetPlace::Admin: - url.addQueryItem("granularity", "admin"); - break; - case QTweetPlace::Country: - url.addQueryItem("granularity", "country"); - break; - default: - ; - } - - if (maxResults != 0) - url.addQueryItem("max_results", QString::number(maxResults)); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetGeoReverseGeoCode::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList places = QTweetConvert::variantToPlaceList(json); - - emit parsedPlaces(places); - } else { - qDebug() << "QTweetGeoReverseGeoCode parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoreversegeocode.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoreversegeocode.h deleted file mode 100644 index b00dc7f72..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeoreversegeocode.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETGEOREVERSEGEOCODE_H -#define QTWEETGEOREVERSEGEOCODE_H - -#include "qtweetnetbase.h" -#include "qtweetplace.h" - -/** - * Given a latitude and a longitude, searches up to 20 places that can be used - * as placeId when updating a status - */ -class QTWEETLIBSHARED_EXPORT QTweetGeoReverseGeoCode : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetGeoReverseGeoCode(QObject *parent = 0); - QTweetGeoReverseGeoCode(OAuthTwitter *oauthTwitter, QObject *parent = 0); - - void getPlaces(const QTweetGeoCoord& latLong, - int accuracy = 0, - QTweetPlace::Type granularity = QTweetPlace::Neighborhood, - int maxResults = 0); - -signals: - /** Emits list of places */ - void parsedPlaces(const QList& places); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETGEOREVERSEGEOCODE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosearch.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosearch.cpp deleted file mode 100644 index d061e6dd3..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosearch.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetgeosearch.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetGeoSearch::QTweetGeoSearch(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetGeoSearch::QTweetGeoSearch(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts geo searching - * @param latLong latitude and longitude - * @param query text to match against while executing a geo-based query, - * best suited for finding nearby locations by name - * @param ip ip address. Used when attempting to fix geolocation based off of the user's IP address. - * @param granularity this is the minimal granularity of place types to return - * @param accuracy hint on the "region" in which to search in meters - * @param maxResults hint as to the number of results to return - * @param containedWithin this is the placeID which you would like to restrict the search results to - */ -void QTweetGeoSearch::search(const QTweetGeoCoord &latLong, - const QString &query, - const QString &ip, - QTweetPlace::Type granularity, - int accuracy, - int maxResults, - const QString &containedWithin) -{ - QUrl url("http://api.twitter.com/1/geo/search.json"); - - if (latLong.isValid()) { - url.addQueryItem("lat", QString::number(latLong.latitude())); - url.addQueryItem("long", QString::number(latLong.longitude())); - } - - if (!query.isEmpty()) - url.addEncodedQueryItem("query", QUrl::toPercentEncoding(query)); - - if (!ip.isEmpty()) - //doesn't do ip format address checking - url.addQueryItem("ip", ip); - - switch (granularity) { - case QTweetPlace::Poi: - url.addQueryItem("granularity", "poi"); - break; - case QTweetPlace::Neighborhood: - url.addQueryItem("granularity", "neighborhood"); - break; - case QTweetPlace::City: - url.addQueryItem("granularity", "city"); - break; - case QTweetPlace::Admin: - url.addQueryItem("granularity", "admin"); - break; - case QTweetPlace::Country: - url.addQueryItem("granularity", "country"); - break; - default: - ; - } - - if (accuracy != 0) - url.addQueryItem("accuracy", QString::number(accuracy)); - - if (maxResults != 0) - url.addQueryItem("max_results", QString::number(maxResults)); - - if (!containedWithin.isEmpty()) - url.addQueryItem("contained_within", containedWithin); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetGeoSearch::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList places = QTweetConvert::variantToPlaceList(json); - - emit parsedPlaces(places); - } else { - qDebug() << "QTweetGeoSearch parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosearch.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosearch.h deleted file mode 100644 index 84ead95d6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosearch.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETGEOSEARCH_H -#define QTWEETGEOSEARCH_H - -#include "qtweetplace.h" -#include "qtweetnetbase.h" - - -/** - * Search for places that can be attached to a statuses/update - * @see http://dev.twitter.com/doc/get/geo/search - */ -class QTWEETLIBSHARED_EXPORT QTweetGeoSearch : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetGeoSearch(QObject *parent = 0); - QTweetGeoSearch(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void search(const QTweetGeoCoord& latLong = QTweetGeoCoord(), - const QString& query = QString(), - const QString& ip = QString(), - QTweetPlace::Type granularity = QTweetPlace::Neighborhood, - int accuracy = 0, - int maxResults = 0, - const QString& containedWithin = QString()); - // ### TODO Atributes, not enough documentation - -signals: - /** Emits list of places */ - void parsedPlaces(const QList& places); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETGEOSEARCH_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosimilarplaces.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosimilarplaces.cpp deleted file mode 100644 index 5a90b606f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosimilarplaces.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include -#include "qtweetplace.h" -#include "qtweetgeosimilarplaces.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetGeoSimilarPlaces::QTweetGeoSimilarPlaces(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetGeoSimilarPlaces::QTweetGeoSimilarPlaces(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start fetching similar places - * @param latLong latitude and longitude - * @param name the name a place is known as - * @param containedWithin this is the placeID which you would like to restrict the search results to - */ -void QTweetGeoSimilarPlaces::get(const QTweetGeoCoord &latLong, const QString &name, const QString &containedWithin) -{ - QUrl url("http://api.twitter.com/1/geo/similar_places.json"); - - url.addQueryItem("lat", QString::number(latLong.latitude())); - url.addQueryItem("long",QString::number(latLong.longitude())); - url.addEncodedQueryItem("name", QUrl::toPercentEncoding(name)); - - if (!containedWithin.isEmpty()) - url.addQueryItem("contained_within", containedWithin); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetGeoSimilarPlaces::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList places = QTweetConvert::variantToPlaceList(json); - - //get token - QVariantMap respMap = json.toMap(); - QVariantMap resultMap = respMap["result"].toMap(); - - QString token = resultMap["token"].toString(); - - emit parsedPlaces(places, token); - } else { - qDebug() << "QTweetGeoSimilarPlaces parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosimilarplaces.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosimilarplaces.h deleted file mode 100644 index 058b007a6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetgeosimilarplaces.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETGEOSIMILARPLACES_H -#define QTWEETGEOSIMILARPLACES_H - -#include "qtweetnetbase.h" - -class QTweetPlace; -class QTweetGeoCoord; - -/** - * Locates places near the given coordinates which are similar in name - * @see http://dev.twitter.com/doc/get/geo/similar_places - */ -class QTWEETLIBSHARED_EXPORT QTweetGeoSimilarPlaces : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetGeoSimilarPlaces(QObject *parent = 0); - QTweetGeoSimilarPlaces(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void get(const QTweetGeoCoord& latLong, - const QString& name, - const QString& containedWithin = QString()); - // ### TODO: Atributes, lack of documentation - -signals: - /** Emits places - * @param places list of places - * @param token token to create a new place - */ - void parsedPlaces(const QList& places, const QString& token); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETGEOSIMILARPLACES_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweethometimeline.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweethometimeline.cpp deleted file mode 100644 index f399c608f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweethometimeline.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweethometimeline.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -/** - * Constructor - */ -QTweetHomeTimeline::QTweetHomeTimeline(QObject *parent) : - QTweetNetBase(parent) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuthTwitter object - * @param parent parent QObject - */ -QTweetHomeTimeline::QTweetHomeTimeline(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start fetching home timeline - * @param sinceid fetches tweets with ID greater (more recent) then sinceid - * @param maxid fetches tweets with ID less (older) then maxid - * @param count number of tweets to fetch (up to 200) - * @param page page number - * @param skipUser true to include only status authors numerical ID - * @param includeEntities true to include a node called "entities" - * @remarks Setting parameter to default value will not be put in a querys - */ -void QTweetHomeTimeline::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool trimUser, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/home_timeline.json"); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetHomeTimeline::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetHomeTimeline JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweethometimeline.h b/thirdparty/qtweetlib/qtweetlib/src/qtweethometimeline.h deleted file mode 100644 index 50d614cb1..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweethometimeline.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETHOMETIMELINE_H -#define QTWEETHOMETIMELINE_H - -#include "qtweetnetbase.h" - -/** - * Fetches user home timeline - */ -class QTWEETLIBSHARED_EXPORT QTweetHomeTimeline : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetHomeTimeline(QObject *parent = 0); - QTweetHomeTimeline(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool trimUser = false, - bool includeEntities = false); - -signals: - /** Emits hometimeline status list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETHOMETIMELINE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlib_global.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlib_global.h deleted file mode 100644 index 2590a1958..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlib_global.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLIB_GLOBAL_H -#define QTWEETLIB_GLOBAL_H - -#include - -#ifndef QTWEETLIBSHARED_EXPORT -# if defined (QTWEETLIB_MAKEDLL) -# define QTWEETLIBSHARED_EXPORT Q_DECL_EXPORT -# else -# define QTWEETLIBSHARED_EXPORT Q_DECL_IMPORT -# endif -#endif - -#define AUTH_HEADER "Authorization" - -#endif // QTWEETLIB_GLOBAL_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlist.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlist.cpp deleted file mode 100644 index fa27f33c4..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlist.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include "qtweetlist.h" -#include "qtweetuser.h" - -class QTweetListData : public QSharedData -{ -public: - QString mode; - QString description; - bool following; - int memberCount; - QString fullname; - int subscriberCount; - QString slug; - QString name; - qint64 id; - QString uri; - QTweetUser user; -}; - -QTweetList::QTweetList() : - d(new QTweetListData) -{ -} - -QTweetList::QTweetList(const QTweetList &other) : - d(other.d) -{ -} - -QTweetList& QTweetList::operator =(const QTweetList& other) -{ - if (this != &other) - d.operator =(other.d); - return *this; -} - -QTweetList::~QTweetList() -{ -} - -void QTweetList::setMode(const QString &mode) -{ - d->mode = mode; -} - -QString QTweetList::mode() const -{ - return d->mode; -} - -void QTweetList::setDescription(const QString &desc) -{ - d->description = desc; -} - -QString QTweetList::description() const -{ - return d->description; -} - -void QTweetList::setFollowing(bool following) -{ - d->following = following; -} - -bool QTweetList::following() const -{ - return d->following; -} - -void QTweetList::setMemberCount(int count) -{ - d->memberCount = count; -} - -int QTweetList::memberCount() const -{ - return d->memberCount; -} - -void QTweetList::setFullName(const QString &name) -{ - d->fullname = name; -} - -QString QTweetList::fullName() const -{ - return d->fullname; -} - -void QTweetList::setSubscriberCount(int count) -{ - d->subscriberCount = count; -} - -int QTweetList::subscriberCount() const -{ - return d->subscriberCount; -} - -void QTweetList::setSlug(const QString &slug) -{ - d->slug = slug; -} - -QString QTweetList::slug() const -{ - return d->slug; -} - -void QTweetList::setName(const QString &name) -{ - d->name = name; -} - -QString QTweetList::name() const -{ - return d->name; -} - -void QTweetList::setId(qint64 id) -{ - d->id = id; -} - -qint64 QTweetList::id() const -{ - return d->id; -} - -void QTweetList::setUri(const QString &uri) -{ - d->uri = uri; -} - -QString QTweetList::uri() const -{ - return d->uri; -} - -void QTweetList::setUser(const QTweetUser &user) -{ - d->user = user; -} - -QTweetUser QTweetList::user() const -{ - return d->user; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlist.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlist.h deleted file mode 100644 index 51b6ca994..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlist.h +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLIST_H -#define QTWEETLIST_H - -#include -#include -#include "qtweetlib_global.h" - -class QTweetUser; -class QTweetListData; - -/** - * Stores list information - */ -class QTWEETLIBSHARED_EXPORT QTweetList -{ -public: - QTweetList(); - QTweetList(const QTweetList& other); - QTweetList& operator=(const QTweetList& other); - ~QTweetList(); - - void setMode(const QString& mode); - QString mode() const; - void setDescription(const QString& desc); - QString description() const; - void setFollowing(bool following); - bool following() const; - void setMemberCount(int count); - int memberCount() const; - void setFullName(const QString& name); - QString fullName() const; - void setSubscriberCount(int count); - int subscriberCount() const; - void setSlug(const QString& slug); - QString slug() const; - void setName(const QString& name); - QString name() const; - void setId(qint64 id); - qint64 id() const; - void setUri(const QString& uri); - QString uri() const; - void setUser(const QTweetUser& user); - QTweetUser user() const; - -private: - QSharedDataPointer d; -}; - -Q_DECLARE_METATYPE(QTweetList) - -#endif // QTWEETLIST_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistaddmember.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistaddmember.cpp deleted file mode 100644 index fcc957d3c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistaddmember.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistaddmember.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListAddMember::QTweetListAddMember(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListAddMember::QTweetListAddMember(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user id (owner of the list) - * @param list list id - * @param memberid user id of the list member - */ -void QTweetListAddMember::add(qint64 user, qint64 list, qint64 memberid) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/%2/members.json").arg(user).arg(list)); - - url.addQueryItem("id", QString::number(memberid)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, QByteArray()); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListAddMember::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit parsedList(list); - } else { - qDebug() << "QTweetListAddMember parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistaddmember.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistaddmember.h deleted file mode 100644 index 25337c17a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistaddmember.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTADDMEMBER_H -#define QTWEETLISTADDMEMBER_H - -#include "qtweetnetbase.h" - -/** - * Add a member to a list. - * The authenticated user must own the list to be able to add members to it. - * Lists are limited to having 500 members. - */ -class QTWEETLIBSHARED_EXPORT QTweetListAddMember : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListAddMember(QObject *parent = 0); - QTweetListAddMember(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void add(qint64 user, - qint64 list, - qint64 memberid); - -signals: - /** Emits list in which user was added */ - void parsedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTADDMEMBER_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistcreate.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistcreate.cpp deleted file mode 100644 index fc403bfb6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistcreate.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include -#include "qjson/parserrunnable.h" -#include "qtweetlistcreate.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListCreate::QTweetListCreate(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListCreate::QTweetListCreate(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** Creates list - * @param user user id - * @param name the name of the list - * @param mode true for public list, false for private list - * @param description the description to give the list. - */ -void QTweetListCreate::create(qint64 user, - const QString &name, - bool mode, - const QString &description) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/lists.json").arg(user)); - - QUrl urlQuery(url); - - urlQuery.addEncodedQueryItem("name", QUrl::toPercentEncoding(name)); - - if (!mode) - urlQuery.addQueryItem("mode", "private"); - - if (!description.isEmpty()) - urlQuery.addEncodedQueryItem("description", QUrl::toPercentEncoding(description)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray postBody = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - postBody.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, postBody); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListCreate::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit parsedList(list); - } else { - qDebug() << "QTweetListCreate json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistcreate.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistcreate.h deleted file mode 100644 index 958d08cdd..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistcreate.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTCREATE_H -#define QTWEETLISTCREATE_H - -#include "qtweetnetbase.h" - -/** - * Creates a new list for the authenticated user. - */ -class QTWEETLIBSHARED_EXPORT QTweetListCreate : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListCreate(QObject *parent = 0); - QTweetListCreate(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void create(qint64 user, - const QString& name, - bool mode = true, - const QString& description = QString()); - -signals: - /** Emits created list */ - void parsedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTCREATE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletelist.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletelist.cpp deleted file mode 100644 index 43b085ab5..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletelist.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistdeletelist.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListDeleteList::QTweetListDeleteList(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListDeleteList::QTweetListDeleteList(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Deletes specified list - * @param user user id - * @param list list id - */ -void QTweetListDeleteList::deleteList(qint64 user, qint64 list) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/lists/%2.json").arg(user).arg(list)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::DELETE); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->deleteResource(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListDeleteList::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - // I hope, Twitter API return list object, did not checked - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit deletedList(list); - } else { - qDebug() << "QTweetListDeleteList json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletelist.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletelist.h deleted file mode 100644 index 89a80d509..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletelist.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTDELETELIST_H -#define QTWEETLISTDELETELIST_H - -#include "qtweetnetbase.h" - -/** - * Deletes the specified list. Must be owned by the authenticated user. - */ -class QTWEETLIBSHARED_EXPORT QTweetListDeleteList : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListDeleteList(QObject *parent = 0); - QTweetListDeleteList(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void deleteList(qint64 user, qint64 list); - -signals: - /** Emits deleted list */ - void deletedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTDELETELIST_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletemember.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletemember.cpp deleted file mode 100644 index b09a45cbe..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletemember.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistdeletemember.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListDeleteMember::QTweetListDeleteMember(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListDeleteMember::QTweetListDeleteMember(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user id (owner of the list - * @param list list id - * @param member user id of the list member to remove - */ -void QTweetListDeleteMember::remove(qint64 user, qint64 list, qint64 member) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/%2/members.json").arg(user).arg(list)); - - url.addQueryItem("id", QString::number(member)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::DELETE); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->deleteResource(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListDeleteMember::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit parsedList(list); - } else { - qDebug() << "QTweetListDeleteMember parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletemember.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletemember.h deleted file mode 100644 index 52c253fdc..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistdeletemember.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTDELETEMEMBER_H -#define QTWEETLISTDELETEMEMBER_H - -#include "qtweetnetbase.h" - -/** - * Removes the specified member from the list. - * The authenticated user must be the list's owner to remove members from the list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListDeleteMember : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListDeleteMember(QObject *parent = 0); - QTweetListDeleteMember(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void remove(qint64 user, - qint64 list, - qint64 member); - -signals: - /** Emits list where member was deleted */ - void parsedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTDELETEMEMBER_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetlists.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetlists.cpp deleted file mode 100644 index 437eb314f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetlists.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistgetlists.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListGetLists::QTweetListGetLists(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListGetLists::QTweetListGetLists(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** Gets the lists - * @param user user id - * @param cursor breaks the results into pages. Provide a value of "-1" to begin paging. - */ -void QTweetListGetLists::getLists(qint64 user, - const QString &cursor) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/lists.json").arg(user)); - - if (!cursor.isEmpty()) - url.addQueryItem("cursor", cursor); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListGetLists::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QVariantMap respMap = json.toMap(); - - QVariant listsVar = respMap["lists"]; - - QList lists = QTweetConvert::variantToTweetLists(listsVar); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedLists(lists, nextCursor, prevCursor); - } else { - qDebug() << "QTweetListGetLists json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetlists.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetlists.h deleted file mode 100644 index 0909abd20..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetlists.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTGETLISTS_H -#define QTWEETLISTGETLISTS_H - -#include "qtweetnetbase.h" - -/** - * Gets the lists of the specified user. - * Private lists will be included if the authenticated users is the same as the user who's lists are being returned. - */ -class QTWEETLIBSHARED_EXPORT QTweetListGetLists : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListGetLists(QObject *parent = 0); - QTweetListGetLists(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void getLists(qint64 user, - const QString& cursor = QString()); - -signals: - /** Emits page of lists - * @param lists - * @param nextCursor cursor for next page, "0" if there is no next page - * @param prevCursor cursor for prev page, "0" if there is no prev page - */ - void parsedLists(const QList& lists, - const QString& nextCursor, - const QString& prevCursor); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTGETLISTS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetmembers.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetmembers.cpp deleted file mode 100644 index 347bbd960..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetmembers.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistgetmembers.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -QTweetListGetMembers::QTweetListGetMembers(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListGetMembers::QTweetListGetMembers(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user id - * @param list list id - * @param cursor breaks the results into pages. - This is recommended for users who are following many users. - Provide a value of -1 to begin paging. - Provide values as returned in the signal nextCursor and prevCursor to page back and forth in the list. - * @param includeEntities When set to true tweet will include a node called "entities," - */ -void QTweetListGetMembers::get(qint64 user, - qint64 list, - const QString &cursor, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/%2/members.json").arg(user).arg(list)); - - if (!cursor.isEmpty()) - url.addQueryItem("cursor", cursor); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListGetMembers::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QVariantMap respMap = json.toMap(); - - QVariant userList = respMap["users"]; - - QList users = QTweetConvert::variantToUserInfoList(userList); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedUsers(users, nextCursor, prevCursor); - } else { - qDebug() << "QTweetListGetMembers json parsing error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetmembers.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetmembers.h deleted file mode 100644 index 59437b6b6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistgetmembers.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTGETMEMBERS_H -#define QTWEETLISTGETMEMBERS_H - -#include "qtweetnetbase.h" - -/** - * Gets the members of the specified list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListGetMembers : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListGetMembers(QObject *parent = 0); - QTweetListGetMembers(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void get(qint64 user, - qint64 list, - const QString &cursor = QString(), - bool includeEntities = false); - -signals: - /** Emits page of users - * @param users list of users - * @param nextCursor cursor for next page, "0" if there is no next page - * @param prevCursor cursor for prev page, "0" if there is no prev page - */ - void parsedUsers(const QList& users, - const QString& nextCursor, - const QString& prevCursor); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTGETMEMBERS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistmemberships.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistmemberships.cpp deleted file mode 100644 index 0301d899d..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistmemberships.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistmemberships.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListMemberships::QTweetListMemberships(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListMemberships::QTweetListMemberships(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param id user ID - * @param cursor breaks the results into pages. A single page contains 20 lists. - * Provide a value of -1 to begin paging. - * Provide values as returned next_cursor and previous_cursor attributes to page back and forth - */ -void QTweetListMemberships::fetch(qint64 id, const QString &cursor) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/lists/memberships.json").arg(id)); - - if (!cursor.isEmpty()) - url.addQueryItem("cursor", cursor); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListMemberships::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QVariantMap respMap = json.toMap(); - - QVariant listsVar = respMap["lists"]; - - QList lists = QTweetConvert::variantToTweetLists(listsVar); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedList(lists, nextCursor, prevCursor); - } else { - qDebug() << "QTweetListMemberships json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistmemberships.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistmemberships.h deleted file mode 100644 index 8f5bdf881..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistmemberships.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTMEMBERSHIPS_H -#define QTWEETLISTMEMBERSHIPS_H - -#include "qtweetnetbase.h" - -/** - * Fetches the lists the specified user has been added to. - */ -class QTWEETLIBSHARED_EXPORT QTweetListMemberships : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListMemberships(QObject *parent = 0); - QTweetListMemberships(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 id, - const QString& cursor = QString()); - -signals: - /** Emits page of lists - * @param lists - * @param nextCursor cursor for next page, "0" if there is no next page - * @param prevCursor cursor for prev page, "0" if there is no prev page - */ - void parsedList(const QList& lists, - const QString& nextCursor, - const QString& prevCursor); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTMEMBERSHIPS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistshowlist.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistshowlist.cpp deleted file mode 100644 index ff0fc7cb5..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistshowlist.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistshowlist.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListShowList::QTweetListShowList(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListShowList::QTweetListShowList(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Shows (gets) specified list - * @param id user id - * @param list list id - */ -void QTweetListShowList::show(qint64 id, qint64 list) -{ - // slug parameter? - - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/lists/%2.json").arg(id).arg(list)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListShowList::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit parsedList(list); - } else { - qDebug() << "QTweetListShowList json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistshowlist.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistshowlist.h deleted file mode 100644 index 9ea67b05b..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistshowlist.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTSHOWLIST_H -#define QTWEETLISTSHOWLIST_H - -#include "qtweetnetbase.h" - -/** - * Show the specified list. - * Private lists will only be shown if the authenticated user owns the specified list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListShowList : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListShowList(QObject *parent = 0); - QTweetListShowList(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void show(qint64 id, qint64 list); - -signals: - /** Emits the list */ - void parsedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTSHOWLIST_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetliststatuses.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetliststatuses.cpp deleted file mode 100644 index c61ee2520..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetliststatuses.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetliststatuses.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetListStatuses::QTweetListStatuses(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListStatuses::QTweetListStatuses(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user id - * @param list list id - * @param sinceid returns results with an ID greater than (that is, more recent than) the specified ID. - * @param maxid returns results with an ID less than (that is, older than) or equal to the specified ID. - * @param perPage specifies how many tweets per page - * @param page specifies the page of results to retrieve. - * @param includeEntities when set to true each tweet will include a node called "entities," - * @remarks Setting parameter to default value will not be put in query - */ -void QTweetListStatuses::fetch(qint64 user, - qint64 list, - qint64 sinceid, - qint64 maxid, - int perPage, - int page, - bool includeEntities) -{ - QUrl url(QString("http://api.twitter.com/1/%1/lists/%2/statuses.json").arg(user).arg(list)); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (perPage != 0) - url.addQueryItem("per_page", QString::number(perPage)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListStatuses::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetListStatuses json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetliststatuses.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetliststatuses.h deleted file mode 100644 index c2d3a738a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetliststatuses.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTSTATUSES_H -#define QTWEETLISTSTATUSES_H - -#include "qtweetnetbase.h" - -/** - * Fetches tweet timeline for members of the specified list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListStatuses : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListStatuses(QObject *parent = 0); - QTweetListStatuses(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 user, - qint64 list, - qint64 sinceid = 0, - qint64 maxid = 0, - int perPage = 0, - int page = 0, - bool includeEntities = false); - -signals: - /** Emits the statuses of a specified list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTSTATUSES_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribe.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribe.cpp deleted file mode 100644 index 30b436fa8..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribe.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistsubscribe.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListSubscribe::QTweetListSubscribe(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListSubscribe::QTweetListSubscribe(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user id owner of the list - * @param list list id - */ -void QTweetListSubscribe::follow(qint64 user, qint64 list) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/%2/subscribers.json").arg(user).arg(list)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, QByteArray()); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListSubscribe::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit parsedList(list); - } else { - qDebug() << "QTweetListSubscribe parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribe.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribe.h deleted file mode 100644 index 2f9a07679..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribe.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTSUBSCRIBE_H -#define QTWEETLISTSUBSCRIBE_H - -#include "qtweetnetbase.h" - -/** - * Make the authenticated user follow the specified list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListSubscribe : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListSubscribe(QObject *parent = 0); - QTweetListSubscribe(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void follow(qint64 user, - qint64 list); - -signals: - /** Emits the specified list */ - void parsedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTSUBSCRIBE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribers.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribers.cpp deleted file mode 100644 index 864cc3cff..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribers.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistsubscribers.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -QTweetListSubscribers::QTweetListSubscribers(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListSubscribers::QTweetListSubscribers(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user id - * @param list list id - * @param cursor breaks the results in pages. Set to "-1" to begin paging. - * Use prevCursor and nextCursor to page back and forth - * @param includeEntities when set to true each tweet will include a node called "entities," - */ -void QTweetListSubscribers::fetch(qint64 user, - qint64 list, - const QString &cursor, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/%2/subscribers.json").arg(user).arg(list)); - - if (!cursor.isEmpty()) - url.addQueryItem("cursor", cursor); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListSubscribers::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QVariantMap respMap = json.toMap(); - - QVariant userList = respMap["users"]; - - QList users = QTweetConvert::variantToUserInfoList(userList); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedUsers(users, nextCursor, prevCursor); - } else { - qDebug() << "QTweetListSubscribers json parsing error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribers.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribers.h deleted file mode 100644 index ca2c09ec6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscribers.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTSUBSCRIBERS_H -#define QTWEETLISTSUBSCRIBERS_H - -#include "qtweetnetbase.h" - -/** - * Fetches the subscribers of the specified list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListSubscribers : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListSubscribers(QObject *parent = 0); - QTweetListSubscribers(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 user, - qint64 list, - const QString &cursor = QString(), - bool includeEntities = false); - -signals: - /** Emits page of the subscribed users - * @param users list of users - * @param nextCursor cursor for next page, "0" if there is no next page - * @param prevCursor cursor for prev page, "0" if there is no prev page - */ - void parsedUsers(const QList& users, - const QString& nextCursor, - const QString& prevCursor); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTSUBSCRIBERS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscriptions.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscriptions.cpp deleted file mode 100644 index b72da72a1..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscriptions.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistsubscriptions.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListSubscriptions::QTweetListSubscriptions(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListSubscriptions::QTweetListSubscriptions(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user ID - * @param cursor breaks the results into pages. A single page contains 20 lists. - * Provide a value of -1 to begin paging. - * Provide values as returned next_cursor and previous_cursor attributes to page back and forth - */ -void QTweetListSubscriptions::fetch(qint64 user, const QString &cursor) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/lists/subscriptions.json").arg(user)); - - if (!cursor.isEmpty()) - url.addQueryItem("cursor", cursor); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListSubscriptions::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QVariantMap respMap = json.toMap(); - - QVariant listsVar = respMap["lists"]; - - QList lists = QTweetConvert::variantToTweetLists(listsVar); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedLists(lists, nextCursor, prevCursor); - } else { - qDebug() << "QTweetListSubscriptions json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscriptions.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscriptions.h deleted file mode 100644 index 2fc5db483..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistsubscriptions.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTSUBSCRIPTIONS_H -#define QTWEETLISTSUBSCRIPTIONS_H - -#include "qtweetnetbase.h" - -/** - * Fetch the lists the specified user follows. - */ -class QTWEETLIBSHARED_EXPORT QTweetListSubscriptions : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListSubscriptions(QObject *parent = 0); - QTweetListSubscriptions(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 user, - const QString& cursor = QString()); - -signals: - /*! Emits page of lists - * @param lists - * @param nextCursor cursor for next page, "0" if there is no next page - * @param prevCursor cursor for prev page, "0" if there is no prev page - */ - void parsedLists(const QList& lists, - const QString& nextCursor, - const QString& prevCursor); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTSUBSCRIPTIONS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistunsubscribe.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistunsubscribe.cpp deleted file mode 100644 index 51d49bde7..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistunsubscribe.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistunsubscribe.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListUnsubscribe::QTweetListUnsubscribe(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListUnsubscribe::QTweetListUnsubscribe(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * @param user user id of the owner of the list - * @param list list id - */ -void QTweetListUnsubscribe::unsubscribe(qint64 user, qint64 list) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/%2/subscribers.json").arg(user).arg(list)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::DELETE); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->deleteResource(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListUnsubscribe::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit parsedList(list); - } else { - qDebug() << "QTweetListUnsubscribe parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistunsubscribe.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistunsubscribe.h deleted file mode 100644 index b4888184b..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistunsubscribe.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTUNSUBSCRIBE_H -#define QTWEETLISTUNSUBSCRIBE_H - -#include "qtweetnetbase.h" - -/** - * Unsubscribes the authenticated user form the specified list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListUnsubscribe : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListUnsubscribe(QObject *parent = 0); - QTweetListUnsubscribe(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void unsubscribe(qint64 user, - qint64 list); - -signals: - /** Emits list from which user was unsubscribed */ - void parsedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTUNSUBSCRIBE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistupdate.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistupdate.cpp deleted file mode 100644 index 568f6ab6a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistupdate.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetlistupdate.h" -#include "qtweetlist.h" -#include "qtweetconvert.h" - -QTweetListUpdate::QTweetListUpdate(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetListUpdate::QTweetListUpdate(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** Updates the list - * @param user user id - * @param list list id - * @param name the name of the list - * @param mode true for public, false for private - * @param description The description to give the list - */ -void QTweetListUpdate::update(qint64 user, - qint64 list, - const QString &name, - bool mode, - const QString &description) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url(QString("http://api.twitter.com/1/%1/lists/%2.json").arg(user).arg(list)); - - QUrl urlQuery(url); - - if (!name.isEmpty()) - urlQuery.addEncodedQueryItem("name", QUrl::toPercentEncoding(name)); - - if (!mode) - urlQuery.addQueryItem("mode", "private"); - - if (!description.isEmpty()) - urlQuery.addEncodedQueryItem("description", QUrl::toPercentEncoding(description)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray postBody = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - postBody.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, postBody); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetListUpdate::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetList list = QTweetConvert::variantMapToTweetList(json.toMap()); - - emit parsedList(list); - } else { - qDebug() << "QTweetListUpdate json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistupdate.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetlistupdate.h deleted file mode 100644 index 9169d4007..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetlistupdate.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETLISTUPDATE_H -#define QTWEETLISTUPDATE_H - -#include "qtweetnetbase.h" - -/** - * Updates the specified list. - */ -class QTWEETLIBSHARED_EXPORT QTweetListUpdate : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetListUpdate(QObject *parent = 0); - QTweetListUpdate(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void update(qint64 user, - qint64 list, - const QString& name = QString(), - bool mode = true, - const QString& description = QString()); -signals: - /** Emits updated list */ - void parsedList(const QTweetList& list); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETLISTUPDATE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetmentions.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetmentions.cpp deleted file mode 100644 index 00469bc2a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetmentions.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetmentions.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetMentions::QTweetMentions(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetMentions::QTweetMentions(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start fetching - * @param sinceid fetches tweets with ID greater (more recent) then sinceid - * @param maxid fetches tweets with ID less (older) then maxid - * @param count number of tweets to fetch (up to 200) - * @param page page number - * @param includeRts timeline contains native retweets if true - * @param includeEntities true to include a node called "entities" - * @remarks Put parameter to default value to not to be put in query - */ -void QTweetMentions::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool trimUser, - bool includeRts, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/mentions.json"); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeRts) - url.addQueryItem("include_rts", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetMentions::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetMentions JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetmentions.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetmentions.h deleted file mode 100644 index 7fbc97548..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetmentions.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETMENTIONS_H -#define QTWEETMENTIONS_H - -#include "qtweetnetbase.h" - -/** - * Fetches mentions (up to 800) - */ -class QTWEETLIBSHARED_EXPORT QTweetMentions : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetMentions(QObject *parent = 0); - QTweetMentions(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool trimUser = false, - bool includeRts = false, - bool includeEntities = false); - -signals: - /** Emits mentions status list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETMENTIONS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetnetbase.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetnetbase.cpp deleted file mode 100644 index de0d62612..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetnetbase.cpp +++ /dev/null @@ -1,207 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetnetbase.h" -#include "qtweetstatus.h" -#include "qtweetdmstatus.h" -#include "qtweetuser.h" -#include "qtweetlist.h" -#include "qtweetsearchresult.h" -#include "qtweetsearchpageresults.h" -#include "qtweetplace.h" -#include "qjson/parserrunnable.h" -#include "qjson/parser.h" - -/** - * Constructor - */ -QTweetNetBase::QTweetNetBase(QObject *parent) : - QObject(parent), m_oauthTwitter(0), m_jsonParsingEnabled(true), m_authentication(true) -{ -} - -/** - * Constructor - * @param oauthTwitter OAuth Twitter - * @param parent QObject parent - */ -QTweetNetBase::QTweetNetBase(OAuthTwitter *oauthTwitter, QObject *parent) : - QObject(parent), m_oauthTwitter(oauthTwitter), m_jsonParsingEnabled(true), m_authentication(true) -{ - -} - -/** - * Desctructor - */ -QTweetNetBase::~QTweetNetBase() -{ -} - -/** - * Sets OAuth Twitter authorization object - * @param oauthTwitter OAuth Twitter object - */ -void QTweetNetBase::setOAuthTwitter(OAuthTwitter *oauthTwitter) -{ - m_oauthTwitter = oauthTwitter; -} - -/** - * Gets OAuth Twitter authorization object - * @return OAuth Twitter object - */ -OAuthTwitter* QTweetNetBase::oauthTwitter() const -{ - return m_oauthTwitter; -} - -/** - * Gets response - */ -QByteArray QTweetNetBase::response() const -{ - return m_response; -} - -/** - * Gets last error message - */ -QString QTweetNetBase::lastErrorMessage() const -{ - return m_lastErrorMessage; -} - -/** - * Enables/disables json parsing - * @remarks When disabled only finished and error signals are emited - */ -void QTweetNetBase::setJsonParsingEnabled(bool enable) -{ - m_jsonParsingEnabled = enable; -} - -/** - * Checks if its json parsing enabled - */ -bool QTweetNetBase::isJsonParsingEnabled() const -{ - return m_jsonParsingEnabled; -} - -/** - * Enables/disables oauth authentication - * @remarks Most of classes requires authentication - */ -void QTweetNetBase::setAuthenticationEnabled(bool enable) -{ - m_authentication = enable; -} - -/** - * Checks if authentication is enabled - */ -bool QTweetNetBase::isAuthenticationEnabled() const -{ - return m_authentication; -} - -/** - * Parses json response - */ -void QTweetNetBase::parseJson(const QByteArray &jsonData) -{ - QJson::ParserRunnable *jsonParser = new QJson::ParserRunnable; - jsonParser->setData(jsonData); - - connect(jsonParser, SIGNAL(parsingFinished(QVariant,bool,QString)), - this, SLOT(parsingJsonFinished(QVariant,bool,QString))); - - QThreadPool::globalInstance()->start(jsonParser); -} - -/** - * Called after response from twitter - */ -void QTweetNetBase::reply() -{ - QNetworkReply *reply = qobject_cast(sender()); - - if (reply) { - if (reply->error() == QNetworkReply::NoError) { - m_response = reply->readAll(); - emit finished(m_response); - - if (isJsonParsingEnabled()) - parseJson(m_response); - } else { - m_response = reply->readAll(); - - //dump error - qDebug() << "Network error: " << reply->error(); - qDebug() << "Error string: " << reply->errorString(); - qDebug() << "Error response: " << m_response; - - //HTTP status code - int httpStatus = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); - - //try to json parse the error response - QJson::Parser parser; - bool ok; - - QVariantMap errMsgMap = parser.parse(m_response, &ok).toMap(); - if (!ok) { - m_lastErrorMessage.clear(); - } else { - //QString request = errMsgMap["request"].toString(); - m_lastErrorMessage = errMsgMap["error"].toString(); - } - - switch (httpStatus) { - case NotModified: - case BadRequest: - case Unauthorized: - case Forbidden: - case NotFound: - case NotAcceptable: - case EnhanceYourCalm: - case InternalServerError: - case BadGateway: - case ServiceUnavailable: - emit error(static_cast(httpStatus), m_lastErrorMessage); - break; - default: - emit error(UnknownError, m_lastErrorMessage); - } - } - reply->deleteLater(); - } -} - -/** - * Sets last error message - */ -void QTweetNetBase::setLastErrorMessage(const QString &errMsg) -{ - m_lastErrorMessage = errMsg; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetnetbase.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetnetbase.h deleted file mode 100644 index 01f1ca7b4..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetnetbase.h +++ /dev/null @@ -1,110 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETNETBASE_H -#define QTWEETNETBASE_H - -#include -#include -#include -#include "oauthtwitter.h" -#include "qtweetlib_global.h" - -class QTweetStatus; -class QTweetUser; -class QTweetDMStatus; -class QTweetList; -class QTweetSearchResult; -class QTweetSearchPageResults; -class QTweetPlace; - -/** - * Base class for Twitter API classes - */ -class QTWEETLIBSHARED_EXPORT QTweetNetBase : public QObject -{ - Q_OBJECT - Q_PROPERTY(OAuthTwitter* oauthTwitter READ oauthTwitter WRITE setOAuthTwitter) - Q_PROPERTY(bool jsonParsing READ isJsonParsingEnabled WRITE setJsonParsingEnabled) - Q_PROPERTY(bool authenticaion READ isAuthenticationEnabled WRITE setAuthenticationEnabled) -public: - QTweetNetBase(QObject *parent = 0); - QTweetNetBase(OAuthTwitter *oauthTwitter, QObject *parent = 0); - virtual ~QTweetNetBase(); - - enum ErrorCode { - JsonParsingError = 1, /** JSON parsing error */ - UnknownError = 2, /** Unknown error */ - NotModified = 304, /** There was no new data to return. */ - BadRequest = 400, /** The request was invalid. This is the status code will be returned during rate limiting. */ - Unauthorized = 401, /** Authentication credentials were missing or incorrect. */ - Forbidden = 403, /** The request is understood, but it has been refused, due to update limits. */ - NotFound = 404, /** The URI requested is invalid or the resource requested, such as a user, does not exists. */ - NotAcceptable = 406, /** Returned by the Search API when an invalid format is specified in the request. */ - EnhanceYourCalm = 420, /** Returned by the Search and Trends API when you are being rate limited. */ - InternalServerError = 500, /** Something is broken in Twitter */ - BadGateway = 502, /** Twitter is down or being upgraded. */ - ServiceUnavailable = 503 /** The Twitter servers are up, but overloaded with requests. Try again later. */ - }; - - void setOAuthTwitter(OAuthTwitter* oauthTwitter); - OAuthTwitter* oauthTwitter() const; - - void setJsonParsingEnabled(bool enable); - bool isJsonParsingEnabled() const; - - void setAuthenticationEnabled(bool enable); - bool isAuthenticationEnabled() const; - - QByteArray response() const; - QString lastErrorMessage() const; - -signals: - /** - * Emited when fetching is finished - * @param response contains the response in json - */ - void finished(const QByteArray& response); - - /** Emited when there is error. You can check error message with lastErrorMessage(). - * @param code error code - * @param errorMsg error message. If it's empty then error was not standard json twitter api message. - * In that case check response. - * @remarks DOESN'T emit finished signal - */ - void error(QTweetNetBase::ErrorCode code, const QString& errorMsg); - -protected slots: - virtual void parsingJsonFinished(const QVariant& json, bool ok, const QString& errorMsg) = 0; - virtual void reply(); - -protected: - void parseJson(const QByteArray& jsonData); - void setLastErrorMessage(const QString& errMsg); - -private: - OAuthTwitter *m_oauthTwitter; - QByteArray m_response; - QString m_lastErrorMessage; - bool m_jsonParsingEnabled; - bool m_authentication; -}; - -#endif // QTWEETNETBASE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetplace.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetplace.cpp deleted file mode 100644 index 3fafd5b37..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetplace.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetplace.h" - -QTweetPlace::QTweetPlace() -{ -} - -void QTweetPlace::setName(const QString &name) -{ - m_name = name; -} - -QString QTweetPlace::name() const -{ - return m_name; -} - -void QTweetPlace::setCountry(const QString &country) -{ - m_country = country; -} - -QString QTweetPlace::country() const -{ - return m_country; -} - -void QTweetPlace::setCountryCode(const QString &code) -{ - m_countryCode = code; -} - -QString QTweetPlace::countryCode() const -{ - return m_countryCode; -} - -void QTweetPlace::setID(const QString &id) -{ - m_id = id; -} - -QString QTweetPlace::id() const -{ - return m_id; -} - -void QTweetPlace::setBoundingBox(const QTweetGeoBoundingBox &box) -{ - m_boundingBox = box; -} - -QTweetGeoBoundingBox QTweetPlace::boundingBox() const -{ - return m_boundingBox; -} - -void QTweetPlace::setContainedWithin(const QList &places) -{ - m_containedWithin = places; -} - -QList QTweetPlace::containedWithin() const -{ - return m_containedWithin; -} - -void QTweetPlace::setFullName(const QString &name) -{ - m_fullName = name; -} - -QString QTweetPlace::fullName() const -{ - return m_fullName; -} - -void QTweetPlace::setType(Type type) -{ - m_type = type; -} - -QTweetPlace::Type QTweetPlace::type() const -{ - return m_type; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetplace.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetplace.h deleted file mode 100644 index b1453fe1f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetplace.h +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETPLACE_H -#define QTWEETPLACE_H - -#include -#include -#include -#include "qtweetgeoboundingbox.h" -#include "qtweetlib_global.h" - - -/** - * Store place info - */ -class QTWEETLIBSHARED_EXPORT QTweetPlace -{ -public: - enum Type { Poi, Neighborhood, City, Admin, Country }; - - QTweetPlace(); - void setName(const QString& name); - QString name() const; - void setCountry(const QString& country); - QString country() const; - void setCountryCode(const QString& code); - QString countryCode() const; - void setID(const QString& id); // http://api.twitter.com/1/geo/id/.json - QString id() const; - void setBoundingBox(const QTweetGeoBoundingBox& box); - QTweetGeoBoundingBox boundingBox() const; - void setContainedWithin(const QList& places); - QList containedWithin() const; - void setFullName(const QString& name); - QString fullName() const; - void setType(Type type); - Type type() const; - -private: - QString m_name; - QString m_country; - QString m_countryCode; - // ### TODO: Attributes - QString m_id; - QTweetGeoBoundingBox m_boundingBox; - QList m_containedWithin; - QString m_fullName; - Type m_type; -}; - -Q_DECLARE_METATYPE(QTweetPlace) - -#endif // QTWEETPLACE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetbyme.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetbyme.cpp deleted file mode 100644 index c5b3f2f4c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetbyme.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetretweetbyme.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetRetweetByMe::QTweetRetweetByMe(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetRetweetByMe::QTweetRetweetByMe(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start fetching retweets by user - * @param sinceid fetches tweets with ID greater (more recent) then sinceid - * @param maxid fetches tweets with ID less (older) then maxid - * @param count number of tweets to fetch (up to 200) - * @param page page number - * @remarks Setting parameter to default value, will not be put in the query - */ -void QTweetRetweetByMe::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool trimUser, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/retweeted_by_me.json"); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetRetweetByMe::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetRetweetByMe JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetbyme.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetbyme.h deleted file mode 100644 index b259aea41..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetbyme.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETRETWEETBYME_H -#define QTWEETRETWEETBYME_H - -#include "qtweetnetbase.h" - -/** - * Fetches retweets posted by user - */ -class QTWEETLIBSHARED_EXPORT QTweetRetweetByMe : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetRetweetByMe(QObject *parent = 0); - QTweetRetweetByMe(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool trimUser = false, - bool includeEntities = false); - -signals: - /** Emits retweets status list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETRETWEETBYME_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetsofme.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetsofme.cpp deleted file mode 100644 index 52ce871b2..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetsofme.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetretweetsofme.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetRetweetsOfMe::QTweetRetweetsOfMe(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetRetweetsOfMe::QTweetRetweetsOfMe(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching retweets of user - * @param sinceid fetches tweets with ID greater (more recent) then sinceid - * @param maxid fetches tweets with ID less (older) then maxid - * @param count number of tweets to fetch (up to 200) - * @param page page number - * @remarks Setting parameter to default value, will not be put in the query - */ -void QTweetRetweetsOfMe::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool trimUser, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/retweets_of_me.json"); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetRetweetsOfMe::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetRetweetsOfMe JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetsofme.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetsofme.h deleted file mode 100644 index 4e10d834f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweetsofme.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETRETWEETSOFME_H -#define QTWEETRETWEETSOFME_H - -#include "qtweetnetbase.h" - -/** - * Class for fetching tweets of user that have been retweeted by others - */ -class QTWEETLIBSHARED_EXPORT QTweetRetweetsOfMe : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetRetweetsOfMe(QObject *parent = 0); - QTweetRetweetsOfMe(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool trimUser = false, - bool includeEntities = false); - - -signals: - /** Emits retweets status list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETRETWEETSOFME_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweettome.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetretweettome.cpp deleted file mode 100644 index badd255f8..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweettome.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetretweettome.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetRetweetToMe::QTweetRetweetToMe(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetRetweetToMe::QTweetRetweetToMe(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching retweets to user - * @param sinceid Fetches tweets with ID greater (more recent) then sinceid - * @param maxid Fetches tweets with ID less (older) then maxid - * @param count Number of tweets to fetch (up to 200) - * @param page Page number - * @remarks Setting parameter to default value, will not be put in the query - */ -void QTweetRetweetToMe::fetch(qint64 sinceid, - qint64 maxid, - int count, - int page, - bool trimUser, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/retweeted_to_me.json"); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetRetweetToMe::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetRetweetToMe JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweettome.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetretweettome.h deleted file mode 100644 index 65bae1d5c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetretweettome.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETRETWEETTOME_H -#define QTWEETRETWEETTOME_H - -#include "qtweetnetbase.h" - -/** - * Class for fetching retweets posted by users that user follow - */ -class QTWEETLIBSHARED_EXPORT QTweetRetweetToMe : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetRetweetToMe(QObject *parent = 0); - QTweetRetweetToMe(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool trimUser = false, - bool includeEntities = false); - -signals: - /** Emits retweets status list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETRETWEETTOME_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearch.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetsearch.cpp deleted file mode 100644 index b59c68a7e..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearch.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetsearch.h" -#include "qtweetsearchpageresults.h" -#include "qtweetconvert.h" - -QTweetSearch::QTweetSearch(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetSearch::QTweetSearch(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts searching - * @param query serch query - * @param lang Restricts tweets to the given language, given by an ISO 639-1 code. - * @param rpp number of tweets to return per page, up to a max of 100. - * @param page page number (starting at 1) to return, up to a max of roughly 1500 results - * @param sinceid returns results with an ID greater than (that is, more recent than) the specified ID. - */ -void QTweetSearch::start(const QString &query, - const QString &lang, - /* const QString &locale, */ - int rpp, - int page, - qint64 sinceid) -{ - QUrl url("http://search.twitter.com/search.json"); - - url.addEncodedQueryItem("q", QUrl::toPercentEncoding(query)); - - if (!lang.isEmpty()) - url.addQueryItem("lang", lang); - - // if (!locale.isEmpty()) - // url.addQueryItem("locale", locale); - - if (rpp) - url.addQueryItem("rpp", QString::number(rpp)); - - if (page) - url.addQueryItem("page", QString::number(page)); - - if (sinceid) - url.addQueryItem("since_id", QString::number(sinceid)); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetSearch::startWithCustomQuery(const QByteArray &encodedQuery) -{ - QUrl url("http://search.twitter.com/search.json"); - - //remove ? - QByteArray query(encodedQuery); - url.setEncodedQuery(query.remove(0, 1)); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetSearch::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetSearchPageResults pageResults = QTweetConvert::variantToSearchPageResults(json); - - emit parsedPageResults(pageResults); - } else { - qDebug() << "QTweetSearch parsing error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearch.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetsearch.h deleted file mode 100644 index f89bc8876..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearch.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSEARCH_H -#define QTWEETSEARCH_H - -#include "qtweetnetbase.h" - -/** - * Gets tweets that match a specified query - */ -class QTWEETLIBSHARED_EXPORT QTweetSearch : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetSearch(QObject *parent = 0); - QTweetSearch(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void start(const QString& query, - const QString& lang = QString(), - /* const QString& locale = QString(), */ - int rpp = 0, - int page = 0, - qint64 sinceid = 0 - //geocode ### TODO - //resultType ### TODO - ); - void startWithCustomQuery(const QByteArray& encodedQuery); - -signals: - /** Emits page of search results */ - void parsedPageResults(const QTweetSearchPageResults& pageResults); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETSEARCH_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchpageresults.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchpageresults.cpp deleted file mode 100644 index 4725d1de2..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchpageresults.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetsearchpageresults.h" -#include -#include "qtweetsearchresult.h" - -class QTweetSearchPageResultsData : public QSharedData { -public: - //float completedIn; //who cares? - qint64 maxid; - QByteArray nextPage; - int page; - QByteArray query; - QByteArray refreshUrl; - QList results; - int resultsPerPage; - qint64 sinceid; - int total; -}; - -QTweetSearchPageResults::QTweetSearchPageResults() : data(new QTweetSearchPageResultsData) -{ -} - -QTweetSearchPageResults::QTweetSearchPageResults(const QTweetSearchPageResults &rhs) : data(rhs.data) -{ -} - -QTweetSearchPageResults &QTweetSearchPageResults::operator=(const QTweetSearchPageResults &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -QTweetSearchPageResults::~QTweetSearchPageResults() -{ -} - -void QTweetSearchPageResults::setMaxId(qint64 maxid) -{ - data->maxid = maxid; -} - -qint64 QTweetSearchPageResults::maxid() const -{ - return data->maxid; -} - -void QTweetSearchPageResults::setNextPage(const QByteArray &nextPage) -{ - data->nextPage = nextPage; -} - -QByteArray QTweetSearchPageResults::nextPage() const -{ - return data->nextPage; -} - -void QTweetSearchPageResults::setPage(int numPage) -{ - data->page = numPage; -} - -int QTweetSearchPageResults::page() const -{ - return data->page; -} - -void QTweetSearchPageResults::setQuery(const QByteArray &query) -{ - data->query = query; -} - -QByteArray QTweetSearchPageResults::query() const -{ - return data->query; -} - -void QTweetSearchPageResults::setRefreshUrl(const QByteArray &url) -{ - data->refreshUrl = url; -} - -QByteArray QTweetSearchPageResults::refreshUrl() const -{ - return data->refreshUrl; -} - -void QTweetSearchPageResults::setResults(const QList &results) -{ - data->results = results; -} - -QList QTweetSearchPageResults::results() const -{ - return data->results; -} - -void QTweetSearchPageResults::setResultsPerPage(int count) -{ - data->resultsPerPage = count; -} - -int QTweetSearchPageResults::resultsPerPage() const -{ - return data->resultsPerPage; -} - -void QTweetSearchPageResults::setSinceId(qint64 sinceid) -{ - data->sinceid = sinceid; -} - -qint64 QTweetSearchPageResults::sinceid() const -{ - return data->sinceid; -} - -void QTweetSearchPageResults::setTotal(int total) -{ - data->total = total; -} - -int QTweetSearchPageResults::total() const -{ - return data->total; -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchpageresults.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchpageresults.h deleted file mode 100644 index 5359b8929..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchpageresults.h +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSEARCHPAGERESULTS_H -#define QTWEETSEARCHPAGERESULTS_H - -#include -#include -#include -#include "qtweetlib_global.h" - -class QTweetSearchPageResultsData; -class QTweetSearchResult; - -/** - * Stores page of a search results - */ -class QTWEETLIBSHARED_EXPORT QTweetSearchPageResults -{ -public: - QTweetSearchPageResults(); - QTweetSearchPageResults(const QTweetSearchPageResults &); - QTweetSearchPageResults &operator=(const QTweetSearchPageResults &); - ~QTweetSearchPageResults(); - - void setMaxId(qint64 maxid); - qint64 maxid() const; - void setNextPage(const QByteArray& nextPage); - QByteArray nextPage() const; - void setPage(int numPage); - int page() const; - void setQuery(const QByteArray& query); - QByteArray query() const; - void setRefreshUrl(const QByteArray& url); - QByteArray refreshUrl() const; - void setResults(const QList& results); - QList results() const; - void setResultsPerPage (int count); - int resultsPerPage() const; - void setSinceId(qint64 sinceid); - qint64 sinceid() const; - void setTotal(int total); - int total() const; - -private: - QSharedDataPointer data; -}; - -Q_DECLARE_METATYPE(QTweetSearchPageResults) - -#endif // QTWEETSEARCHPAGERESULTS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchresult.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchresult.cpp deleted file mode 100644 index 6e264e588..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchresult.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include "qtweetsearchresult.h" -#include -#include -//#include "qtweetuser.h" - -class QTweetSearchResultData : public QSharedData { -public: - QDateTime createdAt; - QString fromUser; - //qint64 fromUserId; // USELESS. It's not same as general twitter user id - qint64 id; - QString lang; - //metadata ### TODO - //places ### TODO - QString profileImageUrl; - QString source; - QString text; - QString toUser; - //qint64 toUserId; // USELESS. It's not same general twitter user id -}; - -QTweetSearchResult::QTweetSearchResult() : data(new QTweetSearchResultData) -{ -} - -QTweetSearchResult::QTweetSearchResult(const QTweetSearchResult &rhs) : data(rhs.data) -{ -} - -QTweetSearchResult &QTweetSearchResult::operator=(const QTweetSearchResult &rhs) -{ - if (this != &rhs) - data.operator=(rhs.data); - return *this; -} - -QTweetSearchResult::~QTweetSearchResult() -{ -} - -void QTweetSearchResult::setCreatedAt(const QDateTime &dateTime) -{ - data->createdAt = dateTime; -} - -// Oh, not again. ANOTHER datetime format from twitter. -//Mon, 04 Oct 2010 12:51:42 +0000 - -void QTweetSearchResult::setCreatedAt(const QString &twitterDate) -{ - QString dateString = twitterDate.left(3) + ' ' + twitterDate.mid(8, 3) + ' ' + - twitterDate.mid(5, 2) + ' ' + twitterDate.mid(12, 4); - QString timeString = twitterDate.mid(17, 8); - - QDate date = QDate::fromString(dateString); - QTime time = QTime::fromString(timeString); - - if (date.isValid() && time.isValid()) - data->createdAt = QDateTime(date, time, Qt::UTC); - else - data->createdAt = QDateTime(); -} - -QDateTime QTweetSearchResult::createdAt() const -{ - return data->createdAt; -} - -void QTweetSearchResult::setFromUser(const QString &screenName) -{ - data->fromUser = screenName; -} - -QString QTweetSearchResult::fromUser() const -{ - return data->fromUser; -} - -void QTweetSearchResult::setId(qint64 id) -{ - data->id = id; -} - -qint64 QTweetSearchResult::id() const -{ - return data->id; -} - -void QTweetSearchResult::setLang(const QString &lang) -{ - data->lang = lang; -} - -QString QTweetSearchResult::lang() const -{ - return data->lang; -} - -void QTweetSearchResult::setProfileImageUrl(const QString &url) -{ - data->profileImageUrl = url; -} - -QString QTweetSearchResult::profileImageUrl() const -{ - return data->profileImageUrl; -} - -void QTweetSearchResult::setSource(const QString &source) -{ - data->source = source; -} - -QString QTweetSearchResult::source() const -{ - return data->source; -} - -void QTweetSearchResult::setText(const QString &text) -{ - data->text = text; -} - -QString QTweetSearchResult::text() const -{ - return data->text; -} - -void QTweetSearchResult::setToUser(const QString &screenName) -{ - data->toUser = screenName; -} - -QString QTweetSearchResult::toUser() const -{ - return data->toUser; -} - - - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchresult.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchresult.h deleted file mode 100644 index bf9a86149..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetsearchresult.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSEARCHRESULT_H -#define QTWEETSEARCHRESULT_H - -#include -#include -#include "qtweetlib_global.h" - -class QTweetSearchResultData; - -/** - * Stores search result - */ -class QTWEETLIBSHARED_EXPORT QTweetSearchResult -{ -public: - QTweetSearchResult(); - QTweetSearchResult(const QTweetSearchResult &); - QTweetSearchResult &operator=(const QTweetSearchResult &); - ~QTweetSearchResult(); - - void setCreatedAt(const QString& twitterDate); - void setCreatedAt(const QDateTime& dateTime); - QDateTime createdAt() const; - void setFromUser(const QString& screenName); - QString fromUser() const; - void setId(qint64 id); - qint64 id() const; - void setLang(const QString& lang); - QString lang() const; - void setProfileImageUrl(const QString& url); - QString profileImageUrl() const; - void setSource(const QString& source); - QString source() const; - void setText(const QString& text); - QString text() const; - void setToUser(const QString& screenName); - QString toUser() const; - -private: - QSharedDataPointer data; -}; - -#endif // QTWEETSEARCHRESULT_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatus.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatus.cpp deleted file mode 100644 index b2d7bdced..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatus.cpp +++ /dev/null @@ -1,259 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include "qtweetstatus.h" -#include "qtweetuser.h" -#include "qtweetplace.h" -#include "qtweetentityurl.h" -#include "qtweetentityhashtag.h" -#include "qtweetentityusermentions.h" - -class QTweetStatusData : public QSharedData -{ -public: - QTweetStatusData() : id(0), inReplyToStatusId(0), retweetedStatus(0) {} - - QTweetStatusData(const QTweetStatusData& other) : QSharedData(other) - { - id = other.id; - text = other.text; - createdAt = other.createdAt; - inReplyToUserId = other.inReplyToUserId; - inReplyToScreenName = other.inReplyToScreenName; - inReplyToStatusId = other.inReplyToStatusId; - favorited = other.favorited; - source = other.source; - user = other.user; - place = other.place; - - if (other.retweetedStatus) { - retweetedStatus = new QTweetStatus(*other.retweetedStatus); - } else { - retweetedStatus = 0; - } - } - - ~QTweetStatusData() - { - delete retweetedStatus; - } - - qint64 id; - QString text; - QDateTime createdAt; - qint64 inReplyToUserId; - QString inReplyToScreenName; - qint64 inReplyToStatusId; - bool favorited; - QString source; - QTweetUser user; - QTweetStatus *retweetedStatus; - QTweetPlace place; - QList urlEntities; - QList hashtagEntities; - QList userMentionEntities; -}; - -QTweetStatus::QTweetStatus() : - d(new QTweetStatusData) -{ -} - -QTweetStatus::QTweetStatus(const QTweetStatus &other) : - d(other.d) -{ -} - -QTweetStatus& QTweetStatus::operator=(const QTweetStatus &rhs) -{ - if (this != &rhs) - d.operator=(rhs.d); - return *this; -} - -QTweetStatus::~QTweetStatus() -{ -} - -void QTweetStatus::setId(qint64 id) -{ - d->id = id; -} - -qint64 QTweetStatus::id() const -{ - return d->id; -} - -void QTweetStatus::setText(const QString &text) -{ - d->text = text; -} - -QString QTweetStatus::text() const -{ - return d->text; -} - -void QTweetStatus::setCreatedAt(const QString &twitterDate) -{ - d->createdAt = QTweetUser::twitterDateToQDateTime(twitterDate); -} - -void QTweetStatus::setCreatedAt(const QDateTime &dateTime) -{ - d->createdAt = dateTime; -} - -QDateTime QTweetStatus::createdAt() const -{ - return d->createdAt; -} - -void QTweetStatus::setInReplyToUserId(qint64 id) -{ - d->inReplyToUserId = id; -} - -qint64 QTweetStatus::inReplyToUserId() const -{ - return d->inReplyToUserId; -} - -void QTweetStatus::setInReplyToScreenName(const QString &screenName) -{ - d->inReplyToScreenName = screenName; -} - -QString QTweetStatus::inReplyToScreenName() const -{ - return d->inReplyToScreenName; -} - -void QTweetStatus::setInReplyToStatusId(qint64 id) -{ - d->inReplyToStatusId = id; -} - -qint64 QTweetStatus::inReplyToStatusId() const -{ - return d->inReplyToStatusId; -} - -void QTweetStatus::setFavorited(bool fav) -{ - d->favorited = fav; -} - -bool QTweetStatus::favorited() const -{ - return d->favorited; -} - -void QTweetStatus::setSource(const QString &source) -{ - d->source = source; -} - -QString QTweetStatus::source() const -{ - return d->source; -} - -void QTweetStatus::setUser(const QTweetUser &user) -{ - d->user = user; -} - -QTweetUser QTweetStatus::user() const -{ - return d->user; -} - -qint64 QTweetStatus::userid() const -{ - return d->user.id(); -} - -void QTweetStatus::setRetweetedStatus(const QTweetStatus &status) -{ - if (!d->retweetedStatus) - d->retweetedStatus = new QTweetStatus; - - *d->retweetedStatus = status; -} - -QTweetStatus QTweetStatus::retweetedStatus() const -{ - if (!d->retweetedStatus) - return QTweetStatus(); - - return *d->retweetedStatus; -} - -void QTweetStatus::setPlace(const QTweetPlace &place) -{ - d->place = place; -} - -QTweetPlace QTweetStatus::place() const -{ - return d->place; -} - -bool QTweetStatus::isRetweet() const -{ - if (d->retweetedStatus) - return true; - - return false; -} - -QList QTweetStatus::urlEntities() const -{ - return d->urlEntities; -} - -QList QTweetStatus::hashtagEntities() const -{ - return d->hashtagEntities; -} - -QList QTweetStatus::userMentionsEntities() const -{ - return d->userMentionEntities; -} - -void QTweetStatus::addUrlEntity(const QTweetEntityUrl &urlEntity) -{ - d->urlEntities.append(urlEntity); -} - -void QTweetStatus::addHashtagEntity(const QTweetEntityHashtag &hashtagEntity) -{ - d->hashtagEntities.append(hashtagEntity); -} - -void QTweetStatus::addUserMentionsEntity(const QTweetEntityUserMentions &userMentionsEntity) -{ - d->userMentionEntities.append(userMentionsEntity); -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatus.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatus.h deleted file mode 100644 index bdfd79581..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatus.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSTATUS_H -#define QTWEETSTATUS_H - -#include -#include -#include "qtweetlib_global.h" - -class QDateTime; -class QTweetUser; -class QTweetStatusData; -class QTweetPlace; -class QTweetEntityUrl; -class QTweetEntityHashtag; -class QTweetEntityUserMentions; - -/** - * Stores tweet info - */ -class QTWEETLIBSHARED_EXPORT QTweetStatus -{ -public: - QTweetStatus(); - QTweetStatus(const QTweetStatus &other); - QTweetStatus &operator=(const QTweetStatus &other); - ~QTweetStatus(); - - void setId(qint64 id); - qint64 id() const; - void setText(const QString& text); - QString text() const; - void setCreatedAt(const QString& twitterDate); - void setCreatedAt(const QDateTime& dateTime); - QDateTime createdAt() const; - void setInReplyToUserId(qint64 id); - qint64 inReplyToUserId() const; - void setInReplyToScreenName(const QString& screenName); - QString inReplyToScreenName() const; - void setInReplyToStatusId(qint64 id); - qint64 inReplyToStatusId() const; - void setFavorited(bool fav); - bool favorited() const; - void setSource(const QString& source); - QString source() const; - void setUser(const QTweetUser& user); - QTweetUser user() const; - qint64 userid() const; //usefull for getting quick userid when userinfo is trimmed - void setRetweetedStatus(const QTweetStatus& status); - QTweetStatus retweetedStatus() const; - void setPlace(const QTweetPlace& place); - QTweetPlace place() const; - bool isRetweet() const; - QList urlEntities() const; - QList hashtagEntities() const; - QList userMentionsEntities() const; - void addUrlEntity(const QTweetEntityUrl& urlEntity); - void addHashtagEntity(const QTweetEntityHashtag& hashtagEntity); - void addUserMentionsEntity(const QTweetEntityUserMentions& userMentionsEntity); - -private: - QSharedDataPointer d; -}; - -Q_DECLARE_METATYPE(QTweetStatus) - -#endif // QTWEETSTATUS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusdestroy.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusdestroy.cpp deleted file mode 100644 index 60a1fcaed..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusdestroy.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetstatusdestroy.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetStatusDestroy::QTweetStatusDestroy(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetStatusDestroy::QTweetStatusDestroy(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Destroys tweet with id - * @param id tweet ID - * @param trimUser trims users info - * @param includeEntities true to include node entities in response - */ -void QTweetStatusDestroy::destroy(qint64 id, - bool trimUser, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/destroy.json"); - - QUrl urlQuery(url); - - urlQuery.addQueryItem("id", QString::number(id)); - - if (trimUser) - urlQuery.addQueryItem("trim_user", "true"); - - if (includeEntities) - urlQuery.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QByteArray postBody = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - postBody.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, postBody); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetStatusDestroy::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetStatus status = QTweetConvert::variantMapToStatus(json.toMap()); - - emit deletedStatus(status); - } else { - qDebug() << "QTweetStatusDestroy parse error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusdestroy.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusdestroy.h deleted file mode 100644 index aab51be97..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusdestroy.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSTATUSDESTROY_H -#define QTWEETSTATUSDESTROY_H - -#include "qtweetnetbase.h" - -/** - * Class for destroying specified tweet (user must be author of tweet) - */ -class QTWEETLIBSHARED_EXPORT QTweetStatusDestroy : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetStatusDestroy(QObject *parent = 0); - QTweetStatusDestroy(OAuthTwitter* oauthTwitter, QObject *parent = 0); - void destroy(qint64 id, - bool trimUser = false, - bool includeEntities = false); - -signals: - /** Emits deleted status */ - void deletedStatus(const QTweetStatus& status); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETSTATUSDESTROY_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweet.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweet.cpp deleted file mode 100644 index 9e0377b0d..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweet.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetstatusretweet.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetStatusRetweet::QTweetStatusRetweet(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetStatusRetweet::QTweetStatusRetweet(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Retweets the tweet - * @param id tweet ID to retweet - * @param trimUser trims user info in response - * @param includeEntities true to include node entities in response - */ -void QTweetStatusRetweet::retweet(qint64 id, - bool trimUser, - bool includeEntities) -{ - QUrl url(QString("http://api.twitter.com/1/statuses/retweet/%1.json").arg(id)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { //Oh, Twitter API docs wrong? - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::POST); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, QByteArray()); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetStatusRetweet::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetStatus status = QTweetConvert::variantMapToStatus(json.toMap()); - - emit postedRetweet(status); - } else { - qDebug() << "QTweetStatusRetweet JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweet.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweet.h deleted file mode 100644 index 1138545d6..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweet.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSTATUSRETWEET_H -#define QTWEETSTATUSRETWEET_H - -#include "qtweetnetbase.h" - -/** - * Class for retweeting tweet - */ -class QTWEETLIBSHARED_EXPORT QTweetStatusRetweet : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetStatusRetweet(QObject *parent = 0); - QTweetStatusRetweet(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void retweet(qint64 id, - bool trimUser = false, - bool includeEntities = false); - -signals: - /** Emits retweeted tweet */ - void postedRetweet(const QTweetStatus& status); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETSTATUSRETWEET_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweets.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweets.cpp deleted file mode 100644 index aab0bad1a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweets.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include "qtweetstatusretweets.h" - -QTweetStatusRetweets::QTweetStatusRetweets(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetStatusRetweets::QTweetStatusRetweets(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Start fetching - * @param id tweet ID - * @param count numbers of retweets to fetch - */ -void QTweetStatusRetweets::fetch(qint64 id, int count) -{ - //Q_ASSERT(oauthTwitter() != 0); - - QUrl url("http://api.twitter.com/1/statuses/retweets.json"); - - url.addQueryItem("id", QString::number(id)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - // ### TODO: Add trim_user parameter - // ### TODO: Add include_entities parameter - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -// ### TODO json parsing, emiting signal - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweets.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweets.h deleted file mode 100644 index 022da6790..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusretweets.h +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSTATUSRETWEETS_H -#define QTWEETSTATUSRETWEETS_H - -#include "qtweetnetbase.h" - -// ### TODO - -/** - * Class to fetch up to 100 first retweets of a given tweet - */ -class QTWEETLIBSHARED_EXPORT QTweetStatusRetweets : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetStatusRetweets(QObject *parent = 0); - QTweetStatusRetweets(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 id, int count = 0); -}; - -#endif // QTWEETSTATUSRETWEETS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusshow.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusshow.cpp deleted file mode 100644 index 6538595bd..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusshow.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetstatusshow.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetStatusShow::QTweetStatusShow(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetStatusShow::QTweetStatusShow(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching - * @param id tweet ID - * @param trimUser set to true to trim user info in response - * @param includeEntities set to true to include node entities in response - */ -void QTweetStatusShow::fetch(qint64 id, bool trimUser, bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/statuses/show.json"); - - url.addQueryItem("id", QString::number(id)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetStatusShow::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetStatus status = QTweetConvert::variantMapToStatus(json.toMap()); - - emit parsedStatus(status); - } else { - qDebug() << "QTweetStatusShow JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusshow.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusshow.h deleted file mode 100644 index 79ae2c6af..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusshow.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSTATUSSHOW_H -#define QTWEETSTATUSSHOW_H - -#include "qtweetnetbase.h" - -/** - * Class for fetching single tweet - */ -class QTWEETLIBSHARED_EXPORT QTweetStatusShow : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetStatusShow(QObject *parent = 0); - QTweetStatusShow(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 id, - bool trimUser = false, - bool includeEntities = false); - -signals: - /** Emits specified tweet */ - void parsedStatus(const QTweetStatus& status); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETSTATUSSHOW_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusupdate.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusupdate.cpp deleted file mode 100644 index 56283fb25..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusupdate.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetstatusupdate.h" -#include "qtweetstatus.h" -#include "qtweetgeocoord.h" -#include "qtweetconvert.h" - -QTweetStatusUpdate::QTweetStatusUpdate(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetStatusUpdate::QTweetStatusUpdate(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Posts a tweet - * @param status text of the status update - * @param inReplyToStatus ID of a existing tweet is in reply to - * @param latLong latitude and longitude - * @param placeid a place in the world (use reverse geocoding) - * @param displayCoordinates whether or not to put a exact coordinates a tweet has been sent from - */ -void QTweetStatusUpdate::post(const QString &status, - qint64 inReplyToStatus, - const QTweetGeoCoord& latLong, - const QString &placeid, - bool displayCoordinates, - bool trimUser, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/statuses/update.json"); - - QUrl urlQuery("http://api.twitter.com/1/statuses/update.json"); - - urlQuery.addEncodedQueryItem("status", QUrl::toPercentEncoding(status)); - - if (inReplyToStatus != 0) - urlQuery.addQueryItem("in_reply_to_status_id", QString::number(inReplyToStatus)); - - if (latLong.isValid()) { - urlQuery.addQueryItem("lat", QString::number(latLong.latitude())); - urlQuery.addQueryItem("long", QString::number(latLong.longitude())); - } - - if (!placeid.isEmpty()) - urlQuery.addQueryItem("place_id", placeid); - - if (displayCoordinates) - urlQuery.addQueryItem("display_coordinates", "true"); - - if (trimUser) - urlQuery.addQueryItem("trim_user", "true"); - - if (includeEntities) - urlQuery.addQueryItem("include_entities", "true"); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(urlQuery, OAuth::POST); - QNetworkRequest req(url); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - //build status post array - QByteArray statusPost = urlQuery.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority | QUrl::RemovePath); - - //remove '?' - statusPost.remove(0, 1); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->post(req, statusPost); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetStatusUpdate::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetStatus status = QTweetConvert::variantMapToStatus(json.toMap()); - - emit postedStatus(status); - } else { - qDebug() << "QTweetStatusUpdate JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusupdate.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusupdate.h deleted file mode 100644 index f8886b1f0..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetstatusupdate.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETSTATUSUPDATE_H -#define QTWEETSTATUSUPDATE_H - -#include "qtweetnetbase.h" -#include "qtweetgeocoord.h" - -/** - * Class for updating user status (posting tweet) - */ -class QTWEETLIBSHARED_EXPORT QTweetStatusUpdate : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetStatusUpdate(QObject *parent = 0); - QTweetStatusUpdate(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void post(const QString& status, - qint64 inReplyToStatus = 0, - const QTweetGeoCoord& latLong = QTweetGeoCoord(), - const QString& placeid = QString(), - bool displayCoordinates = false, - bool trimUser = false, - bool includeEntities = false); - -signals: - /** Emits posted status */ - void postedStatus(const QTweetStatus& status); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETSTATUSUPDATE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuser.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetuser.cpp deleted file mode 100644 index 919dec05f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuser.cpp +++ /dev/null @@ -1,355 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include "qtweetuser.h" -#include "qtweetstatus.h" - -class QTweetUserData : public QSharedData -{ -public: - QTweetUserData() : id(0) {} - - bool contributorsEnabled; - QDateTime createdAt; - QString description; - int favoritesCount; - bool followRequestSent; - int followersCount; - int friendsCount; - bool geoEnabled; - qint64 id; - QString lang; - int listedCount; - QString location; - QString name; - //QString profileBackgroundColor; - //QString profileBackgroundImageUrl; - //bool profileBackgroundTile; - QString profileImageUrl; - //QString profileLinkColor; - //QString profileSidebarBorderColor; - //QString profileSidebarFillColor; - //QString profileTextColor; - //bool profileUseBackgroundImage; - bool accountProtected; - QString screenName; - //bool showAllInlineMedia; - int statusesCount; - QString timeZone; - QString url; - int utcOffset; - bool verified; - //avoid recursion with QTweetStatus - qint64 statusId; - QString statusText; - QDateTime statusCreatedAt; - qint64 statusInReplyToUserId; - QString statusInReplyToScreenName; - qint64 statusInReplyToStatusId; - bool statusFavorited; - QString statusSource; - //QTweetUser user - //QTweetStatus retweetedStatus; //check if there is retweeted status in user response - //bool containsRetweetStatus; - //QTweetStatus status; //should be pointer? -}; - -QTweetUser::QTweetUser() : - d(new QTweetUserData) -{ -} - -QTweetUser::QTweetUser(const QTweetUser &other) : - d(other.d) -{ -} - -QTweetUser& QTweetUser::operator =(const QTweetUser& other) -{ - if (this != &other) - d.operator =(other.d); - return *this; -} - -QTweetUser::~QTweetUser() -{ -} - -void QTweetUser::setContributorsEnabled(bool enabled) -{ - d->contributorsEnabled = enabled; -} - -bool QTweetUser::isContributorsEnabled() const -{ - return d->contributorsEnabled; -} - -void QTweetUser::setId(qint64 id) -{ - d->id = id; -} - -qint64 QTweetUser::id() const -{ - return d->id; -} - -void QTweetUser::setLang(const QString &lang) -{ - d->lang = lang; -} - -QString QTweetUser::lang() const -{ - return d->lang; -} - -void QTweetUser::setListedCount(int count) -{ - d->listedCount = count; -} - -int QTweetUser::listedCount() const -{ - return d->listedCount; -} - -void QTweetUser::setName(const QString &name) -{ - d->name = name; -} - -QString QTweetUser::name() const -{ - return d->name; -} - -//void QTweetUser::setProfileBackgroundColor(const QString &color) -//{ -// // ### TODO: prepend #? -// // ### TODO: use QColor (QGui dependancy?) instead QString -// d->profileBackgroundColor = color; -//} - -//QString QTweetUser::profileBackgroundColor() const -//{ -// return d->profileBackgroundColor; -//} - -void QTweetUser::setScreenName(const QString &screenName) -{ - d->screenName = screenName; -} - -QString QTweetUser::screenName() const -{ - return d->screenName; -} - -void QTweetUser::setLocation(const QString &location) -{ - d->location = location; -} - -QString QTweetUser::location() const -{ - return d->location; -} - -void QTweetUser::setDescription(const QString &desc) -{ - d->description = desc; -} - -QString QTweetUser::description() const -{ - return d->description; -} - -void QTweetUser::setprofileImageUrl(const QString &url) -{ - d->profileImageUrl = url; -} - -QString QTweetUser::profileImageUrl() const -{ - return d->profileImageUrl; -} - -void QTweetUser::setUrl(const QString &url) -{ - d->url = url; -} - -QString QTweetUser::url() const -{ - return d->url; -} - -void QTweetUser::setProtected(bool protected_) -{ - d->accountProtected = protected_; -} - -bool QTweetUser::isProtected() const -{ - return d->accountProtected; -} - -void QTweetUser::setFollowersCount(int count) -{ - d->followersCount = count; -} - -int QTweetUser::followersCount() const -{ - return d->followersCount; -} - -void QTweetUser::setFriendsCount(int count) -{ - d->friendsCount = count; -} - -int QTweetUser::friendsCount() const -{ - return d->friendsCount; -} - -void QTweetUser::setCreatedAt(const QString &twitterDate) -{ - d->createdAt = twitterDateToQDateTime(twitterDate); -} - -void QTweetUser::setCreatedAt(const QDateTime &datetime) -{ - d->createdAt = datetime; -} - -QDateTime QTweetUser::createdAt() const -{ - return d->createdAt; -} - -void QTweetUser::setFavouritesCount(int count) -{ - d->favoritesCount = count; -} - -int QTweetUser::favouritesCount() const -{ - return d->favoritesCount; -} - -void QTweetUser::setUtcOffset(int sec) -{ - d->utcOffset = sec; -} - -int QTweetUser::utcOffset() const -{ - return d->utcOffset; -} - -void QTweetUser::setTimezone(const QString &timezone) -{ - d->timeZone = timezone; -} - -QString QTweetUser::timezone() const -{ - return d->timeZone; -} - -void QTweetUser::setGeoEnabled(bool isGeoEnabled) -{ - d->geoEnabled = isGeoEnabled; -} - -bool QTweetUser::isGeoEnabled() const -{ - return d->geoEnabled; -} - -void QTweetUser::setVerified(bool verified) -{ - d->verified = verified; -} - -bool QTweetUser::isVerified() const -{ - return d->verified; -} - -void QTweetUser::setStatusesCount(int count) -{ - d->statusesCount = count; -} - -int QTweetUser::statusesCount() const -{ - return d->statusesCount; -} - -void QTweetUser::setStatus(const QTweetStatus &lastStatus) -{ - //d->status = lastStatus; - d->statusId = lastStatus.id(); - d->statusText = lastStatus.text(); - d->statusCreatedAt = lastStatus.createdAt(); - d->statusInReplyToScreenName = lastStatus.inReplyToScreenName(); - d->statusInReplyToStatusId = lastStatus.inReplyToStatusId(); - d->statusInReplyToUserId = lastStatus.inReplyToUserId(); - d->statusFavorited = lastStatus.favorited(); - d->statusSource = lastStatus.source(); -} - -QTweetStatus QTweetUser::status() const -{ - QTweetStatus lastStatus; - lastStatus.setId(d->statusId); - lastStatus.setText(d->statusText); - //lastStatus.setCreatedAt(); // ### TODO FIX IT! - lastStatus.setInReplyToScreenName(d->statusInReplyToScreenName); - lastStatus.setInReplyToStatusId(d->statusInReplyToStatusId); - lastStatus.setInReplyToUserId(d->statusInReplyToUserId); - lastStatus.setFavorited(d->statusFavorited); - lastStatus.setSource(d->statusSource); - - return lastStatus; -} - -QDateTime QTweetUser::twitterDateToQDateTime(const QString &twitterDate) -{ - //Twitter Date Format: 'Wed Sep 01 11:27:25 +0000 2010' UTC - QString dateString = twitterDate.left(11) + twitterDate.right(4); - QString timeString = twitterDate.mid(11, 8); - - QDate date = QDate::fromString(dateString); - QTime time = QTime::fromString(timeString); - - if (date.isValid() && time.isValid()) - return QDateTime(date, time, Qt::UTC); - else - return QDateTime(); -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuser.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetuser.h deleted file mode 100644 index 86323b65d..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuser.h +++ /dev/null @@ -1,94 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSER_H -#define QTWEETUSER_H - -#include -#include -#include "qtweetlib_global.h" - -class QTweetStatus; -class QTweetUserData; - -/** - * Class for storing user info - */ -class QTWEETLIBSHARED_EXPORT QTweetUser -{ -public: - QTweetUser(); - QTweetUser(const QTweetUser& other); - QTweetUser& operator=(const QTweetUser& other); - ~QTweetUser(); - - void setContributorsEnabled(bool enabled); - bool isContributorsEnabled() const; - void setId(qint64 id); - qint64 id() const; - void setLang(const QString& lang); - QString lang() const; - void setListedCount(int count); - int listedCount() const; - void setName(const QString& name); - QString name() const; - void setScreenName(const QString& screenName); - QString screenName() const; - void setLocation(const QString& location); - QString location() const; - void setDescription(const QString& desc); - QString description() const; - void setprofileImageUrl(const QString& url); - QString profileImageUrl() const; - void setUrl(const QString& url); - QString url() const; - void setProtected(bool isProtected); - bool isProtected() const; - void setFollowersCount(int count); - int followersCount() const; - void setFriendsCount(int count); - int friendsCount() const; - void setCreatedAt(const QString& twitterDate); - void setCreatedAt(const QDateTime& datetime); - QDateTime createdAt() const; - void setFavouritesCount(int count); - int favouritesCount() const; - void setUtcOffset(int sec); - int utcOffset() const; - void setTimezone(const QString& timezone); - QString timezone() const; - void setGeoEnabled(bool isGeoEnabled); - bool isGeoEnabled() const; - void setVerified(bool verified); - bool isVerified() const; - void setStatusesCount(int count); - int statusesCount() const; - void setStatus(const QTweetStatus& lastStatus); - QTweetStatus status() const; - - static QDateTime twitterDateToQDateTime(const QString& twitterDate); - -private: - QSharedDataPointer d; -}; - -Q_DECLARE_METATYPE(QTweetUser) - -#endif // QTWEETUSER_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserlookup.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserlookup.cpp deleted file mode 100644 index 9be5b2f1a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserlookup.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetuserlookup.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -QTweetUserLookup::QTweetUserLookup(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetUserLookup::QTweetUserLookup(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching - * @param useridList list of user IDs - * @param screenNameList list of screen names - */ -void QTweetUserLookup::fetch(const QList &useridList, - const QStringList &screenNameList) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/users/lookup.json"); - - if (!useridList.isEmpty()) { - QString idString; - - foreach (qint64 id, useridList) - idString += QString::number(id) + ','; - - idString.chop(1); - - url.addQueryItem("user_id", idString); - } - - if (!screenNameList.isEmpty()) { - QString scrnString; - - foreach (const QString& screenName, screenNameList) - scrnString += screenName + ','; - - scrnString.chop(1); - - url.addQueryItem("screen_name", scrnString); - } - - // ### TODO: Add include_entities parameter - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetUserLookup::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList userInfoList = QTweetConvert::variantToUserInfoList(json); - - emit parsedUserInfoList(userInfoList); - } else { - qDebug() << "QTweetUserLookup json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserlookup.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserlookup.h deleted file mode 100644 index 00e3a4614..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserlookup.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSERLOOKUP_H -#define QTWEETUSERLOOKUP_H - -#include -#include "qtweetnetbase.h" - -class QTweetUser; - -/** - * Class for fetching up to 100 users and theirs most recent status - */ -class QTWEETLIBSHARED_EXPORT QTweetUserLookup : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetUserLookup(QObject *parent = 0); - QTweetUserLookup(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(const QList& useridList = QList(), - const QStringList& screenNameList = QStringList()); - -signals: - /** Emits list of users */ - void parsedUserInfoList(const QList& userInfoList); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETUSERLOOKUP_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetusersearch.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetusersearch.cpp deleted file mode 100644 index f9a3108a2..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetusersearch.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetusersearch.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -QTweetUserSearch::QTweetUserSearch(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetUserSearch::QTweetUserSearch(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts a search - * @param query the search query to run against people search - * @param perPage the number of people per page to retrieve. Maxiumum of 20 allowed per page. - * @param page specifies the page of results to retrieve - * @param includeEntities when set to true each tweet will include a node called "entities". - */ -void QTweetUserSearch::search(const QString &query, - int perPage, - int page, - bool includeEntities) -{ - if (!isAuthenticationEnabled()) { - qCritical("Needs authentication to be enabled"); - return; - } - - QUrl url("http://api.twitter.com/1/users/search.json"); - - url.addQueryItem("q", query); - - if (perPage) - url.addQueryItem("per_page", QString::number(perPage)); - - if (page) - url.addQueryItem("page", QString::number(page)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetUserSearch::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList userInfoList = QTweetConvert::variantToUserInfoList(json); - - emit parsedUserInfoList(userInfoList); - } else { - qDebug() << "QTweetUserSearch json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetusersearch.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetusersearch.h deleted file mode 100644 index 142db4399..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetusersearch.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSERSEARCH_H -#define QTWEETUSERSEARCH_H - -#include "qtweetnetbase.h" - -/** - * Runs a search for users - */ -class QTWEETLIBSHARED_EXPORT QTweetUserSearch : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetUserSearch(QObject *parent = 0); - QTweetUserSearch(OAuthTwitter* oauthTwitter, QObject *parent); - void search(const QString& query, - int perPage = 0, - int page = 0, - bool includeEntities = false); - -signals: - /** Emits list of users */ - void parsedUserInfoList(const QList& userInfoList); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETUSERSEARCH_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetusershow.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetusershow.cpp deleted file mode 100644 index 27c944b92..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetusershow.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetusershow.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -QTweetUserShow::QTweetUserShow(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetUserShow::QTweetUserShow(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching - * @param userid user ID - * @param includeEntities when set to true, each tweet will include a node called "entities" - */ -void QTweetUserShow::fetch(qint64 userid, bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/users/show.json"); - - url.addQueryItem("user_id", QString::number(userid)); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Starts fetching - * @param userid user ID - * @param includeEntities when set to true, each tweet will include a node called "entities" - */ -void QTweetUserShow::fetch(const QString &screenName, bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/users/show.json"); - - url.addQueryItem("screen_name", screenName); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetUserShow::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QTweetUser userInfo = QTweetConvert::variantMapToUserInfo(json.toMap()); - - emit parsedUserInfo(userInfo); - } else { - qDebug() << "QTweetUserShow Json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetusershow.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetusershow.h deleted file mode 100644 index 9f04d2f76..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetusershow.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSERSHOW_H -#define QTWEETUSERSHOW_H - -#include "qtweetnetbase.h" - -/** - * Class for fetching extended information for given user - */ -class QTWEETLIBSHARED_EXPORT QTweetUserShow : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetUserShow(QObject *parent = 0); - QTweetUserShow(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 userid = 0, - bool includeEntities = false); - void fetch(const QString& screenName, - bool includeEntities = false); - -signals: - /** Emits user */ - void parsedUserInfo(const QTweetUser& userInfo); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETUSERSHOW_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfollowers.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfollowers.cpp deleted file mode 100644 index 0b0281216..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfollowers.cpp +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetuserstatusesfollowers.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" - -QTweetUserStatusesFollowers::QTweetUserStatusesFollowers(QObject *parent) : - QTweetNetBase(parent), m_usesCursoring(false) -{ -} - -QTweetUserStatusesFollowers::QTweetUserStatusesFollowers(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent), m_usesCursoring(false) -{ -} - -/** - * Starts fetching user followers list - * @param userid the ID of the user for whom to return results for. - * @param cursor breaks the results into pages. Provide a value of "-1" to begin paging. - * @param includeEntities when set to true, each tweet will include a node called "entities,". - */ -void QTweetUserStatusesFollowers::fetch(qint64 userid, - const QString &cursor, - bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/statuses/followers.json"); - - url.addQueryItem("user_id", QString::number(userid)); - - if (!cursor.isEmpty()) { - m_usesCursoring = true; - url.addQueryItem("cursor", cursor); - } - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Starts fetching user followers list - * @param screenName the screen name of the user for whom to return results for. - * @param cursor breaks the results into pages. Provide a value of "-1" to begin paging. - * @param includeEntities when set to true, each tweet will include a node called "entities,". - */ -void QTweetUserStatusesFollowers::fetch(const QString &screenName, - const QString &cursor, - bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/statuses/followers.json"); - - url.addQueryItem("screen_name", screenName); - - if (!cursor.isEmpty()) { - m_usesCursoring = true; - url.addQueryItem("cursor", cursor); - } - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetUserStatusesFollowers::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - if (m_usesCursoring) { - QVariantMap respMap = json.toMap(); - - QVariant userListVar = respMap["users"]; - - QList userList = QTweetConvert::variantToUserInfoList(userListVar); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedFollowersList(userList, nextCursor, prevCursor); - } else { - QList userList = QTweetConvert::variantToUserInfoList(json); - - emit parsedFollowersList(userList); - } - } else { - qDebug() << "QTweetUserStatusesFollowers json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfollowers.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfollowers.h deleted file mode 100644 index dacbe77fc..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfollowers.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSERSTATUSESFOLLOWERS_H -#define QTWEETUSERSTATUSESFOLLOWERS_H - -#include "qtweetnetbase.h" - -/** - * Fetches the authenticating user's followers, each with current status inline. - * They are ordered by the order in which they followed the user, 100 at a time. - * - * Use the cursor option to access older friends. - */ -class QTWEETLIBSHARED_EXPORT QTweetUserStatusesFollowers : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetUserStatusesFollowers(QObject *parent = 0); - QTweetUserStatusesFollowers(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 userid = 0, - const QString& cursor = QString(), - bool includeEntities = false); - void fetch(const QString& screenName = QString(), - const QString& cursor = QString(), - bool includeEntities = false); - -signals: - /** Emits page of followers list - * @param followersList list of friends - * @param nextCursor cursor for next page, "0" if there is no next page, empty if there is no paging - * @param prevCursor cursor for prev page, "0" if there is no prev page, empty if there is no paging - */ - void parsedFollowersList(const QList& followersList, - const QString& nextCursor = QString(), - const QString& prevCursor = QString()); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); - -private: - bool m_usesCursoring; -}; - -#endif // QTWEETUSERSTATUSESFOLLOWERS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfriends.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfriends.cpp deleted file mode 100644 index dffa9d10a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfriends.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include -#include "qjson/parserrunnable.h" -#include "qtweetuser.h" -#include "qtweetuserstatusesfriends.h" -#include "qtweetconvert.h" - -QTweetUserStatusesFriends::QTweetUserStatusesFriends(QObject *parent) : - QTweetNetBase(parent), m_usesCursoring(false) -{ -} - -QTweetUserStatusesFriends::QTweetUserStatusesFriends(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent), m_usesCursoring(false) -{ -} - -/** - * Starts fetching user friends list - * @param userid the ID of the user for whom to return results for. - * @param cursor breaks the results into pages. Provide a value of "-1" to begin paging. - * @param includeEntities when set to true, each tweet will include a node called "entities,". - */ -void QTweetUserStatusesFriends::fetch(qint64 userid, - const QString &cursor, - bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/statuses/friends.json"); - - url.addQueryItem("user_id", QString::number(userid)); - - if (!cursor.isEmpty()) { - m_usesCursoring = true; - url.addQueryItem("cursor", cursor); - } - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -/** - * Starts fetching user friends list - * @param screenName the screen name of the user for whom to return results for. - * @param cursor breaks the results into pages. Provide a value of "-1" to begin paging. - * @param includeEntities when set to true, each tweet will include a node called "entities,". - */ -void QTweetUserStatusesFriends::fetch(const QString &screenName, - const QString &cursor, - bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/statuses/friends.json"); - - url.addQueryItem("screen_name", screenName); - - if (!cursor.isEmpty()) { - m_usesCursoring = true; - url.addQueryItem("cursor", cursor); - } - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetUserStatusesFriends::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - if (m_usesCursoring) { - QVariantMap respMap = json.toMap(); - - QVariant userListVar = respMap["users"]; - - QList userList = QTweetConvert::variantToUserInfoList(userListVar); - - QString nextCursor = respMap["next_cursor_str"].toString(); - QString prevCursor = respMap["previous_cursor_str"].toString(); - - emit parsedFriendsList(userList, nextCursor, prevCursor); - } else { - QList userList = QTweetConvert::variantToUserInfoList(json); - - emit parsedFriendsList(userList); - } - } else { - qDebug() << "QTweetUserStatusesFriends json parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} - diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfriends.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfriends.h deleted file mode 100644 index ed5eb4101..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstatusesfriends.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSERSTATUSESFRIENDS_H -#define QTWEETUSERSTATUSESFRIENDS_H - -#include "qtweetnetbase.h" - -/** - * Fetches a user's friends, each with current status inline. - * They are ordered by the order in which the user followed them, most recently followed first, 100 at a time. - * - * Use the cursor option to access older friends. - */ -class QTWEETLIBSHARED_EXPORT QTweetUserStatusesFriends : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetUserStatusesFriends(QObject *parent = 0); - QTweetUserStatusesFriends(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 userid = 0, - const QString& cursor = QString(), - bool includeEntities = false); - void fetch(const QString& screenName, - const QString& cursor = QString(), - bool includeEntities = false); - -signals: - /** Emits page of friends - * @param friendsList list of friends - * @param nextCursor cursor for next page, "0" if there is no next page, empty if there is no paging - * @param prevCursor cursor for prev page, "0" if there is no prev page, empty if there is no paging - */ - void parsedFriendsList(const QList& friendsList, - const QString& nextCursor = QString(), - const QString& prevCursor = QString()); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); - -private: - bool m_usesCursoring; // ### TODO: Remove it -}; - -#endif // QTWEETUSERSTATUSESFRIENDS_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstream.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstream.cpp deleted file mode 100644 index a3d63b697..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstream.cpp +++ /dev/null @@ -1,261 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include -#include -#include "oauthtwitter.h" -#include "qtweetuserstream.h" -#include "qtweetstatus.h" -#include "qtweetdmstatus.h" -#include "qtweetuser.h" -#include "qtweetconvert.h" -#include "qjson/parserrunnable.h" - -#define TWITTER_USERSTREAM_URL "https://userstream.twitter.com/2/user.json" - -// ### TODO User Agent or X-User-Agent - -/** - * Constructor - */ -QTweetUserStream::QTweetUserStream(QObject *parent) : - QObject(parent), m_oauthTwitter(0), m_reply(0), - m_backofftimer(new QTimer(this)), - m_timeoutTimer(new QTimer(this)), - m_streamTryingReconnect(false) -{ - m_backofftimer->setInterval(20000); - m_backofftimer->setSingleShot(true); - connect(m_backofftimer, SIGNAL(timeout()), this, SLOT(startFetching())); - - m_timeoutTimer->setInterval(90000); - connect(m_timeoutTimer, SIGNAL(timeout()), this, SLOT(replyTimeout())); - -#ifdef STREAM_LOGGER - m_streamLog.setFileName("streamlog.txt"); - m_streamLog.open(QIODevice::WriteOnly | QIODevice::Text); -#endif -} - -/** - * Sets oauth twitter object - */ -void QTweetUserStream::setOAuthTwitter(OAuthTwitter *oauthTwitter) -{ - m_oauthTwitter = oauthTwitter; -} - -/** - * Gets oauth twitter object - */ -OAuthTwitter* QTweetUserStream::oauthTwitter() const -{ - return m_oauthTwitter; -} - -/** - * Starts fetching user stream - */ -void QTweetUserStream::startFetching() -{ - if (m_reply != 0) { - m_reply->abort(); - m_reply->deleteLater(); - m_reply = 0; - } - - QNetworkRequest req; - req.setUrl(QUrl(TWITTER_USERSTREAM_URL)); - - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(req.url(), OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - - m_reply = m_oauthTwitter->networkAccessManager()->get(req); - connect(m_reply, SIGNAL(finished()), this, SLOT(replyFinished())); - connect(m_reply, SIGNAL(readyRead()), this, SLOT(replyReadyRead())); - - connect(m_reply, SIGNAL(readyRead()), m_timeoutTimer, SLOT(start())); - connect(m_reply, SIGNAL(finished()), m_timeoutTimer, SLOT(stop())); -} - -/** - * Called when connection is finished. Reconnects. - */ -void QTweetUserStream::replyFinished() -{ - qDebug() << "User stream closed "; - - m_streamTryingReconnect = true; - - if (!m_reply->error()) { //no error, reconnect - qDebug() << "No error, reconnect"; - - m_reply->deleteLater(); - m_reply = 0; - - startFetching(); - } else { //error - qDebug() << "Error: " << m_reply->error() << ", " << m_reply->errorString(); - - m_reply->deleteLater(); - m_reply = 0; - - //if (m_backofftimer->interval() < 20001) { - // m_backofftimer->start(); - // return; - //} - - //increase back off interval - int nextInterval = 2 * m_backofftimer->interval(); - - if (nextInterval > 300000) { - m_backofftimer->setInterval(300000); - emit failureConnect(); - } - - m_backofftimer->setInterval(nextInterval); - m_backofftimer->start(); - - qDebug() << "Exp backoff interval: " << nextInterval; - } -} - -void QTweetUserStream::replyReadyRead() -{ - QByteArray response = m_reply->readAll(); - -#ifdef STREAM_LOGGER - m_streamLog.write(response); - m_streamLog.write("\n"); -#endif - - if (m_streamTryingReconnect) { - emit reconnected(); - m_streamTryingReconnect = false; - } - - //set backoff timer to initial interval - m_backofftimer->setInterval(20000); - - QByteArray responseWithPreviousCache = response.prepend(m_cachedResponse); - - int start = 0; - int end; - - while ((end = responseWithPreviousCache.indexOf('\r', start)) != -1) { - if (start != end) { - QByteArray element = responseWithPreviousCache.mid(start, end - start); - - if (!element.isEmpty()) { - emit stream(element); - parseStream(element); - } - } - - int skip = (response.at(end + 1) == QLatin1Char('\n')) ? 2 : 1; - start = end + skip; - } - - //undelimited part just cache it - m_cachedResponse.clear(); - - if (start != responseWithPreviousCache.size()) { - QByteArray element = responseWithPreviousCache.mid(start); - if (!element.isEmpty()) - m_cachedResponse = element; - } -} - -void QTweetUserStream::replyTimeout() -{ - qDebug() << "Timeout connection"; - - m_reply->abort(); -} - -void QTweetUserStream::parseStream(const QByteArray& data) -{ - QJson::ParserRunnable *jsonParser = new QJson::ParserRunnable(); - jsonParser->setData(data); - connect(jsonParser, SIGNAL(parsingFinished(QVariant,bool,QString)), - this, SLOT(parsingFinished(QVariant,bool,QString))); - - QThreadPool::globalInstance()->start(jsonParser); -} - -void QTweetUserStream::parsingFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (!ok) { - qDebug() << "JSON parsing error: " << errorMsg; -#ifdef STREAM_LOGGER - m_streamLog.write("***** JSON parsing error *****\n"); -#endif - return; - } - - QVariantMap result = json.toMap(); - - //find it what stream element is - if (result.contains("friends")) { //friends element - parseFriendsList(result); - } else if (result.contains("direct_message")) { //direct message element - parseDirectMessage(result); - } else if (result.contains("text")) { //status element - QTweetStatus status = QTweetConvert::variantMapToStatus(result); - emit statusesStream(status); - } else if (result.contains("delete")) { - parseDeleteStatus(result); - } -} - -void QTweetUserStream::parseFriendsList(const QVariantMap& streamObject) -{ - QList friends; - - QVariantList friendsVarList = streamObject["friends"].toList(); - - foreach (const QVariant& idVar, friendsVarList) - friends.append(idVar.toLongLong()); - - emit friendsList(friends); -} - -void QTweetUserStream::parseDirectMessage(const QVariantMap &streamObject) -{ - QVariantMap directMessageVarMap = streamObject["direct_message"].toMap(); - - QTweetDMStatus directMessage = QTweetConvert::variantMapToDirectMessage(directMessageVarMap); - - emit directMessageStream(directMessage); -} - -void QTweetUserStream::parseDeleteStatus(const QVariantMap &streamObject) -{ - QVariantMap deleteStatusVarMap = streamObject["delete"].toMap(); - QVariantMap statusVarMap = deleteStatusVarMap["status"].toMap(); - - qint64 id = statusVarMap["id"].toLongLong(); - qint64 userid = statusVarMap["user_id"].toLongLong(); - - emit deleteStatusStream(id, userid); -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstream.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstream.h deleted file mode 100644 index 114cd758f..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetuserstream.h +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSERSTREAM_H -#define QTWEETUSERSTREAM_H - -#include -#include -#include "qtweetlib_global.h" - -#ifdef STREAM_LOGGER - #include -#endif - -class QNetworkAccessManager; -class QNetworkReply; -class OAuthTwitter; -class QAuthenticator; -class QTimer; -class QTweetStatus; -class QTweetDMStatus; - -/** - * Class for fetching user stream - */ -class QTWEETLIBSHARED_EXPORT QTweetUserStream : public QObject -{ - Q_OBJECT -public: - QTweetUserStream(QObject *parent = 0); - void setOAuthTwitter(OAuthTwitter* oauthTwitter); - OAuthTwitter* oauthTwitter() const; - -signals: - /** - * Emits stream elements - */ - void stream(const QByteArray& ); - /** - * Emits tweets (parsed) elements from stream - */ - void statusesStream(const QTweetStatus& status); - /** - * Emits friends list of id of authenticated user. - * Emited immediately after connecting to the user stream. - * If there is no reconnect it won't be emited again. - */ - void friendsList(const QList friends); - /** - * Emits direct message when is arrived in the stream - */ - void directMessageStream(const QTweetDMStatus& directMessage); - /** - * Emits deletion of status in the stream - */ - void deleteStatusStream(qint64 id, qint64 userid); - /** - * Emited when user stream is reconnected after failure - * Usefull when user stream connection fails to fetch missed tweets with REST API - */ - void reconnected(); - /** - * Emited when user stream doesn't connect and backoff timer reaches maximum value (300 seconds) - * Usefull when users stream fails to revert to REST API - */ - void failureConnect(); - -public slots: - void startFetching(); - -private slots: - void replyFinished(); - void replyReadyRead(); - void replyTimeout(); - void parsingFinished(const QVariant& json, bool ok, const QString& errorMsg); - -private: - void parseStream(const QByteArray& ); - void parseFriendsList(const QVariantMap& streamObject); - void parseDirectMessage(const QVariantMap& streamObject); - void parseDeleteStatus(const QVariantMap& streamObject); - - QByteArray m_cachedResponse; - OAuthTwitter *m_oauthTwitter; - QNetworkReply *m_reply; - QTimer *m_backofftimer; - QTimer *m_timeoutTimer; - bool m_streamTryingReconnect; - -#ifdef STREAM_LOGGER - QFile m_streamLog; -#endif -}; - -#endif // QTWEETUSERSTREAM_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetusertimeline.cpp b/thirdparty/qtweetlib/qtweetlib/src/qtweetusertimeline.cpp deleted file mode 100644 index cc51ec283..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetusertimeline.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#include -#include -#include -#include "qtweetusertimeline.h" -#include "qtweetstatus.h" -#include "qtweetconvert.h" - -QTweetUserTimeline::QTweetUserTimeline(QObject *parent) : - QTweetNetBase(parent) -{ -} - -QTweetUserTimeline::QTweetUserTimeline(OAuthTwitter *oauthTwitter, QObject *parent) : - QTweetNetBase(oauthTwitter, parent) -{ -} - -/** - * Starts fetching - * @param userid user ID - * @param screenName user screen name - * @param sinceid fetches tweets with ID greater (more recent) then sinceid - * @param maxid fetches tweets with ID less (older) then maxid - * @param count number of tweets to fetch (up to 200) - * @param page page number - * @param skipUser true to include only status authors numerical ID - * @param includeRts timeline contains native retweets if true - * @param includeEntities each tweet include node "entities" - */ -void QTweetUserTimeline::fetch(qint64 userid, - const QString &screenName, - qint64 sinceid, - qint64 maxid, - int count, - int page, - bool trimUser, - bool includeRts, - bool includeEntities) -{ - QUrl url("http://api.twitter.com/1/statuses/user_timeline.json"); - - if (userid != 0) - url.addQueryItem("user_id", QString::number(userid)); - - if (!screenName.isEmpty()) - url.addQueryItem("screen_name", screenName); - - if (sinceid != 0) - url.addQueryItem("since_id", QString::number(sinceid)); - - if (maxid != 0) - url.addQueryItem("max_id", QString::number(maxid)); - - if (count != 0) - url.addQueryItem("count", QString::number(count)); - - if (page != 0) - url.addQueryItem("page", QString::number(page)); - - if (trimUser) - url.addQueryItem("trim_user", "true"); - - if (includeRts) - url.addQueryItem("include_rts", "true"); - - if (includeEntities) - url.addQueryItem("include_entities", "true"); - - QNetworkRequest req(url); - - if (isAuthenticationEnabled()) { - QByteArray oauthHeader = oauthTwitter()->generateAuthorizationHeader(url, OAuth::GET); - req.setRawHeader(AUTH_HEADER, oauthHeader); - } - - QNetworkReply *reply = oauthTwitter()->networkAccessManager()->get(req); - connect(reply, SIGNAL(finished()), this, SLOT(reply())); -} - -void QTweetUserTimeline::parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg) -{ - if (ok) { - QList statuses = QTweetConvert::variantToStatusList(json); - - emit parsedStatuses(statuses); - } else { - qDebug() << "QTweetUserTimeline JSON parser error: " << errorMsg; - setLastErrorMessage(errorMsg); - emit error(JsonParsingError, errorMsg); - } -} diff --git a/thirdparty/qtweetlib/qtweetlib/src/qtweetusertimeline.h b/thirdparty/qtweetlib/qtweetlib/src/qtweetusertimeline.h deleted file mode 100644 index 5b9cd6c8c..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/qtweetusertimeline.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (c) 2010, Antonie Jovanoski - * - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Contact e-mail: Antonie Jovanoski - */ - -#ifndef QTWEETUSERTIMELINE_H -#define QTWEETUSERTIMELINE_H - -#include "qtweetnetbase.h" - -class QTweetStatus; - -/** - * Class for fetching tweets posted by user or other users - */ -class QTWEETLIBSHARED_EXPORT QTweetUserTimeline : public QTweetNetBase -{ - Q_OBJECT -public: - QTweetUserTimeline(QObject *parent = 0); - QTweetUserTimeline(OAuthTwitter *oauthTwitter, QObject *parent = 0); - void fetch(qint64 userid = 0, - const QString& screenName = QString(), - qint64 sinceid = 0, - qint64 maxid = 0, - int count = 0, - int page = 0, - bool trimUser = false, - bool includeRts = false, - bool includeEntities = false); - -signals: - /** Emits user timeline status list */ - void parsedStatuses(const QList& statuses); - -protected slots: - void parsingJsonFinished(const QVariant &json, bool ok, const QString &errorMsg); -}; - -#endif // QTWEETUSERTIMELINE_H diff --git a/thirdparty/qtweetlib/qtweetlib/src/src.pro b/thirdparty/qtweetlib/qtweetlib/src/src.pro deleted file mode 100644 index 0b235756a..000000000 --- a/thirdparty/qtweetlib/qtweetlib/src/src.pro +++ /dev/null @@ -1,153 +0,0 @@ -QT += network -QT += gui - -TEMPLATE = lib -TARGET = QTweetLib -DESTDIR = ../lib -win32:LIBS += ../lib/qjson.lib -unix:LIBS += -L../lib -lqjson -CONFIG += create_prl -INCLUDEPATH += .. - -windows: { - DEFINES += QTWEETLIB_MAKEDLL -} - -HEADERS += \ - oauth.h \ - oauthtwitter.h \ - qtweetfriendstimeline.h \ - qtweetlib_global.h \ - qtweethometimeline.h \ - qtweetmentions.h \ - qtweetnetbase.h \ - qtweetretweetbyme.h \ - qtweetretweetsofme.h \ - qtweetretweettome.h \ - qtweetstatus.h \ - qtweetstatusshow.h \ - qtweetstatusupdate.h \ - qtweetuser.h \ - qtweetusertimeline.h \ - qtweetstatusdestroy.h \ - qtweetstatusretweet.h \ - qtweetstatusretweets.h \ - qtweetusershow.h \ - qtweetuserlookup.h \ - qtweetdirectmessages.h \ - qtweetuserstream.h \ - qtweetdmstatus.h \ - qtweetusersearch.h \ - qtweetuserstatusesfriends.h \ - qtweetuserstatusesfollowers.h \ - qtweetlist.h \ - qtweetlistcreate.h \ - qtweetlistupdate.h \ - qtweetlistgetlists.h \ - qtweetlistshowlist.h \ - qtweetlistdeletelist.h \ - qtweetliststatuses.h \ - qtweetlistmemberships.h \ - qtweetlistsubscriptions.h \ - qtweetlistgetmembers.h \ - qtweetlistaddmember.h \ - qtweetlistdeletemember.h \ - qtweetlistsubscribers.h \ - qtweetlistsubscribe.h \ - qtweetlistunsubscribe.h \ - qtweetdirectmessagessent.h \ - qtweetdirectmessagenew.h \ - qtweetdirectmessagedestroy.h \ - qtweetfriendshipcreate.h \ - qtweetfriendshipdestroy.h \ - qtweetfriendsid.h \ - qtweetfollowersid.h \ - qtweetaccountverifycredentials.h \ - qtweetaccountratelimitstatus.h \ - qtweetfavorites.h \ - qtweetfavoritescreate.h \ - qtweetfavoritesdestroy.h \ - qtweetsearch.h \ - qtweetsearchresult.h \ - qtweetsearchpageresults.h \ - qtweetplace.h \ - qtweetgeoreversegeocode.h \ - qtweetgeosearch.h \ - qtweetgeosimilarplaces.h \ - qtweetgeoplaceid.h \ - qtweetgeoplacecreate.h \ - qtweetgeocoord.h \ - qtweetgeoboundingbox.h \ - qtweetconvert.h \ - qtweetentityurl.h \ - qtweetentityhashtag.h \ - qtweetentityusermentions.h - -SOURCES += \ - oauth.cpp \ - oauthtwitter.cpp \ - qtweetfriendstimeline.cpp \ - qtweethometimeline.cpp \ - qtweetmentions.cpp \ - qtweetnetbase.cpp \ - qtweetretweetbyme.cpp \ - qtweetretweetsofme.cpp \ - qtweetretweettome.cpp \ - qtweetstatus.cpp \ - qtweetstatusshow.cpp \ - qtweetstatusupdate.cpp \ - qtweetuser.cpp \ - qtweetusertimeline.cpp \ - qtweetstatusdestroy.cpp \ - qtweetstatusretweet.cpp \ - qtweetstatusretweets.cpp \ - qtweetusershow.cpp \ - qtweetuserlookup.cpp \ - qtweetdirectmessages.cpp \ - qtweetuserstream.cpp \ - qtweetdmstatus.cpp \ - qtweetusersearch.cpp \ - qtweetuserstatusesfriends.cpp \ - qtweetuserstatusesfollowers.cpp \ - qtweetlist.cpp \ - qtweetlistcreate.cpp \ - qtweetlistupdate.cpp \ - qtweetlistgetlists.cpp \ - qtweetlistshowlist.cpp \ - qtweetlistdeletelist.cpp \ - qtweetliststatuses.cpp \ - qtweetlistmemberships.cpp \ - qtweetlistsubscriptions.cpp \ - qtweetlistgetmembers.cpp \ - qtweetlistaddmember.cpp \ - qtweetlistdeletemember.cpp \ - qtweetlistsubscribers.cpp \ - qtweetlistsubscribe.cpp \ - qtweetlistunsubscribe.cpp \ - qtweetdirectmessagessent.cpp \ - qtweetdirectmessagenew.cpp \ - qtweetdirectmessagedestroy.cpp \ - qtweetfriendshipcreate.cpp \ - qtweetfriendshipdestroy.cpp \ - qtweetfriendsid.cpp \ - qtweetfollowersid.cpp \ - qtweetaccountverifycredentials.cpp \ - qtweetaccountratelimitstatus.cpp \ - qtweetfavorites.cpp \ - qtweetfavoritescreate.cpp \ - qtweetfavoritesdestroy.cpp \ - qtweetsearch.cpp \ - qtweetsearchresult.cpp \ - qtweetsearchpageresults.cpp \ - qtweetplace.cpp \ - qtweetgeoreversegeocode.cpp \ - qtweetgeosearch.cpp \ - qtweetgeosimilarplaces.cpp \ - qtweetgeoplaceid.cpp \ - qtweetgeoplacecreate.cpp \ - qtweetgeocoord.cpp \ - qtweetgeoboundingbox.cpp \ - qtweetconvert.cpp \ - qtweetentityurl.cpp \ - qtweetentityhashtag.cpp \ - qtweetentityusermentions.cpp