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* - 830.9681801982362 - 182.66718770734806 + 1160.4799402311673 + 240.649943764645 @@ -43,8 +43,8 @@ biblio_file_id : char* - 342.4798473529561 - 272.1215741615781 + 687.5479565719912 + 269.2931470368318 @@ -65,8 +65,8 @@ hidden : enum - 451.0201548579207 - 110.85108878154536 + 706.83671056434 + 108.4726745515399 @@ -87,8 +87,8 @@ children() - 643.4798473529561 - 270.1215741615781 + 986.1687535943008 + 267.29314703683184 @@ -107,48 +107,92 @@ children() - 142.01551207221596 - 273.3107812765808 + 571.9364350336367 + 273.31078127658077 + + + Special + + + + + + 813.0651280884073 + 272.20749521231266 + + + + + - block : uint32_t + name : char* + + + + + <<static>>new(id) +<<static>>read(src, opts) +create() +grow() - PrevImgFile + Image - 397.8382435490256 - 378.6685142175496 + 1149.1980515339465 + 455.5218613006981 - - + + - path : char * + 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 - + + + + 322.02220861890066 + 362.2044136147912 + + + + + + - LocalFile + 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 + - 270.48382688356025 - 384.9929640225687 + 1234.6589462905451 + 680.2741699796954 @@ -156,14 +200,14 @@ children() - Special + Ecma119Source - 463.75437818225294 - 273.6217087746859 + 1423.5617211564486 + 483.61244144432396 @@ -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