.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Config::Model::FuseUI 3pm" .TH Config::Model::FuseUI 3pm "2014-09-24" "perl v5.20.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Config::Model::FuseUI \- Fuse virtual file interface for Config::Model .SH "VERSION" .IX Header "VERSION" version 2.061 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 5 \& # 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 .Ve .SH "DESCRIPTION" .IX Header "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. .SH "Example" .IX Header "Example" .Vb 10 \& $ perl \-Ilib config\-edit \-ui fuse \-fuse_dir fused \-appli popcon \& Mounting config on fused in background. \& Use command \*(Aqfusermount \-u fused\*(Aq 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 .Ve .SH "BUGS" .IX Header "BUGS" For some configuration, mapping each parameter to a file may lead to a high number of files. .SH "constructor" .IX Header "constructor" .SH "new (...)" .IX Header "new (...)" parameters are: .IP "model" 4 .IX Item "model" Config::Model object .IP "root" 4 .IX Item "root" Root of the configuration tree (\f(CW\*(C`Config::Model::Node\*(C'\fR object ) .IP "mountpoint" 4 .IX Item "mountpoint" .SH "Methods" .IX Header "Methods" .SS "run_loop( fork_in_loop => 1|0, debug => 1|0)" .IX Subsection "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. .SS "fuse_mount" .IX Subsection "fuse_mount" Mount the fuse file system. This method will block until the file system is unmounted (with \f(CW\*(C`fusermount \-u mount_point\*(C'\fR command) .SH "SEE ALSO" .IX Header "SEE ALSO" Fuse, Config::Model .SH "AUTHOR" .IX Header "AUTHOR" Dominique Dumont .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is Copyright (c) 2014 by Dominique Dumont. .PP This is free software, licensed under: .PP .Vb 1 \& The GNU Lesser General Public License, Version 2.1, February 1999 .Ve