# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.5.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.

package libdnf5_cli::progressbar;
use base qw(DynaLoader);
package libdnf5_clic;
bootstrap libdnf5_cli::progressbar;
package libdnf5_cli::progressbar;

# ------- FUNCTION WRAPPERS --------

package libdnf5_cli;

*__lshift__ = *libdnf5_clic::__lshift__;

############# Class : libdnf5_cli::ProgressBar ##############

package libdnf5_cli::ProgressBar;
use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
@ISA = qw( libdnf5_cli );
%OWNER = ();
%ITERATORS = ();
sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        libdnf5_clic::delete_ProgressBar($self);
        delete $OWNER{$self};
    }
}

*reset = *libdnf5_clic::ProgressBar_reset;
*get_ticks = *libdnf5_clic::ProgressBar_get_ticks;
*set_ticks = *libdnf5_clic::ProgressBar_set_ticks;
*add_ticks = *libdnf5_clic::ProgressBar_add_ticks;
*get_total_ticks = *libdnf5_clic::ProgressBar_get_total_ticks;
*set_total_ticks = *libdnf5_clic::ProgressBar_set_total_ticks;
*get_number = *libdnf5_clic::ProgressBar_get_number;
*set_number = *libdnf5_clic::ProgressBar_set_number;
*get_total = *libdnf5_clic::ProgressBar_get_total;
*set_total = *libdnf5_clic::ProgressBar_set_total;
*start = *libdnf5_clic::ProgressBar_start;
*get_state = *libdnf5_clic::ProgressBar_get_state;
*set_state = *libdnf5_clic::ProgressBar_set_state;
*is_finished = *libdnf5_clic::ProgressBar_is_finished;
*is_failed = *libdnf5_clic::ProgressBar_is_failed;
*get_description = *libdnf5_clic::ProgressBar_get_description;
*set_description = *libdnf5_clic::ProgressBar_set_description;
*get_description_width = *libdnf5_clic::ProgressBar_get_description_width;
*add_message = *libdnf5_clic::ProgressBar_add_message;
*pop_message = *libdnf5_clic::ProgressBar_pop_message;
*get_messages = *libdnf5_clic::ProgressBar_get_messages;
*get_message_prefix = *libdnf5_clic::ProgressBar_get_message_prefix;
*calculate_messages_terminal_lines = *libdnf5_clic::ProgressBar_calculate_messages_terminal_lines;
*get_auto_finish = *libdnf5_clic::ProgressBar_get_auto_finish;
*set_auto_finish = *libdnf5_clic::ProgressBar_set_auto_finish;
*update = *libdnf5_clic::ProgressBar_update;
*get_percent_done = *libdnf5_clic::ProgressBar_get_percent_done;
*get_current_speed = *libdnf5_clic::ProgressBar_get_current_speed;
*get_average_speed = *libdnf5_clic::ProgressBar_get_average_speed;
*get_elapsed_seconds = *libdnf5_clic::ProgressBar_get_elapsed_seconds;
*get_remaining_seconds = *libdnf5_clic::ProgressBar_get_remaining_seconds;
*get_begin = *libdnf5_clic::ProgressBar_get_begin;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : libdnf5_cli::DownloadProgressBar ##############

package libdnf5_cli::DownloadProgressBar;
use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
@ISA = qw( libdnf5_cli::ProgressBar libdnf5_cli );
%OWNER = ();
%ITERATORS = ();
sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        libdnf5_clic::delete_DownloadProgressBar($self);
        delete $OWNER{$self};
    }
}

sub new {
    my $pkg = shift;
    my $self = libdnf5_clic::new_DownloadProgressBar(@_);
    bless $self, $pkg if defined($self);
}

*get_messages = *libdnf5_clic::DownloadProgressBar_get_messages;
*set_state = *libdnf5_clic::DownloadProgressBar_set_state;
*set_ticks = *libdnf5_clic::DownloadProgressBar_set_ticks;
*set_total_ticks = *libdnf5_clic::DownloadProgressBar_set_total_ticks;
*get_number_widget_visible = *libdnf5_clic::DownloadProgressBar_get_number_widget_visible;
*set_number_widget_visible = *libdnf5_clic::DownloadProgressBar_set_number_widget_visible;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : libdnf5_cli::MultiProgressBar ##############

package libdnf5_cli::MultiProgressBar;
use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
@ISA = qw( libdnf5_cli );
%OWNER = ();
%ITERATORS = ();
*NEVER_VISIBLE_LIMIT = *libdnf5_clic::MultiProgressBar_NEVER_VISIBLE_LIMIT;
*NEVER_VISIBLE_LIMIT = *libdnf5_clic::MultiProgressBar_NEVER_VISIBLE_LIMIT;
*TrackingMode_ON_RENDER = *libdnf5_clic::MultiProgressBar_TrackingMode_ON_RENDER;
*TrackingMode_ON_CHANGE = *libdnf5_clic::MultiProgressBar_TrackingMode_ON_CHANGE;
sub new {
    my $pkg = shift;
    my $self = libdnf5_clic::new_MultiProgressBar(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        libdnf5_clic::delete_MultiProgressBar($self);
        delete $OWNER{$self};
    }
}

*get_tracking_mode = *libdnf5_clic::MultiProgressBar_get_tracking_mode;
*add_bar = *libdnf5_clic::MultiProgressBar_add_bar;
*print = *libdnf5_clic::MultiProgressBar_print;
*get_total_bar = *libdnf5_clic::MultiProgressBar_get_total_bar;
*set_total_bar_visible_limit = *libdnf5_clic::MultiProgressBar_set_total_bar_visible_limit;
*set_total_bar_number_widget_visible = *libdnf5_clic::MultiProgressBar_set_total_bar_number_widget_visible;
*set_total_num_of_bars = *libdnf5_clic::MultiProgressBar_set_total_num_of_bars;
*get_total_num_of_bars = *libdnf5_clic::MultiProgressBar_get_total_num_of_bars;
*bar_get_ticks = *libdnf5_clic::MultiProgressBar_bar_get_ticks;
*bar_set_ticks = *libdnf5_clic::MultiProgressBar_bar_set_ticks;
*bar_add_ticks = *libdnf5_clic::MultiProgressBar_bar_add_ticks;
*bar_get_total_ticks = *libdnf5_clic::MultiProgressBar_bar_get_total_ticks;
*bar_set_total_ticks = *libdnf5_clic::MultiProgressBar_bar_set_total_ticks;
*bar_get_number = *libdnf5_clic::MultiProgressBar_bar_get_number;
*bar_start = *libdnf5_clic::MultiProgressBar_bar_start;
*bar_get_state = *libdnf5_clic::MultiProgressBar_bar_get_state;
*bar_set_state = *libdnf5_clic::MultiProgressBar_bar_set_state;
*bar_is_finished = *libdnf5_clic::MultiProgressBar_bar_is_finished;
*bar_is_failed = *libdnf5_clic::MultiProgressBar_bar_is_failed;
*bar_get_description = *libdnf5_clic::MultiProgressBar_bar_get_description;
*bar_set_description = *libdnf5_clic::MultiProgressBar_bar_set_description;
*bar_add_message = *libdnf5_clic::MultiProgressBar_bar_add_message;
*bar_pop_message = *libdnf5_clic::MultiProgressBar_bar_pop_message;
*bar_get_messages = *libdnf5_clic::MultiProgressBar_bar_get_messages;
*bar_get_message_prefix = *libdnf5_clic::MultiProgressBar_bar_get_message_prefix;
*bar_get_auto_finish = *libdnf5_clic::MultiProgressBar_bar_get_auto_finish;
*bar_set_auto_finish = *libdnf5_clic::MultiProgressBar_bar_set_auto_finish;
*bar_get_percent_done = *libdnf5_clic::MultiProgressBar_bar_get_percent_done;
*bar_get_current_speed = *libdnf5_clic::MultiProgressBar_bar_get_current_speed;
*bar_get_average_speed = *libdnf5_clic::MultiProgressBar_bar_get_average_speed;
*bar_get_elapsed_seconds = *libdnf5_clic::MultiProgressBar_bar_get_elapsed_seconds;
*bar_get_remaining_seconds = *libdnf5_clic::MultiProgressBar_bar_get_remaining_seconds;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


# ------- VARIABLE STUBS --------

package libdnf5_cli;

*ProgressBarState_READY = *libdnf5_clic::ProgressBarState_READY;
*ProgressBarState_STARTED = *libdnf5_clic::ProgressBarState_STARTED;
*ProgressBarState_SUCCESS = *libdnf5_clic::ProgressBarState_SUCCESS;
*ProgressBarState_WARNING = *libdnf5_clic::ProgressBarState_WARNING;
*ProgressBarState_ERROR = *libdnf5_clic::ProgressBarState_ERROR;
*MessageType_INFO = *libdnf5_clic::MessageType_INFO;
*MessageType_SUCCESS = *libdnf5_clic::MessageType_SUCCESS;
*MessageType_WARNING = *libdnf5_clic::MessageType_WARNING;
*MessageType_ERROR = *libdnf5_clic::MessageType_ERROR;
1;
