Config-Model
view release on metacpan or search on metacpan
lib/Config/Model/FuseUI.pm view on Meta::CPAN
Filesys::Fuse3::main(
mountpoint => $self->mountpoint,
@methods,
debug => $debug || 0,
threaded => 0,
);
return;
}
1;
# ABSTRACT: Fuse virtual file interface for Config::Model
__END__
=pod
=encoding UTF-8
=head1 NAME
Config::Model::FuseUI - Fuse virtual file interface for Config::Model
=head1 VERSION
version 2.163
=head1 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
=head1 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.
=head1 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
=head1 BUGS
=over
=item *
For some configuration, mapping each parameter to a file may lead to a high number of files.
=item *
The content of a file is trashed when writing a wrong value. I.e. the files is
empty and the old value is lost.
=back
=head1 constructor
=head1 new
parameters are:
=over
=item model
Config::Model object
=item root
Root of the configuration tree (C<Config::Model::Node> object )
=item mountpoint
=back
=head1 Methods
=head2 run_loop
Parameters: C<< ( 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.
=head2 fuse_mount
Mount the fuse file system. This method blocks until the file system is
unmounted (with C<fusermount -u mount_point> command)
=head1 SEE ALSO
( run in 0.720 second using v1.01-cache-2.11-cpan-71847e10f99 )