
Config::Model::FuseUI - Fuse virtual file interface for Config::Model

version 2.035

# command line mkdir fuse_dir config-edit -application popcon -ui fuse -fuse_dir fusedir ll fuse_dir fusermount -u fuse_dir # programmatic use Config::Model ; use Config::Model::FuseUI ; use Log::Log4perl qw(:easy) ; Log::Log4perl->easy_init($WARN); my $model = Config::Model -> new; my $root = $model -> instance (root_class_name => "PopCon") -> config_root ; my $ui = Config::Model::FuseUI->new( root => $root, mountpoint => "fuse_dir" ); $ui -> run_loop ; # blocking call # explore fuse_dir in another terminal then umount fuse_dir directory

This module provides a virtual file system interface for you configuration data. Each possible parameter of your configuration file is mapped to a file.

$ perl -Ilib config-edit -ui fuse -fuse_dir fused -appli popcon Mounting config on fused in background. Use command 'fusermount -u fused' to unmount $ ll fused total 4 -rw-r--r-- 1 domi domi 1 Dec 8 19:27 DAY -rw-r--r-- 1 domi domi 0 Dec 8 19:27 HTTP_PROXY -rw-r--r-- 1 domi domi 0 Dec 8 19:27 MAILFROM -rw-r--r-- 1 domi domi 0 Dec 8 19:27 MAILTO -rw-r--r-- 1 domi domi 32 Dec 8 19:27 MY_HOSTID -rw-r--r-- 1 domi domi 3 Dec 8 19:27 PARTICIPATE -rw-r--r-- 1 domi domi 0 Dec 8 19:27 SUBMITURLS -rw-r--r-- 1 domi domi 3 Dec 8 19:27 USEHTTP $ fusermount -u fuse_dir

For some configuration, mapping each parameter to a file may lead to a high number of files.


parameters are:
Config::Model object
Root of the configuration tree (Config::Model::Node object )

Mount the file system either in the current process or fork a new process before mounting the file system. In the former case, the call is blocking. In the latter, the call will return after forking a process that will perform the mount. Debug parameter is passed to Fuse system to get Fuse traces.
Mount the fuse file system. This method will block until the file system is unmounted (with fusermount -u mount_point command)
