summaryrefslogtreecommitdiffstats
path: root/common/domain
Commit message (Collapse)AuthorAge
* Filter resources by the types they support.Christian Mollekopf2017-03-01
| | | | | This avoid uselessly querying resources only to discover that they don't have a facade for the type.
* Improved debug output and moved debug operators to cppChristian Mollekopf2017-02-16
|
* Remember whether a blob property is external or not.Christian Mollekopf2017-02-16
| | | | | ...we used to accidentally move external blobs after the property was lost when storing the modificatoin in the queue.
* Use SINK_REGISTER_TYPES to avoid repeating the typesChristian Mollekopf2017-02-16
|
* PropertyParser to properly parse different property types.Christian Mollekopf2017-02-16
|
* PropertyRegistry for runtime information about properties.Christian Mollekopf2017-02-16
| | | | A first usecase is parsing different property types.
* Mails don't have uid'sChristian Mollekopf2017-02-16
|
* Move the SINK_EXPORT to the right place.Christian Mollekopf2017-02-13
| | | | Thanks to marcoscarpetta for the patch!
* Cleaner index syntax, don't index messageid twiceChristian Mollekopf2017-02-13
|
* We can't inhert the copy constructor.Christian Mollekopf2017-02-01
| | | | An the compiler in fedora 26 also tells us that.
* Ensure blooming queries filter as they shouldChristian Mollekopf2017-01-31
| | | | After the initial bloom, it should turn into a regular filter.
* make contacts suitable for applications like sinkshSandro Knauß2017-01-30
|
* Add Contact as new domain typeSandro Knauß2017-01-30
|
* Debug outputChristian Mollekopf2017-01-18
|
* Fixed build issues with pedantic enabledChristian Mollekopf2017-01-12
|
* Set enabled state from subscriptionChristian Mollekopf2017-01-11
|
* Remember if we have all of the data or only the headers.Christian Mollekopf2017-01-10
|
* Comparison operator for ApplicationDomainTypeChristian Mollekopf2017-01-03
|
* CleanupChristian Mollekopf2016-12-20
|
* Fix threading for non-threaded messages.Christian Mollekopf2016-12-20
| | | | | Ensure we always have a messageId to work with, and avoid grouping all non-threaded messages together.
* Don't set capabilities as property on creation.Christian Mollekopf2016-12-15
| | | | | | Instead we make it part of the plugin. This ensure we also have access to the proper capabilities when creating a resource via sinksh.
* Made references serializable so we can store them in config filesChristian Mollekopf2016-12-15
|
* Add comment regarding the blob copying hack.Christian Mollekopf2016-12-09
|
* Move the BLOB property handling to the entitystore.Christian Mollekopf2016-12-09
| | | | | | This is really part of the storage, and will help us to cleanly implement features like moving properties into a temporary place when reading in a clean way as well.
* One copy algorithm is enough.Christian Mollekopf2016-12-08
|
* Let the preprocessor repeat the types.Christian Mollekopf2016-12-08
|
* Wrap references in a Reerence type.Christian Mollekopf2016-12-08
| | | | | | | | This allows us to make sure that references are not taken out of context (the resource). Because we need to use the type-specific accessors more we also ran into a problem that we cannot "downcast" a reference with the change recording still working, for that we have the cast<T>() operator now.
* Support for sent mail folderChristian Mollekopf2016-12-06
|
* Wrap blob properties in type so we can distinguish it from other properties.Christian Mollekopf2016-12-06
| | | | | | When moving an entity to another resource we have to move the blob properties to a temporary directory first, and that requires that we are able to distinguish blob properties from the rest at runtime.
* interresource moveChristian Mollekopf2016-12-02
|
* TypeHelper so we can centrally define the type dispatchChristian Mollekopf2016-11-30
| | | | | | Not pretty, but that at least allows us to centrally define the string to type dispatch (It's somehow very hard to do in C++ without repeating all types over and over in various interfaces).
* sinksh list identity supportChristian Mollekopf2016-11-21
|
* Set to/cc/bccChristian Mollekopf2016-11-01
|
* Got the sender to workChristian Mollekopf2016-10-31
|
* Mail::Contact mappingChristian Mollekopf2016-10-31
|
* Requesting a property that is not available is not an error.Christian Mollekopf2016-10-28
|
* 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.
* Define specialpurpose namesChristian Mollekopf2016-10-11
|
* An identity belongs to an account too.Christian Mollekopf2016-10-05
|
* A better resource filter apiChristian Mollekopf2016-10-05
|
* Resource subqueriesChristian Mollekopf2016-10-04
|
* Backwards comaptible names and some cleanupChristian Mollekopf2016-10-04
|
* Less hardcoding of entity typesChristian Mollekopf2016-10-04
|