get_root() get_from_path(char *) «interface» Filesystem 159.04005306497305 489.4913761627291 MountedFilesytem 56.38849919058573 630.9884605487425 IsoImage 258.8562868808994 766.3563832139356 lstat() read() close() open() readdir() «interface» SourceFile 481.55979910778467 464.84194569982117 TarFile 176.58261638364775 701.0593878047844 read() size() open() close() «interface» Stream 779.894860994415 340.36024540554786 FdStream 907.9433913981195 505.6600343909271 FileStream 646.2536512193697 514.5953286599063 TransformStream 774.6238447615127 513.9203093177954 create_file() create_symlink() create_dir() «interface» TreeNodeBuilder 469.51180397870456 119.92057094444797 TreeNode 777.5164467644091 137.7586776694888 File 776.3272396494064 235.11044131455145 Dir 899.7797731623193 242.40651557378732 Symlink 658.5957352641371 237.4888555445569 «interface» FileBuilder 68.74900622278733 236.29964842955417 «interface» DirBuilder 190.04813195306485 236.2996484295542 «interface» SymlinkBuilder 304.21201499332614 236.29964842955417 POSIX inspired interface to files on different filesystems. open/close act as a opendir/closedir if the file is a dir, I think we don't need different function to open a dir. 154.8805850420814 333.9382491299707 "Sources" for file contents 587.0127806828101 358.755499461917 CutOutStream 845.6997102991108 605.2834046956852 FilterStream 721.2489168102784 605.2834046956852 «interface» Filter 715.5920625607861 705.6925676241749 Used for arbitray streams, not related to filesystem high-level idea. Also used for files like fifos, that can't be added directly as regulat files via de Builder, because its size is unknown. The need to be added as new_files on image 906.5108934811542 328.0975464705584 Create the user-specified TreeNode from the user-specified source. If the source type differs the TreeNode type the use wants to create, it makes the needed conversion, if possible. Each builder implementation can do different conversions. 654.7808793787427 20.610173055266337 Together with the SourceFile encapsulates the access to a given filesystem and abstracts it to a POSIX interface. 20.610173055266422 403.050865276332 The TreeNodeBuilder can be created with the combination of different interfaces for each factory method 149.90663761154804 57.982756057296896 MountedSrc 373.3523804664971 634.9818895055197 TarSrc 479.4183976444791 695.7930726875627 IsoSrc 578.4133470105959 773.574818618083 {{create}}