Commits

Palmer, 2E0EOL committed f17fa18 Merge

Freshen experimental branch from 'develop'

Comments (0)

Files changed (6)

+f10ea79ad915332859590bd9c1f9cd0590e7b4ff libdaybo-checksum-perl-0.1.0
 #!/usr/bin/perl -w
+# Daybo Logic Checksum Reader Library for Perl
+# Copyright (c) 2012, David Duncan Ross Palmer, Daybo Logic
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#     * Redistributions of source code must retain the above copyright notice,
+#       this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in the
+#       documentation and/or other materials provided with the distribution.
+#
+#     * Neither the name of the Daybo Logic nor the names of its contributors
+#       may be used to endorse or promote products derived from this software
+#       without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
 
 use ExtUtils::MakeMaker;
 use strict;
 #!/usr/bin/make -f
+# Daybo Logic Checksum Reader Library for Perl
+# Copyright (c) 2012, David Duncan Ross Palmer, Daybo Logic
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#     * Redistributions of source code must retain the above copyright notice,
+#       this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in the
+#       documentation and/or other materials provided with the distribution.
+#
+#     * Neither the name of the Daybo Logic nor the names of its contributors
+#       may be used to endorse or promote products derived from this software
+#       without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
 
 %:
 	dh $@

lib/Daybo/Checksum/Base.pm

+#!/usr/bin/perl -w
+# Daybo Logic Checksum Reader Library for Perl
+# Copyright (c) 2012, David Duncan Ross Palmer, Daybo Logic
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#     * Redistributions of source code must retain the above copyright notice,
+#       this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in the
+#       documentation and/or other materials provided with the distribution.
+#
+#     * Neither the name of the Daybo Logic nor the names of its contributors
+#       may be used to endorse or promote products derived from this software
+#       without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# This base class is shared by all internal objects.
+# It contains basics including the version of the library,
+# and shared mnemonics.
+#
+#----------------------------------------------------------------------------
+package Daybo::Checksum::Base;
+use Data::Dumper;
+
+use strict;
+use warnings;
+use diagnostics;
+
+our $VERSION = '0.1.0';
+#----------------------------------------------------------------------------
+sub new
+{
+	my $proto = shift;
+	my $class = ref($proto) || $proto;
+	my $self = { };
+	bless($self, $class);
+	return $self;
+}
+#----------------------------------------------------------------------------
+sub Version
+{
+	return $VERSION;
+}
+#----------------------------------------------------------------------------
+1;
+#----------------------------------------------------------------------------

lib/Daybo/Checksum/Reader.pm

 #!/usr/bin/perl -w
+# Daybo Logic Checksum Reader Library for Perl
+# Copyright (c) 2012, David Duncan Ross Palmer, Daybo Logic
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#     * Redistributions of source code must retain the above copyright notice,
+#       this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in the
+#       documentation and/or other materials provided with the distribution.
+#
+#     * Neither the name of the Daybo Logic nor the names of its contributors
+#       may be used to endorse or promote products derived from this software
+#       without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
 #
 # This module is intended to allow easy reading of CHECKSUM files.
 #
 #----------------------------------------------------------------------------
-package Daybo::Checksum::Reader;
+use Daybo::Checksum::Base;
+package Daybo::Checksum::Reader; our @ISA = 'Daybo::Checksum::Base';
 use Data::Dumper;
 
 use strict;
 use constant ALG_SHA512  => (4);
 use constant _ALG_LAST   => (ALG_SHA512()); # Ensure this is updated
 
+our $VERSION = $Daybo::Checksum::Base::VERSION;
 my $LineRegex = qr/^([0-9a-f]+)\s\*?(.*)$/;
 #----------------------------------------------------------------------------
 sub new
 #!/usr/bin/perl -w
+# Daybo Logic Checksum Reader Library for Perl
+# Copyright (c) 2012, David Duncan Ross Palmer, Daybo Logic
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#     * Redistributions of source code must retain the above copyright notice,
+#       this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in the
+#       documentation and/or other materials provided with the distribution.
+#
+#     * Neither the name of the Daybo Logic nor the names of its contributors
+#       may be used to endorse or promote products derived from this software
+#       without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
 #
 # This is a testbed for the Daybo::Checksum::Reader module.
 #
 use warnings;
 use diagnostics;
 
-use Test::More tests => (15);
+use Test::More tests => (18);
 use Daybo::Checksum::Reader;
 
 use constant TESTDATA_DIR   => 'testdata';
 #----------------------------------------------------------------------------
 sub test_Reader($)
 {
-	my @methods = ( 'FileName', 'Read', 'Sum' );
+	my @methods = ( 'FileName', 'Read', 'Sum', 'Version' );
 	my $o = Daybo::Checksum::Reader->new();
 	isa_ok($o, 'Daybo::Checksum::Reader');
 	foreach my $m ( @methods ) {
 	); # We should get the latest checksum in the file, regardless of algorithm
 }
 #----------------------------------------------------------------------------
+sub test_Version($)
+{
+	my $TestName = shift;
+	my $o = Daybo::Checksum::Reader->new();
+
+	is($Daybo::Checksum::Reader::VERSION, $Daybo::Checksum::Base::VERSION, $TestName);
+	is($o->Version(), $Daybo::Checksum::Base::VERSION, $TestName);
+}
+#----------------------------------------------------------------------------
 sub Main()
 {
 	my %tests = (
 		'Reader' => \&test_Reader,
 		'FileName' => \&test_FileName,
 		'Read' => \&test_Read,
-		'Sum' => \&test_Sum
+		'Sum' => \&test_Sum,
+		'Version' => \&test_Version
 	);
 	while ( my ( $name, $func ) = each(%tests) ) {
 		$func->($name);