diff --git a/doc/devel/UML/BuilderSec.png b/doc/devel/UML/BuilderSec.png new file mode 100644 index 0000000..66065ae Binary files /dev/null and b/doc/devel/UML/BuilderSec.png differ diff --git a/doc/devel/UML/BuilderSec.violet b/doc/devel/UML/BuilderSec.violet new file mode 100644 index 0000000..d37755c --- /dev/null +++ b/doc/devel/UML/BuilderSec.violet @@ -0,0 +1,817 @@ + + + + + + + + fs:Filesystem + + + + + + 160.0 + 73.0 + + + + + + + + + + file:FileSource + + + + + + + + + + + 192.0 + 196.0 + + + + + + + + 274.0 + 189.0 + + + + + + + + User + + + + + + 34.86475730998367 + 0.0 + + + + + + + + + + + + + b:TNBuilder + + + + + + + + + + + + + + + + + + + + + + + ftn:FileTN + + + + + + + + + + + + + + + + fs:FileStream + + + + + + + + + + + + + + + + + + + + + d:DirTreeNode + + + + + + + + + + + + + + + + + + + + 66.86475730998367 + 80.0 + + + + + + + + 539.756828460011 + 126.0 + + + + + + + + 651.0 + 0.0 + + + + + + + + 683.0 + 292.0 + + + + + + + + 571.756828460011 + 315.0 + + + + + + + + 306.0 + 338.0 + + + + + + + + 331.97135964975513 + 361.0 + + + + + + + + 363.97135964975513 + 444.0 + + + + + + + + 417.41169736595504 + 467.0 + + + + + + + + 363.97135964975513 + 550.0 + + + + + + + + 1. User wants to add a file to a dir in the iso node + + + + + + 143.89406091532933 + 16.868736840587744 + + + + + + + + 2. It creates the source filesystem and the + custom builder + + + + + + 317.51829970572646 + 74.92004824517142 + + + + + + + + 570.819415201306 + 142.7048538003265 + 0.0 + 0.0 + + + + + + + + + 570.819415201306 + 142.7048538003265 + + + + + + + + 218.81410916050066 + 114.16388304026121 + 0.0 + 0.0 + + + + + + + + + 218.81410916050066 + 114.16388304026121 + + + + + + + + 3. It gets the file from the filesystem +and add it to parent dir + + + + + + 380.5462768008707 + 196.21917397544897 + + + + + + + + 327.03195662574825 + 205.73283089547073 + 0.0 + 0.0 + + + + + + + + + 327.03195662574825 + 205.73283089547073 + + + + + + + + 4. The dir delegates in the builder. +5. The builder stat's the source file. In + this example it's a reg. file + + + + + + 767.038589176755 + 206.92203801047344 + + + + + + + + 694.4969551615891 + 312.7614712457156 + 0.0 + 0.0 + + + + + + + + + 694.4969551615891 + 312.7614712457156 + + + + + + + + 316.3290925907238 + 343.68085623578634 + 0.0 + 0.0 + + + + + + + + + 316.3290925907238 + 343.68085623578634 + + + + + + + + 6. The conversion is not needed, si +the builder just creates a FileTreeNode + + + + + + 762.2817607167442 + 335.3564064307673 + + + + + + + + 520.8727163711918 + 390.0599337208925 + 0.0 + 0.0 + + + + + + + + + 520.8727163711918 + 390.0599337208925 + + + + + + + + 7. Sets the attributes from source + + + + + + 774.1738318667714 + 413.8440760209469 + + + + + + + + 8 ...and a FileStream to read contents + from the FileSource + + + + + + 762.2817607167442 + 478.0612602310938 + + + + + + + + 536.3324088662272 + 437.6282183210013 + 0.0 + 0.0 + + + + + + + + + 536.3324088662272 + 437.6282183210013 + + + + + + + + 485.19650292111015 + 514.9266807961782 + 0.0 + 0.0 + + + + + + + + + 485.19650292111015 + 514.9266807961782 + + + + + + + + 9. Finally, the FileTreeNode is added to + the parent dir, and returned to the user + + + + + + 757.5249322567332 + 556.5489298212734 + + + + + + + + 689.7401267015781 + 614.8200784564067 + 0.0 + 0.0 + + + + + + + + + 689.7401267015781 + 614.8200784564067 + + + + + + + + 363.97135964975513 + 643.0 + + + + + + + + 10. The user can change any attribute + on the FileTreeNode + + + + + + 735.3910524340093 + 659.0235200658623 + + + + + + + + 371.938166904124 + 654.780879378743 + 0.0 + 0.0 + + + + + + + + + 371.938166904124 + 654.780879378743 + + + + + + + «create» + + + + + + + + + «create» + + + + + + + + + + + + file + + + + + + + + + add_file(file,b) + + + + + + + + + create_file(file) + + + + + + + + + lstat() + + + + + + + + + S_IFREG + + + + + + + + + «create» + + + + + + + + + set attributes + + + + + + + + + + + + + + + + + ftn + + + + + + + + + «create» + + + + + + + + + set stream (fs) + + + + + + + + + + + + + + + + + ftn + + + + + + + + + «create» + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + set_permission() + + + + + + + + + + + + + + + + +