mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-01-22 05:08:58 +02:00
731b862e6f
This is consistent with the way BackRest and BackRest test were renamed way back in 18fd2523. More modules will be moving to pgBackRestDoc soon so renaming now reduces churn later.
115 lines
4.1 KiB
Perl
115 lines
4.1 KiB
Perl
####################################################################################################################################
|
|
# Base IO Module
|
|
####################################################################################################################################
|
|
package pgBackRestTest::Common::Io::Base;
|
|
|
|
use strict;
|
|
use warnings FATAL => qw(all);
|
|
use Carp qw(confess);
|
|
use English '-no_match_vars';
|
|
|
|
use Exporter qw(import);
|
|
our @EXPORT = qw();
|
|
use Scalar::Util qw(blessed);
|
|
|
|
use pgBackRestDoc::Common::Log;
|
|
|
|
####################################################################################################################################
|
|
# Package name constant
|
|
####################################################################################################################################
|
|
use constant COMMON_IO_BASE => __PACKAGE__;
|
|
push @EXPORT, qw(COMMON_IO_BASE);
|
|
|
|
####################################################################################################################################
|
|
# Default buffer max
|
|
####################################################################################################################################
|
|
use constant COMMON_IO_BUFFER_MAX => 4194304;
|
|
push @EXPORT, qw(COMMON_IO_BUFFER_MAX);
|
|
|
|
####################################################################################################################################
|
|
# new
|
|
####################################################################################################################################
|
|
sub new
|
|
{
|
|
my $class = shift;
|
|
|
|
# Create the class hash
|
|
my $self = {};
|
|
bless $self, $class;
|
|
|
|
# Assign function parameters, defaults, and log debug info
|
|
(
|
|
my $strOperation,
|
|
$self->{strId},
|
|
) =
|
|
logDebugParam
|
|
(
|
|
__PACKAGE__ . '->new', \@_,
|
|
{name => 'strId', trace => true},
|
|
);
|
|
|
|
# Return from function and log return values if any
|
|
return logDebugReturn
|
|
(
|
|
$strOperation,
|
|
{name => 'self', value => $self}
|
|
);
|
|
}
|
|
|
|
####################################################################################################################################
|
|
# error - throw errors
|
|
####################################################################################################################################
|
|
sub error
|
|
{
|
|
my $self = shift;
|
|
my $iCode = shift;
|
|
my $strMessage = shift;
|
|
my $strDetail = shift;
|
|
|
|
logErrorResult($iCode, $strMessage, $strDetail);
|
|
}
|
|
|
|
####################################################################################################################################
|
|
# result - retrieve a result from io or a filter
|
|
####################################################################################################################################
|
|
sub result
|
|
{
|
|
my $self = shift;
|
|
my $strModule = shift;
|
|
|
|
if (!defined($strModule))
|
|
{
|
|
return $self->{rhResult};
|
|
}
|
|
|
|
return $self->{rhResult}{$strModule};
|
|
}
|
|
|
|
####################################################################################################################################
|
|
# resultAll - get all results
|
|
####################################################################################################################################
|
|
sub resultAll
|
|
{
|
|
shift->{rhResult};
|
|
}
|
|
|
|
####################################################################################################################################
|
|
# resultSet - set a result from io or a filter
|
|
####################################################################################################################################
|
|
sub resultSet
|
|
{
|
|
my $self = shift;
|
|
my $strModule = shift;
|
|
my $xResult = shift;
|
|
|
|
$self->{rhResult}{$strModule} = $xResult;
|
|
}
|
|
|
|
####################################################################################################################################
|
|
# Getters
|
|
####################################################################################################################################
|
|
sub className {blessed(shift)}
|
|
sub id {shift->{strId}}
|
|
|
|
1;
|