1
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-05-07 22:29:19 +00:00
fhem-mirror/fhem/FHEM/98_configDBwrap.pm
betateilchen aae0f2e90a renamed 98_configDB to 98_configDBwrap
git-svn-id: https://svn.fhem.de/fhem/trunk@5164 2b470e98-0d58-463d-a4d8-8e2adae1ed80
2014-03-08 14:33:08 +00:00

86 lines
1.6 KiB
Perl

# $Id$
# Wrapper module for configDB
package main;
use strict;
use warnings;
use feature qw/say switch/;
sub configDBwrap_Initialize($) {
my ($hash) = @_;
$hash->{DefFn} = "configDBwrap_Define";
$hash->{SetFn} = "configDBwrap_Set";
$hash->{GetFn} = "configDBwrap_Get";
$hash->{AttrList} = "private:1,0 ";
}
sub configDBwrap_Define($$) {
return "configDB not enabled!" unless $attr{global}{configfile} eq 'configDB';
my ($hash, $def) = @_;
my @a = split("[ \t][ \t]*", $def);
return "Wrong syntax: use define <name> configDB" if(int(@a) != 2);
readingsSingleUpdate($hash, 'state', 'active', 0);
readingsSingleUpdate($hash, 'version', cfgDB_svnId, 0);
return undef;
}
sub configDBwrap_Set($@) {
my ($hash, @a) = @_;
my $name = $hash->{NAME};
my $usage = "Unknown argument, choose one of reorg recover";
return $usage if(int(@a) < 2);
my $ret;
given ($a[1]) {
when ('reorg') {
$a[2] = $a[2] ? $a[2] : 3;
$ret = cfgDB_Reorg($a[2]);
}
when ('recover') {
$a[2] = $a[2] ? $a[2] : 3;
$ret = cfgDB_Recover($a[2]);
}
default { $ret = $usage; }
}
return $ret;
}
sub configDBwrap_Get($@) {
my ($hash, @a) = @_;
my $name = $hash->{NAME};
my $usage = "Unknown argument, choose one of diff info:noArg list";
return $usage if(int(@a) < 2);
my $ret;
given ($a[1]) {
when ('info') {
$ret = cfgDB_Info;
}
when ('list') {
$a[2] = $a[2] ? $a[2] : '%';
$a[3] = $a[3] ? $a[3] : 0;
$ret = cfgDB_List($a[2],$a[3]);
}
when ('diff') {
$ret = cfgDB_Diff($a[2],$a[3]);
}
default { $ret = $usage; }
}
return $ret;
}
1;