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

VERSION
    Version 0.52

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
    Object constructor.

  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.

  log
    Returns a log-handler.

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.

