summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAge
* Remove invalid commentsChristian Mollekopf2015-05-25
| | | | The lifetime is now correctly controlled by the execution.
* Fixed messagequeue.Christian Mollekopf2015-05-25
| | | | | | | The key someties vanished before we got to removing the value, (it was pure luck that it worked sometimes anyways), and then calling the errorHandler once the resultHandler was already called, lead to a crash in the resource processor.
* Fixed build.Christian Mollekopf2015-05-24
|
* KAsync has moved to it's own kasync.git repositoryDan Vrátil2015-05-18
|
* Adapt to KAsync namespace changeDan Vrátil2015-05-15
|
* Ensure proper dependencies between build targets and generate_flatbuffers ↵Dan Vrátil2015-05-15
| | | | targets
* Ensure the facade is open when listening to revision changes.Christian Mollekopf2015-05-01
|
* Error handlingChristian Mollekopf2015-05-01
|
* LoggingChristian Mollekopf2015-05-01
|
* Guard against non available facades.Christian Mollekopf2015-05-01
|
* Synchronize API callChristian Mollekopf2015-05-01
|
* Moved resultprovider to separate file.Christian Mollekopf2015-04-30
|
* CleanupChristian Mollekopf2015-04-29
|
* Avoid starting the resource for shutdown.Christian Mollekopf2015-04-29
|
* ResourceAccess: rewrite connection code using jobsChristian Mollekopf2015-04-28
| | | | | Another nice showcase implementation how things get easier, testable and composable using async.
* Make use of Async::iterateChristian Mollekopf2015-04-27
|
* Moved the non-generic code back to dummyresource.Christian Mollekopf2015-04-27
| | | | The dummy resource could now implement incremental queries.
* Use std::shared_ptr instead of QSharedPointer for facade factory.Christian Mollekopf2015-04-27
| | | | | Because it supports std::shared_ptr<void>, which is a nice alternative to make everything a QObject subclass for nothing.
* Fixed lifetime management of resultSet.Christian Mollekopf2015-04-27
| | | | | The resultSet remains valid for the duration of the thread. We keep the thread running until the ResultEmitter is deleted.
* Keep thread alive until the end of the query, and cleanup the resultSet.Christian Mollekopf2015-04-24
|
* Moved Console to client.Christian Mollekopf2015-04-21
| | | | It's part of the demo application.
* Moved generic part of resource implementation to GenericResourceChristian Mollekopf2015-04-20
|
* Moved complete writing part to GenericFacadeChristian Mollekopf2015-04-19
|
* Fixed build.Christian Mollekopf2015-04-19
|
* Stub for akonadi configuration.Christian Mollekopf2015-04-19
| | | | | | | | Instead of dealing with dedicated configuration facades, we'll integrate that directly into the domain interface. That way it should be rather natural for applications to i.e. query for available resources, and then configure them in the same way some other domain object would be modified.
* Avoid error message when initially starting resource.Christian Mollekopf2015-04-19
|
* Async refactoring in clientapi using each executorChristian Mollekopf2015-04-19
|
* cleanupChristian Mollekopf2015-04-18
|
* Log messagesChristian Mollekopf2015-04-18
|
* Moved generic part of load to GenericFacadeChristian Mollekopf2015-04-18
|
* Renamed the Error log macro to ErrorMsg because of nameclashesChristian Mollekopf2015-04-18
| | | | With Storage::Error. Perhaps turn to akLog, akError, ...?
* Moved clientapitest to testsChristian Mollekopf2015-04-15
|
* Colorized debug output a bitChristian Mollekopf2015-04-15
|
* Use a queryrunner to execute queries.Christian Mollekopf2015-04-15
| | | | | | | | | | | | | | The queryrunner is responsible for running queries and keeping them up to date. This is required for self-updating queries. To get this to work properly the ResultProvider/emitter had to be fixed. The emitter now only lives as long as the client holds a reference to it, allowing the provider to detect when it is no longer necessary to keep the query alive (because noone is listening). In the process various lifetime issues have been fixed, that we're caused by lambdas capturing smartpointers, that then extended the lifetime of the associated objects unpredictably.
* Always queue commands in resourceaccess.Christian Mollekopf2015-04-12
| | | | | We want to keep the command until we know it arrived in the resource, so we can resend it otherwise.
* Further simplify writing of buffer adaptors.Christian Mollekopf2015-04-12
| | | | Still not quite there but we're avoiding the bulk of duplication by now.
* Compile with flatbuffers 1.1Christian Mollekopf2015-04-12
|
* More generic domainadpator code.Christian Mollekopf2015-04-12
| | | | | This should cover read and write for entites that have a 1:1 mapping to the resource buffers.
* checkpointChristian Mollekopf2015-04-10
|
* commentsChristian Mollekopf2015-04-09
|
* Moved generic parts of the domain adaptor to commonChristian Mollekopf2015-04-09
|
* Renamed Akonadi::Domain to Akonadi::ApplicationDomainChristian Mollekopf2015-04-09
| | | | Because it's really the application domain and not the akonadi domain.
* Refactored buffer extraction from vector.Christian Mollekopf2015-04-09
|
* Started a facade base implementation.Christian Mollekopf2015-04-09
|
* Use QByteArray instead of QStringChristian Mollekopf2015-04-09
| | | | | All identifiers should be latin1 and we make this explicit by using QByteArray. QString is reserved for strings that can be UTF-8 or alike.
* cleanupChristian Mollekopf2015-04-08
|
* Less noiseChristian Mollekopf2015-04-07
|
* Use memcpy to copy tables into vectors.Christian Mollekopf2015-04-07
| | | | | | Ideally we wouldn't be copying at all, and somehow cast the table to a vector. Unfortunately I haven't figured out how to do that, and this solution at least gets us from 0.065 ms to 0.028 ms in testCreateCommand.
* ResourceAccess: copy the buffer before capturing it in the lambda.Christian Mollekopf2015-04-02
| | | | | | | | | | | It's lifetime is limited to the end of the function, so we have to copy it before. I switched to QByteArray because it simplifies the code and shouldn't really cost anything, additionally the implicit sharing makes copies cheap. This patch incurs the cost of always copying the buffer instead of writing straight to the socket, but we probably anyways want to keep a copy around, and if it would indeed be a performance issues (I doubt it), we could still optimize that copy away.
* async simplificationsChristian Mollekopf2015-04-02
|