NAME
Config::Model::FuseUI - Fuse virtual file interface for Config::Model
VERSION
version 2.155
SYNOPSIS
# 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
DESCRIPTION
This module provides a virtual file system interface for you configuration data. Each possible parameter of your configuration file is mapped to a file.
Example
$ 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
BUGS
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.
constructor
new
parameters are:
- model
-
Config::Model object
- root
-
Root of the configuration tree (
Config::Model::Node
object ) - mountpoint
Methods
run_loop
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.
fuse_mount
Mount the fuse file system. This method blocks until the file system is unmounted (with fusermount -u mount_point
command)
SEE ALSO
AUTHOR
Dominique Dumont
COPYRIGHT AND LICENSE
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