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 )