From b9e1e7e6c3a5ee8def2c98a8799f7bc7d5baa16c Mon Sep 17 00:00:00 2001 From: Vreixo Formoso Date: Fri, 12 Oct 2007 18:58:31 +0200 Subject: [PATCH] Added diagram with initial draft of Builder and Filesystem concepts. --- doc/devel/UML/builder.violet | 530 +++++++++++++++++++++++++++++++ doc/devel/UML/builder.violet.png | Bin 0 -> 13683 bytes 2 files changed, 530 insertions(+) create mode 100644 doc/devel/UML/builder.violet create mode 100644 doc/devel/UML/builder.violet.png diff --git a/doc/devel/UML/builder.violet b/doc/devel/UML/builder.violet new file mode 100644 index 0000000..7144907 --- /dev/null +++ b/doc/devel/UML/builder.violet @@ -0,0 +1,530 @@ + + + + + + + + get_root() +get_from_path(char *) + + + + + «interface» +Filesystem + + + + + + 239.65022612023944 + 428.68019298068566 + + + + + + + + MountedFilesytem + + + + + + 115.78546881025578 + 581.4909858656838 + + + + + + + + IsoImage + + + + + + 377.65022612023944 + 579.6801929806866 + + + + + + + + lstat() +read() +close() +open() + + + + + «interface» +SourceFile + + + + + + 482.9740126701578 + 408.11257163567745 + + + + + + + + TarFile + + + + + + 269.92071150027203 + 579.4370214406978 + + + + + + + + read() +size() +open() +close() + + + + + «interface» +Stream + + + + + + 781.3090745567881 + 275.3064215363851 + + + + + + + + FdStream + + + + + + 919.2570998971042 + 440.60621052176435 + + + + + + + + FileStream + + + + + + 650.496291906489 + 438.22779629175875 + + + + + + + + TransformStream + + + + + + 771.7954176367664 + 441.79541763676707 + + + + + + + + create_file() +create_symlink() +create_dir() + + + + + «interface» +TreeNodeBuilder + + + + + + 470.92601754107767 + 54.86674707528562 + + + + + + + + TreeNode + + + + + + 778.9306603267822 + 72.70485380032646 + + + + + + + + File + + + + + + 777.7414532117795 + 170.0566174453891 + + + + + + + + Dir + + + + + + 902.6082002870654 + 168.86741033038638 + + + + + + + + Symlink + + + + + + 660.0099488265103 + 172.43503167539455 + + + + + + + + «interface» +FileBuilder + + + + + + 70.16321978516044 + 171.2458245603918 + + + + + + + + «interface» +DirBuilder + + + + + + 191.46234551543796 + 171.24582456039184 + + + + + + + + «interface» +SymlinkBuilder + + + + + + 305.62622855569924 + 171.2458245603918 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{create}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/devel/UML/builder.violet.png b/doc/devel/UML/builder.violet.png new file mode 100644 index 0000000000000000000000000000000000000000..6a6c7a6523ec18f13a603c038afbe220978fe8ac GIT binary patch literal 13683 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 M3)<(i&sp66f5MqTe*gdg literal 0 HcmV?d00001