summaryrefslogtreecommitdiffstats
path: root/common/CMakeLists.txt
Commit message (Collapse)AuthorAge
* Added the flush command.Christian Mollekopf2016-11-25
| | | | | | | Instead of trying to actually flush queues, we send a special command through the same queues as the other commands and can thus guarantee that the respective commands have been processed without blocking anything.
* Folded the SourceWriteback into the Synchronizer.Christian Mollekopf2016-11-21
| | | | | | | | | | | | By concentrating all communication to the source in one place we get rid of several oddities. * Quite a bit of duplication since both need access to the synchronizationStore and the source. * We currently have an akward locking in place because both classes access the ync store. This is not easier to resolve cleanly. * The live of resource implementers becomes easier. * An implementation could elect to not use changereplay and always do a full sync... (maybe?)
* Notification debug stream operator.Christian Mollekopf2016-11-10
|
* A new indexer subsystem that can be used for indexes that are moreChristian Mollekopf2016-10-21
| | | | complex than a simple key-value pair.
* Removed EntityReaderChristian Mollekopf2016-10-21
|
* Removed the now obsolete EntityStoreChristian Mollekopf2016-10-21
|
* Refactor how the storage is used.Christian Mollekopf2016-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the initial refactoring to improve how we deal with the storage. It does a couple of things: * Rename Sink::Storage to Sink::Storage::DataStore to free up the Sink::Storage namespace * Introduce a Sink::ResourceContext to have a single object that can be passed around containing everything that is necessary to operate on a resource. This is a lot better than the multiple separate parameters that we used to pass around all over the place, while still allowing for dependency injection for tests. * Tie storage access together using the new EntityStore that directly works with ApplicationDomainTypes. This gives us a central place where main storage, indexes and buffer adaptors are tied together, which will also give us a place to implement external indexes, such as a fulltextindex using xapian. * Use ApplicationDomainTypes as the default way to pass around entities. Instead of using various ways to pass around entities (buffers, buffer adaptors, ApplicationDomainTypes), only use a single way. The old approach was confusing, and was only done as: * optimization; really shouldn't be necessary and otherwise I'm sure we can find better ways to optimize ApplicationDomainType itself. * a way to account for entities that have multiple buffers, a concept that I no longer deem relevant. While this commit does the bulk of the work to get there, the following commits will refactor more stuff to get things back to normal.
* Moved standard quries to a separate header.Christian Mollekopf2016-10-06
|
* Refactored the query part of the entity reader into DataStoreQuery.Christian Mollekopf2016-09-19
| | | | | | | | | DataStoreQuery now encapsulates the low-level query that operates directly on the storage. It no longer has access to the resource buffers, and is instantiated by the type implementation, so we can specialize the query alogorithm per type, but not per resource. This will allow us to implement the threading queries for the mailtype.
* Share special purpose preprocessor implementation.Christian Mollekopf2016-06-25
|
* Moved mailpreprocessors to a shared locationChristian Mollekopf2016-06-19
|
* Moved query logic to EntityReader to make it reusable in the resource.Christian Mollekopf2016-06-09
|
* Moved the classes to individual filesChristian Mollekopf2016-05-28
|
* Refactored the generic resource to use separate classes forChristian Mollekopf2016-05-28
| | | | | | | | changereplay and synchronization. This cleans up the API and avoids the excessive passing around of transactions. It also provides more flexibility in eventually using different synchronization strategies for different resources.
* Account filter for resources and contains comparator in queryChristian Mollekopf2016-05-01
|
* Use ConfigStore for accountsChristian Mollekopf2016-04-11
|
* Fixed accounts supportChristian Mollekopf2016-03-15
|
* A test helper to avoid writing to the data directory.Christian Mollekopf2016-03-15
|
* Fetch more data on demandChristian Mollekopf2016-02-20
| | | | | | | | We skip values we've already seen and only retrieve the new ones. This currently only properly works in a non-live query and we don't give the model any feedback when we can't fetch more data anymore. However, it generally works and we get the desired effect.
* clientapi.h goes Poof!Christian Mollekopf2016-02-10
|
* Moved Notifier and ResourceAccess to separate files.Christian Mollekopf2016-02-10
|
* Moved Store to separate fileChristian Mollekopf2016-02-10
|
* Use Sink instead of SinkCommonChristian Mollekopf2016-02-09
|
* Insall sincommon_export.hChristian Mollekopf2016-01-31
|
* Explicitly state visibilityChristian Mollekopf2016-01-31
| | | | | | | | | This cuts the exportet symbols from 12k to 2k and the library size from 16Mb to 14Mb, which isn't great but still an improvement. About 30% of the symbols are coming from the Store:: interface. nm -C -D /work/install/lib64/libsinkcommon.so.0.1
* clang analyze targetChristian Mollekopf2016-01-30
|
* Sink is not a frameworkChristian Mollekopf2016-01-21
|
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* Install new headersChristian Mollekopf2016-01-20
|
* Merge remote-tracking branch 'origin/dev/hefee' into dev/inspectionChristian Mollekopf2016-01-19
|\
| * export propper files to link against via cmakeSandro Knauß2016-01-11
| |
* | Draft of inspection APIChristian Mollekopf2016-01-18
|/
* unqlite is a dead end; time to start pruning these thingsAaron Seigo2015-12-25
|
* Added TypeIndexChristian Mollekopf2015-12-06
| | | | | A central location for all types to specify what properties are indexed, and how to query them.
* Only install the headers we need.Christian Mollekopf2015-11-30
| | | | We go rid of large parts of the header entanglements.
* Introduced a QueryRunner objectChristian Mollekopf2015-11-27
| | | | | | | | The QueryRunner object lives for the duration of the query (so just for the initial query for non-live queries, and for the lifetime of the result model for live queries). It's supposed to handle all the threading internally and decouple the lifetime of the facade.
* Moved facade implementation to cpp fileChristian Mollekopf2015-11-19
|
* CleanupChristian Mollekopf2015-11-15
|
* Added a folder typeChristian Mollekopf2015-11-09
|
* Made headers installable and install headersChristian Mollekopf2015-10-23
|
* Let clients tell the resource when they no longer require a revision.Christian Mollekopf2015-10-19
|
* Added support for mails to akonadi and the dummyresource.Christian Mollekopf2015-09-08
| | | | Adding new types definitely needs to become easier.
* Untangled the include dependencies a bit.Christian Mollekopf2015-08-13
| | | | We no longer depend on clientapi.h from everywhere.
* Moved listener to commonChristian Mollekopf2015-07-28
| | | | So we can use it in tests as well.
* Abstracted the storage so the facade can be tested.Christian Mollekopf2015-07-27
|
* Mode FacadeFactory to separate file, mutex protected it, and loadedChristian Mollekopf2015-07-27
| | | | | | | | resource The factory is potentially used from several queries simultaneously, so it's now mutex protected. Additionally we try to load the plugins directly in the factory.
* Extracted resource configChristian Mollekopf2015-07-08
|
* We can add resources.Christian Mollekopf2015-07-08
|
* Moved default read/write property mapper to TypeImplementationChristian Mollekopf2015-05-31
| | | | | There is always exactly one default buffer that we can centralize in TypeImplementation.
* Moved remaining parts of applicationdomaintypeChristian Mollekopf2015-05-25
|