VERSION
version 2.087SYNOPSIS
# 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( 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)AUTHOR
Dominique DumontCOPYRIGHT AND LICENSE
This software is Copyright (c) 2005-2016 by Dominique Dumont.This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999