Config::Model::FuseUI - Fuse virtual file interface for Config::Model
version 2.152
# command line
mkdir mydir
cme fusefs popcon -fuse-dir mydir
ll mydir
fusermount -u mydir
# programmatic
use Config::Model ;
use Config::Model::FuseUI ;
my $model = Config::Model -> new;
my $root = $model -> instance (root_class_name => "PopCon") -> config_root ;
my $ui = Config::Model::FuseUI->new( root => $root, mountpoint => "mydir" );
$ui -> run_loop ; # blocking call
# explore mydir in another terminal then umount mydir 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.
$ cme fusefs popcon -fuse-dir fused
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.
- •
- The content of a file is when writing a wrong value. I.e.
the files is empty and the old value is lost.
parameters are:
- model
- Config::Model object
- root
- Root of the configuration tree
("Config::Model::Node" object )
- mountpoint
Parameters: "( fork_in_loop => 1|0, debug => 1|0 )"
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 case, the call returns after forking a process that performs the mount.
Debug parameter is passed to Fuse system to get traces from Fuse.
Mount the fuse file system. This method blocks until the file system is
unmounted (with "fusermount -u mount_point" command)
Fuse, Config::Model, cme
Dominique Dumont
This software is Copyright (c) 2005-2022 by Dominique Dumont.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999