NAME

Config::Model::FuseUI - Fuse virtual file interface for Config::Model

VERSION

version 2.144

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

Fuse, Config::Model, cme

AUTHOR

Dominique Dumont

COPYRIGHT AND LICENSE

This software is Copyright (c) 2005-2021 by Dominique Dumont.

This is free software, licensed under:

The GNU Lesser General Public License, Version 2.1, February 1999