Code Monkey home page Code Monkey logo

qevercloud's Introduction

QEverCloud

Unofficial Evernote Cloud API for Qt

What's this

This library presents complete Evernote SDK for Qt. All the functionality that is described on Evernote site is implemented and ready to use. In particular OAuth authentication is implemented.

Read doxygen generated documentation for detailed info.

The documentstion is also available as a .qch file which you can register with your copy of Qt Creator to have context-sensitive help. See qch subdir.

Forks

Due to a radical change in my interests in programming and also due to the fact that I personaly mostly migrated out of Evernote I do not maintain QEverCloud anymore.

As of time of writing there are people who use QEverCloud in their projects. Some of them have created forks and maintain them. You should use their forks and not my repository and contact them about pull request and bug reports. The list of the forks:

If you want your fork to appear in the list (or disappear from it) - contact me. That much I can do :)

Compatibility

While the library initially supported Qt 4 it became too constraining so I've dropped the support. If you're stuck with Qt 4 you can use the previous version which is available through qt4 branch.

I do not use C++11 features directly but only through macros Qt 5 have like Q_DECL_OVERRIDE, Q_STATIC_ASSERT_X QStringLiteral and others. So QEverCloud supports any given compiler as good as Qt 5 supports it.

Personally I test the library with MSVC2012 and MinGW 4.8 on Windows.

How to compile

QEverCloud depends on Qt only. So there is nothing special to compiling it.

How to link

  • Link compiled library to your project in the usual way.
  • Add it's include subdir to your app INCLUDEPATH qmake variable.
  • Add to QT variabe the network module. If you use OAuth functionality than add also widgets and webkitwidgets modules.

Include QEverCloud.h or QEverCloudOAuth.h to use the library. The latter header is needed if you use OAuth functionality.

Runtime dependencies

Qt uses OpenSSL to implement https protocol. As a result OpenSSL dynamically linked libraries (libeay32 and ssleay32) must be availabe in the PATH for your app to run successfully.

qevercloud's People

Contributors

d1vanov avatar mgsxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

qevercloud's Issues

Missing operator== and operator!= for generated types

First of all, thank you very much! Your work is just awesome and more convenient than official Evernote's C++ SDK by several orders of magnitude.

For now the only missing piece of functionality I've found is that type structs in the official Evernote's SDK have implemented operator == and operator != which are not present in QEverCloud's structs. If possible, I'd be very glad to have them in the structs even though they are implementable as outside operators.

Minor changes for Qt 4.8 & Linux

First, THANK YOU SO MUCH!!! This is so much easier to work with than the normal Thrift libraries. My only complaint is that this wasn't available two years ago. It would have saved me a ton of work. :-)

Just as an FYI & in case others ask, I needed to make a few minor changes to use it with Qt 4.8 on Linux.

1.) In http.cpp I had to use request.setRawHeader instead of request.setHeader to set the user agent because there is no QNetworkRequest::UserAgentHeader in 4.8.

2.) In http.h, I needed to add these 3 includes or it ran into issues. I assume it was due to the order in which gcc interprets headers.

include

include

include

3.) In thrift.h I needed to add this include

include

Otherwise, using Qt 4.8 on Linux everything I've tested works perfectly.

Thanks again!

EventLoopFinisher not added

I'm using QEverCloud by including it's source code as a subdir project in my project tree. When I link to this library, Qt reports "unresolved reference to vtable for EventLoopFinisher" (or something like that).

I found EventLoopFinisher.{h,cpp} are in the source directory, but bot included in the .pro file. After I added them in the QEverCloud.pro file, the problem was solved.

By the way, I would appreaciate if you can split the source without example and other file as a single repo. So that I can include that project as a git module in my project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.