diff --git a/doc/devel/UML/iso_tree.violet b/doc/devel/UML/iso_tree.violet
index ac02a8d..9448c1b 100644
--- a/doc/devel/UML/iso_tree.violet
+++ b/doc/devel/UML/iso_tree.violet
@@ -23,8 +23,8 @@ biblio_file_id : char*
@@ -43,8 +43,8 @@ biblio_file_id : char*
@@ -65,8 +65,8 @@ hidden : enum
@@ -87,8 +87,8 @@ children()
@@ -107,48 +107,92 @@ children()
+
+
+
+
-
@@ -174,19 +218,19 @@ children()
«interface»
-Filter
+BurnSource
- Filters
+ Libburn
- 60.0
- 340.0
+ 1420.0
+ 280.0
@@ -194,189 +238,327 @@ Filter
- 66.03818312655496
- 371.74183342137127
+ 1431.4906533445824
+ 311.35760744838467
+
+
+
+
+
+
+
+ Class diagram for the public tree. Note that getters and setters are not shown,
+to improve readability. Note also that not all the attributes will have public getters
+or/and setters.
+El-Torito related information is shown in another diagram.
+We don't show the several functions in Dir to manage the tree.
+
+
+
+
+
+ 290.59037712396525
+ 9.859316379054512
-
+
- name : char*
+ FileSourceRegistry
-
+
+
+
+ 663.3494218736668
+ 707.2510088513307
+
+
+
+
+
+
- <<static>>new(id)
-<<static>>read(src, opts)
-create()
-grow()
+ A source that read its data from an arbitrary file
+descritor. size must be know in advance.
+
+
+
+
+
+ 888.4680374315352
+ 726.8792924010775
+
+
+
+
+
+
+
+ The idea of the registry is to keep track
+of sources for the same file (to implement
+cache inodes, for exampe)
+
+
+
+ 796.4629867976516
+ 789.9797974644656
+
+
+
+
+
- Image
+ TransformSource
- 829.5857864376269
- 417.33809511662446
+ 465.9331463967205
+ 595.4414715712101
+
+
+ get_size()
+read()
+open()
+close()
+is_repeatable()
+
+
«interface»
-DataSource
+FileSource
- 639.1500915071317
- 437.7684840063146
+ 685.9331463967205
+ 410.4414715712108
-
+
- In addition to the dest as a path, it could
-be a good idea to have a ref to tree node.
-That way we can compute the dest on creation
-time, and thus links to files on image are also valid
-after moving or renaming those files
+ A Filter do a tranformation on a stream of data.
+The main difference with TransformSources is that
+a Filter can be applied to several sources.
+NOTES:
+- filter() method still to define
+- A filter_changes_size() method can be useful
+
- 16.152744527534395
- 121.33809511662423
+ 350.5947306335493
+ 803.951562474507
-
-
+
+
- Image is a context for the creation of images. Its "static"
-methods, new() and read() are used to create a new
-image context, either from scratch or from an existing
-image (for example, a ms disc). The methods create() and
-grow() return an BurnSource suitable for libburn.
-create() writes a full image, grow() only add to the image
-the new files, thus it is suitable for a new session
-
+ filter(in, out)
+
+
+
+
+ «interface»
+Filter
- 988.5857864376269
- 547.3380951166246
+ 274.0746933916357
+ 694.5765090198104
-
+
+
+
+ size : off_t
+block : uint32_t
+
+
- Ecma119Source
+ PreviousImageSource
+
+
+
+
+
+ 976.3688193543292
+ 599.7669830819689
+
+
+
+
+
+
+
+ path : char*
+
+
+
+
+ LocalFileSource
- 1119.5058052462327
- 436.9433938860118
+ 674.5900006462128
+ 602.9561901969712
+
+
+
+
+
+
+
+ FilterSource
+
+
+
+
+
+ 417.08326112068517
+ 711.364573775316
+
+
+
+
+
+
+
+ «interface»
+DataSource
+
+
+
+
+
+ 1192.781692587207
+ 608.8954677283948
-
-
-
- «interface»
-BurnSource
-
-
-
+
- Libburn
+ Filters
- 1120.0
- 270.0
+ 260.0
+ 660.0
-
+
+
+
+ CutOutSource
+
+
+
- 1131.6773781214863
- 304.28653963651914
+ 533.842712474619
+ 706.7077195258237
-
+
- Class diagram for the public tree. Note that getters and setters are not shown,
-to improve readability. Note also that not all the attributes will have public getters
-or/and setters.
-El-Torito related information is shown in another diagram.
-We don't show the several functions in Dir to manage the tree.
+ Reads the contents of local files, both
+regular files, symlinks or block devices
- 433.2318447938257
- 11.635371637423802
+ 836.7472580451137
+ 493.8376618407349
-
-
+
+
+
+ fd : int
+size : off_t
+
+
+
- Each file can have several filters, that are
-applied sequentially.
+ FdSource
- 66.59559844015237
- 484.00729580610755
+ 846.3431457505072
+ 599.1219330881966
-
+
-
+
+
+
+ 1 volume
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -386,9 +568,27 @@ applied sequentially.
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {create}
+
+
+
+
@@ -398,27 +598,27 @@ applied sequentially.
+
+
+
-
-
+
+
-
+
-
-
-
- * children
+
-
-
+
+
-
-
+
+
@@ -428,27 +628,59 @@ applied sequentially.
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
- 1 root
+ 1
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -458,9 +690,22 @@ applied sequentially.
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -471,8 +716,20 @@ applied sequentially.
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -482,12 +739,29 @@ applied sequentially.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 1 parent
+ 0..1
+
+
+
-
-
+
+
@@ -498,29 +772,29 @@ applied sequentially.
- 1 volume
-
-
-
+ 1 src
-
-
+
+
-
+
- 0..1 src
+ * children
+
+
+
-
-
+
+
@@ -530,22 +804,27 @@ applied sequentially.
-
-
+
+ 1 root
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
@@ -555,47 +834,45 @@ applied sequentially.
-
-
-
-
-
+
+
-
-
-
-
-
+
+
-
- {create}
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
- *
+ 1 parent
-
-
-
-
-
-
-
+
+
diff --git a/doc/devel/UML/iso_tree.violet.png b/doc/devel/UML/iso_tree.violet.png
index 1cbe053..225c94f 100644
Binary files a/doc/devel/UML/iso_tree.violet.png and b/doc/devel/UML/iso_tree.violet.png differ