Server IP : 80.241.246.6 / Your IP : 216.73.216.188 Web Server : Apache/2.4.25 (Debian) System : Linux kharagauli 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 User : www-data ( 33) PHP Version : 7.0.33-0+deb9u12 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/kharagauli1/cgi-bin/lib/Collectd/Graph/ |
Upload File : |
package Collectd::Graph::Config; =head1 NAME Collectd::Graph::Config - Parse the collection3 config file. =cut # Copyright (C) 2008,2009 Florian octo Forster <octo at verplant.org> # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; only version 2 of the License is applicable. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. use strict; use warnings; use Carp (qw(cluck confess)); use Exporter (); use Config::General ('ParseConfig'); @Collectd::Graph::Config::ISA = ('Exporter'); @Collectd::Graph::Config::EXPORT_OK = (qw(gc_read_config gc_get_config gc_get_scalar)); our $Configuration = undef; return (1); =head1 EXPORTED FUNCTIONS =over 4 =item B<gc_read_config> (I<$file>) Reads the configuration from the file located at I<$file>. Returns B<true> when successfull and B<false> otherwise. =cut sub gc_read_config { my $file = shift; my %conf; if ($Configuration) { return (1); } $file ||= "etc/collection.conf"; %conf = ParseConfig (-ConfigFile => $file, -LowerCaseNames => 1, -UseApacheInclude => 1, -IncludeDirectories => 1, ($Config::General::VERSION >= 2.38) ? (-IncludeAgain => 0) : (), -MergeDuplicateBlocks => 1, -CComments => 0); if (!%conf) { return; } $Configuration = \%conf; return (1); } # gc_read_config =item B<gc_get_config> () Returns the hash as provided by L<Config::General>. The hash is returned as a hash reference. Don't change it! =cut sub gc_get_config { return ($Configuration); } # gc_get_config =item B<gc_get_config> (I<$key>, [I<$default>]) Returns the scalar value I<$key> from the config file. If the key does not exist, I<$default> will be returned. If no default is given, B<undef> will be used in this case. =cut sub gc_get_scalar { my $key = shift; my $default = (@_ != 0) ? shift : undef; my $value; if (!$Configuration) { return ($default); } $value = $Configuration->{lc ($key)}; if (!defined ($value)) { return ($default); } if (ref ($value) ne '') { cluck ("Value for `$key' should be scalar, but actually is " . ref ($value)); return ($default); } return ($value); } # gc_get_config =back =head1 DEPENDS ON L<Config::General> =head1 SEE ALSO L<Collectd::Graph::Type> =head1 AUTHOR AND LICENSE Copyright (c) 2008 by Florian Forster E<lt>octoE<nbsp>atE<nbsp>verplant.orgE<gt>. Licensed under the terms of the GNU General Public License, VersionE<nbsp>2 (GPLv2). =cut # vim: set shiftwidth=2 softtabstop=2 tabstop=8 et fdm=marker :