Config::Model::FuseUI(3pm) User Contributed Perl Documentation Config::Model::FuseUI(3pm)NAME
Config::Model::FuseUI - Fuse virtual file interface for Config::Model
VERSION
version 2.021
SYNOPSIS
# 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
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
$ 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
BUGS
For some configuration, mapping each parameter to a file may lead to a high number of files.
constructornew (...)
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, the call will return after forking a process that will perform the mount. Debug parameter is passed to Fuse system
to get Fuse traces.
fuse_mount
Mount the fuse file system. This method will block until the file system is unmounted (with "fusermount -u mount_point" command)
SEE ALSO
Fuse, Config::Model
perl v5.14.2 2012-11-09 Config::Model::FuseUI(3pm)
Check Out this Related Man Page
Config::Model::Backend::ShellVar(3pm) User Contributed Perl Documentation Config::Model::Backend::ShellVar(3pm)NAME
Config::Model::Backend::ShellVar - Read and write config as a "SHELLVAR" data structure
VERSION
version 2.021
SYNOPSIS
use Config::Model;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($WARN);
my $model = Config::Model->new;
$model->create_config_class (
name => "MyClass",
element => [
[qw/foo bar/] => {qw/type leaf value_type string/}
],
read_config => [
{
backend => 'ShellVar',
config_dir => '/tmp',
file => 'foo.conf',
auto_create => 1,
}
],
);
my $inst = $model->instance(root_class_name => 'MyClass' );
my $root = $inst->config_root ;
$root->load('foo=FOO1 bar=BAR1' );
$inst->write_back ;
File "foo.conf" now contains:
## This file was written by Config::Model
## You may modify the content of this file. Configuration
## modifications will be preserved. Modifications in
## comments may be mangled.
##
foo="FOO1"
bar="BAR1"
DESCRIPTION
This module is used directly by Config::Model to read or write the content of a configuration tree written with "SHELLVAR" syntax in
"Config::Model" configuration tree.
Note that undefined values are skipped for list element. I.e. if a list element contains "('a',undef,'b')", the data structure will contain
'a','b'.
CONSTRUCTOR
new ( node => $node_obj, name => 'shellvar' ) ;
Inherited from Config::Model::Backend::Any. The constructor will be called by Config::Model::AutoRead.
read ( io_handle => ... )
Of all parameters passed to this read call-back, only "io_handle" is used. This parameter must be IO::File object already opened for read.
It can also be undef. In this case, "read()" will return 0.
When a file is read, "read()" will return 1.
write ( io_handle => ... )
Of all parameters passed to this write call-back, only "io_handle" is used. This parameter must be IO::File object already opened for
write.
"write()" will return 1.
AUTHOR
Dominique Dumont, (ddumont at cpan dot org)
SEE ALSO
Config::Model, Config::Model::AutoRead, Config::Model::Backend::Any,
perl v5.14.2 2012-11-09 Config::Model::Backend::ShellVar(3pm)