|
|
Line 1: |
Line 1: |
| === Design considerations, ideas, thoughts, nothing final ===
| | {{ Moved To Community }} |
| | |
| Perhaps create an (abstract) interface / abstract class TileProvider? Not sure, if there is an use case.
| |
| | |
| Perhaps separation between http download and tile providing since http download is needed for wikipedia (and perhaps other stuff) integration also.
| |
| | |
| What about redirects? in general it seems to be a good idea to support them, but do we also need the ability to
| |
| forbid redirects of inform the user?
| |
| | |
| The TileLoader should be able to handle not only files, but also QByteArrays or whatever is delivered by the network plugin interface.
| |
| | |
| | |
| === Documentation of existing code ===
| |
| | |
| Here are drop notes of understanding how downloading http stuff happens:
| |
| | |
| {{class|HttpDownloadManager|kdeedu|4.x}} is the entry point if you want to download http things. | |
| | |
| This class handles download jobs by first creating a simple {{class|HttpJob|kdeedu|4.x}}, and providing it to one of the {{class|DownloadQueueSet|kdeedu|4.x}} classes which can behave according to various {{class|DownloadPolicyKey|kdeedu|4.x}}.
| |
| | |
| A {{class|StoragePolicy|kdeedu|4.x}} belongs to the HttpDownloadManager to handle downloaded files properly.
| |
| | |
| It also relies on the {{class|PluginManager|kdeedu|4.x}} to provide a {{class|NetworkPlugin|kdeedu|4.x}} which implements the createJob
| |
| | |
| In the current imlementation (trunk just after 4.4 branching), there are many
| |
| HttpDownloadManagers, which in turn have their own PluginManager, StoragePolicy and DownloadQueueSets. This looks suboptimal and hard to evolve.
| |
| | |
| - The many HttpDownloadManagers are
| |
| * {{class|AbstractDataPluginModel|kdeedu|4.x}} (and so all *PluginModel which inherit...),
| |
| * {{class|MarbleModel|kdeedu|4.x}},
| |
| * {{class|TwitterPlugin|kdeedu|4.x}}
| |
| Maybe one would be enough, given the DownloadQueues and StoragePolicies framework...
| |
| | |
| === Design proposal ===
| |
| | |
| to be done
| |