[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [amarok] HACKING/architecture: Add architecture text for Collections.
From:       Bart Cerneels <bart.cerneels () kde ! org>
Date:       2012-09-22 15:12:16
Message-ID: 20120922151216.360C8A6094 () git ! kde ! org
[Download RAW message or body]

Git commit 431c27db49f0e1fbdd85eb84e679972dc9badeed by Bart Cerneels.
Committed on 22/09/2012 at 10:50.
Pushed by shanachie into branch 'master'.

Add architecture text for Collections.

A  +14   -0    HACKING/architecture/Collections.txt

http://commits.kde.org/amarok/431c27db49f0e1fbdd85eb84e679972dc9badeed

diff --git a/HACKING/architecture/Collections.txt b/HACKING/architecture/Co=
llections.txt
new file mode 100644
index 0000000..35f7471
--- /dev/null
+++ b/HACKING/architecture/Collections.txt
@@ -0,0 +1,14 @@
+Collection Architecture
+-----------------------
+
+Collection is a container for a set of objects that collectively provider =
tracks to the application. =

+
+On plugin load a CollectionFactory is registered with CollectionManager wh=
ich listens to the newCollection() signal. CollectionManager is responsible=
 for integrating the new Collection within the rest of the application.
+Collection makes user visible strings, icons and other information availab=
le for the UI to use.
+
+TrackProvider actually creates the Meta::Track objects using trackForUrl()=
 which has a specially formatted URL that is unique accross application set=
tings. A collection has it's own URL protocol which all uidUrl's of the col=
lection's tracks start with.
+
+For getting tracks according to metadata or statistical information each C=
ollection has a QueryMaker implementation. Any component can get an instanc=
e of this specialized QueryMaker using Collection::queryMaker().
+CollectionManager has a special QueryMaker that will return results of all=
 the registered collections using their queryMaker(). Use this if you want =
a track resolved without caring about it's origin.
+
+TrackProvider and QueryMakers can be used seperatly from the collections. =
In practice though you'll find only TrackProvider getting used by Services =
and the filesystem browser. If needing to combinine it with a QueryMaker yo=
u are probably creating a Collection anyway.
\ No newline at end of file

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic