项目作者: pcolby

项目描述 :
AWS SDK for Qt
高级语言: C++
项目地址: git://github.com/pcolby/aws-sdk-qt.git
创建时间: 2013-09-22T06:48:18Z
项目社区:https://github.com/pcolby/aws-sdk-qt

开源协议:GNU Lesser General Public License v3.0

下载


QtAws

Build Status
Static Analysis
GitHub Release
LGPLv3 License

QtAws is an unnoficial AWS SDK for Qt.

The library is still in early stages of development, but already includes much
of the basic framework plumbing required for implementing asynchronous AWS
clients, including generic classes for managing the building of AWS requests
(including all five AWS signature types) and processing of AWS responses.

The first 0.1.0
release included just the signature, endpoint and region classes. But that
release was 100% documented
(including the internal code)
and 100% unit tested.

Work then progressed for the SQS client classes - the basics of which are in
place now (see the 0.2.0 pre-release),
however that work was put on hold when Amazon released their official
AWS SDK for C++, while this
project re-evaluated its value proposition, as well as a potential shift to
becoming a light Qt-based wrapper for Amazon’s SDK (which was not deemed a good
fit in the end).

However, now that Amazon has made public the API descriptions used to
generate most of the C++ SDK, effort is now being put into a Qt-based code
generator that will create the bulk of the service client and model classes from
those API descriptions.

Note that the API descriptions do not cover things like the signature, endpoint
and region classes, which is where the bulk of the development effort has been
to date, making all the investment in this project so far still completely
worthwhile :)

Requirements

Qt 5.1+

QtAws requires Qt 5.1 or later, as the library makes use of Qt’s
QMessageAuthenticationCode class for generating HMAC codes for AWS request
signatures, and that class was first added in Qt 5.1.0.

Backporting QMessageAuthenticationCode to Qt 5.0 is relatively simple,
but outside the scope of this project.

Note, the code-generation sub-project requires Qt
5.10+ and Grantlee, but this is
for development of the SDK itself, not for developers that use the SDK.

Building

This library supports out-of-source builds (highly recommended), for example:

  1. cmake -E make_directory <tmp-build-dir>
  2. cmake -D CMAKE_BUILD_TYPE=Release -S <path-to-cloned-repo> -B <tmp-build-dir>
  3. cmake --build <tmp-build-dir>
  4. #make check

API Documentation

See the API documentation.

There’s also internal documentation
for anyone interested in the internal library implementation.

Test Coverage

See the test coverage report.