While this does not affect any behavior, it more accurately describes
the accessibility. Since abstract classes can only be instantiated by
an instance of a derived type, the constructors should at most have
protected access.
If one of these fields is accidentally reassigned, it's possible for
threads to be oblivious to an existing lock. By making the fields
readonly, we will be notified at compile-time if we inadvertently
redefine one of these fields.
Status: Fixed
The new strategy is to provide general assembly redirects.
These are generated during the build procedure and added to the output.
Using these redirects it is possible to load a new/old version of a backend
(or other module) into Duplicati.
To ease testing, it is now also possible to place a dll for a backend in
a subfolder named "backends" and it will override the normal backend.
To remove the test backend, simply stop Duplicati and delete the "backends" folder.
The same works for compression, encryption, generic modules, and settingcontrols
with the folders "compression", "encryption", "modules", and "settingcontrols"
respectively.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@536 59da171f-624f-0410-aa54-27559c288bec
This was based on the idea that the interfaces should remain static.
I hope this change is enough to ensure stable interfaces until release 1.2.
Overview of changes:
Moved all interfaces into the same dll.
Encryption and compression is now plugable modules, just as the backends.
Encryption/compression can now register an UI.
Encryption now uses AESCrypt as a default.
GPG does not default to using the --armor option.
Added support for generic modules, but none are written yet.
Added support for plugable settings pages in the "Options" dialog.
Fixed issue #148.
Duplicati now uses AESCrypt as the default encryption format.
Fixed issue #199.
GPG now supports custom commandline options.
Fixed issue #207.
Encryption modules are now plugable.
Fixed issue #118.
S3 credentials are now stored.
Fixed issue #151.
Backends can now register system wide options.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@427 59da171f-624f-0410-aa54-27559c288bec