Skip to content

SuperFun99/libqtaws

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Libqtaws

Build Status Build Status Coverage Status Coverage Status Coverity Scan Status GitHub Issues GitHub Release LGPLv3 License

Libqtaws is an open-source (LGPL) library for consuming Amazon Web Services (AWS) from Qt applications.

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 very 100% documented (including the internal code) and 100% unit tested.

Work is now progressing on the SQS client classes - the basics of which are in place now, but need to be documented and unit tested before I could consider them complete.

After SQS, other Amazon services (such as SNS, DynamoDN, S3, EC2, etc) will be added in the order people ask for them.

Of course, if you want to contribute your own classes for access specific AWS services, please do so! See the SqsClient and related classes for the patterns to use when adding new AWS service client classes.

Requirements

Qt 5.1

Libqtaws requires Qt 5.1+ The library uses Qt's QMessageAuthenticationCode class for generating HMAC codes for AWS request signatures, and that class was first added in Qt 5.1.0.

It is possible to make the library work with Qt 5.0 by backporting QMessageAuthenticationCode from Qt 5.1 to Qt 5.0 - indeed, this is what this project does for travis-ci support (see .travis.yml for example), but that is not officially supported (might become so, if enough people show interest).

Note, the library will soon depend on Qt5's built-in JSON support too, so it is unlikely that libqtaws will ever officially support version of Qt earlier than 5.0.

Building

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

mkdir -p <tmp-build-dir>
pushd <tmp-build-dir>
qmake -Wall -Wlogic -Wparser CONFIG+=debug_and_release <path-to-cloned-repo>
make # or `nmake` on Windows
make check
popd

API Documentation

See the doxygen-generated API documentation.

There's also internal documentation for those interested in the internal library implementation.

Test Coverage

See the test coverage report.

About

AWS library for Qt

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.6%
  • QMake 1.3%
  • C 0.1%