summaryrefslogtreecommitdiffstats
path: root/common/domain/mail.cpp
Commit message (Collapse)AuthorAge
* Set to/cc/bccChristian Mollekopf2016-11-01
|
* Mail::Contact mappingChristian Mollekopf2016-10-31
|
* CleanupChristian Mollekopf2016-10-21
|
* Get access to properties in indexes.Christian Mollekopf2016-10-21
|
* TypeImplementation cleanupChristian Mollekopf2016-10-21
|
* A new indexer subsystem that can be used for indexes that are moreChristian Mollekopf2016-10-21
| | | | complex than a simple key-value pair.
* Ported the pipeline to the entitystoreChristian Mollekopf2016-10-21
|
* Use the ApplicationDomainType in the queries as well.Christian Mollekopf2016-10-21
| | | | | We have to access properties, so we need the mapper anyways, and the ApplicationDomainType type shouldn't be a large overhead anyways.
* We no longer access the typeindex directlyChristian 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.
* The threading reduction is working.Christian Mollekopf2016-09-26
|
* A new query systemChristian Mollekopf2016-09-23
|
* Merge mails by subjectChristian Mollekopf2016-09-21
|
* A first draft of the threading algorithm.Christian Mollekopf2016-09-20
|
* 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.
* A new debug system.Christian Mollekopf2016-07-07
| | | | | | | | | | | | | | | Instead of a single #define as debug area the new system allows for an identifier for each debug message with the structure component.area. The component is a dot separated identifier of the runtime component, such as the process or the plugin. The area is the code component, and can be as such defined at compiletime. The idea of this system is that it becomes possible to i.e. look at the output of all messages in the query subsystem of a specific resource (something that happens in the client process, but in the resource-specific subcomponent). The new macros are supposed to be less likely to clash with other names, hence the new names.
* A working mailtransport resourceChristian Mollekopf2016-06-17
|
* Move to trashChristian Mollekopf2016-06-15
|
* Property definitionsChristian Mollekopf2016-05-10
| | | | | Instead of hardcoding assumptions all over the place we create typesafe setters and getters for all properties.
* Support for a draft propertyChristian Mollekopf2016-05-08
|
* Added an index for mail sorting by date on folder queriesChristian Mollekopf2016-02-16
|
* Prepared sort indexesChristian Mollekopf2016-02-16
|
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* Ensure the initialization of the TypeIndex is threadsafe.Christian Mollekopf2015-12-27
| | | | Multiple initial queries can be running at the same time.
* Expose the mimeMessage property.Christian Mollekopf2015-12-17
|
* Index the folder of the mailChristian Mollekopf2015-12-09
|
* Added TypeIndexChristian Mollekopf2015-12-06
| | | | | A central location for all types to specify what properties are indexed, and how to query them.
* example client and propertiesChristian Mollekopf2015-12-04
|
* Reduced boilerplate for buffer mappingChristian Mollekopf2015-12-04
|
* Implemented removeIndexChristian Mollekopf2015-11-05
|
* Made pipeline preprocessing synchronous.Christian Mollekopf2015-10-28
| | | | | | | | | | | | | | | | Instead of having the asynchronous preprocessor concept with different pipelines for new/modify/delete we have a single pipeline with synchronous preprocessors that act upon new/modify/delete. This keeps the code simpler due to lack of asynchronity and keeps the new/modify/delete operations together (which at least for the indexing makes a lot of sense). Not supporting asynchronity is ok because the tasks done in preprocessing are not cpu intensive (if they were we had a problem since they are directly involved in the round-trip time), and the main cost comes from i/o, meaning we don't gain much by doing multithreading. Costly tasks (such as full-text indexing) should rather be implemented as post-processing, since that doesn't increase the round-trip time directly, and eventually consistent is typically good enough for that.
* Conciser PropertyMapper::addMapping notationChristian Mollekopf2015-09-09
|
* A folder dummy folder facade and a folder property for mails.Christian Mollekopf2015-09-08
| | | | Mails in inbox!
* Added support for mails to akonadi and the dummyresource.Christian Mollekopf2015-09-08
Adding new types definitely needs to become easier.