The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DOCSIS::ConfigFile - Decodes and encodes DOCSIS config-files

VERSION

0.5901

SYNOPSIS

    use DOCSIS::ConfigFile;
    use YAML;

    my $obj     = DOCSIS::ConfigFile->new(
                      shared_secret   => '', # default
                      advanced_output => 0,  # default
                  );

                  $obj->shared_secret("foobar");
    my $encoded = $obj->encode([ {...}, {...}, ... ]);
    my $decoded = $obj->decode($filename);
                  $obj->advanced_output(1);
    my $dec_adv = $obj->decode(\$encoded);

    print YAML::Dump($decoded); # see simple config in YAML format
    print YAML::Dump($dec_adv); # see advanced config in YAML format

METHODS

new(%args)

Object constructor.

Arguments can be:

 shared_secret   => Shared secret in encoded cm config file
 advanced_output => Advanced decoded config format
 mibs            => will set $ENV{MIBS} to load custom mibs
 log             => Custom logger

decode

Decodes a binary config-file. Needs only one of these arguments: Filehandle, path to file or reference to a binary string.

Returns an array-ref of hashes, containing the config as a perl data structure.

encode

Encodes an array of hashes, containing the DOCSIS config-file settings. Takes only on argument: An array-ref of hashes.

Returns a binary string.

shared_secret

Sets or gets the shared secret.

advanced_output

Sets weither advanced output should be enabled. Takes 0 or 1 as argument. Advanced output is off (0) by default.

errors

Retrieves the errors if encode() or decode() fails.

logger

CONSTANTS

Decode

Returns DOCSIS::ConfigFile::Decode.

Encode

Returns DOCSIS::ConfigFile::Encode.

Syminfo

Returns DOCSIS::ConfigFile::Syminfo.

AUTHOR

Jan Henning Thorsen, <pm at flodhest.net>

BUGS

Please report any bugs or feature requests to bug-docsis-perl at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DOCSIS-ConfigFile. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc DOCSIS::ConfigFile

You can also look for information at http://search.cpan.org/dist/DOCSIS-ConfigFile

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Copyright (c) 2007 Jan Henning Thorsen

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; either version 2 of the License, or (at your option) any later version.

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., 675 Mass Ave, Cambridge, MA 02139, USA.

DOCSIS is a registered trademark of Cablelabs, http://www.cablelabs.com

This module got its inspiration from the program docsis, http://docsis.sf.net.