Server IP : 85.214.239.14 / Your IP : 18.191.54.190 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/cwd/usr/share/perl5/Mail/AuthenticationResults/Header/ |
Upload File : |
package Mail::AuthenticationResults::Header::Group; # ABSTRACT: Class modelling Groups of Authentication Results Header parts require 5.008; use strict; use warnings; our $VERSION = '2.20230112'; # VERSION use Scalar::Util qw{ refaddr }; use Carp; use base 'Mail::AuthenticationResults::Header::Base'; sub _HAS_CHILDREN{ return 1; } sub _ALLOWED_CHILDREN { my ( $self, $child ) = @_; return 1 if ref $child eq 'Mail::AuthenticationResults::Header'; return 1 if ref $child eq 'Mail::AuthenticationResults::Header::AuthServID'; return 1 if ref $child eq 'Mail::AuthenticationResults::Header::Comment'; return 1 if ref $child eq 'Mail::AuthenticationResults::Header::Entry'; return 1 if ref $child eq 'Mail::AuthenticationResults::Header::Group'; return 1 if ref $child eq 'Mail::AuthenticationResults::Header::SubEntry'; return 1 if ref $child eq 'Mail::AuthenticationResults::Header::Version'; return 0; } sub add_child { my ( $self, $child ) = @_; croak 'Cannot add child' if ! $self->_ALLOWED_CHILDREN( $child ); croak 'Cannot add a class as its own parent' if refaddr $self == refaddr $child; if ( ref $child eq 'Mail::AuthenticationResults::Header::Group' ) { foreach my $subchild ( @{ $child->children() } ) { $self->add_child( $subchild ); } ## ToDo what to return in this case? } else { foreach my $current_child ( @{ $self->children() } ) { if ( $current_child == $child ) { return $child; } } $self->SUPER::add_child( $child ); } return $child; } sub build_string { my ( $self, $header ) = @_; my $sep = 0; foreach my $child ( @{ $self->children() } ) { $header->separator( ';' ) if $sep; $header->space( "\n" ) if $sep; $sep = 1; $child->build_string( $header ); } return; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Mail::AuthenticationResults::Header::Group - Class modelling Groups of Authentication Results Header parts =head1 VERSION version 2.20230112 =head1 DESCRIPTION A group of classes, typically returned as a search results set, and should include all required parts. Please see L<Mail::AuthenticationResults::Header::Base> =head1 AUTHOR Marc Bradshaw <marc@marcbradshaw.net> =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2021 by Marc Bradshaw. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut