Bug #732948 - Add backend-per-process support
With this we can have all backends running on theirs own processes, in this way, if a backend crashes we don't have the whole factory crashing together. Also, each instance of the EBackendFactory can decide if they want to have all instances of the same backend (like calendar, memo list, and task list) running in only one process (useful for evolution-ews and evolution-mapi where we can share the connections between calendar, memo list and task list) or have each extension running on its own process. Apart from that, a configure option was added and, in case the user wants to keep the old behavior, it can be disabled by passing "--disable-backend-per-process" to the configure. As a side effect of these changes, we are enforcing that the hash-key used to keep track of the backend-factories will be built internally and that *always* will follow the "backend-name:extension-name" structure, even for ECollectionBackends.
Showing with 3248 additions and 991 deletions