⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msgunit.pm

📁 java开源的企业总线.xmlBlaster
💻 PM
字号:
# MsgUnit.pm## 04/07/02 17:17 mad@ktaland.com#       upgrade# 11/02/02 15:04 mad@ktaland.com#package xmlBlaster::MsgUnit ;use Data::Dumper ;      # for sub dump()use MIME::Base64;       # to decode xml-rpc data type : Frontier::RPC2::Base64use strict ;######################## new## 11/02/02 11:54 mad@ktaland.com#sub new {        my $class = shift;        # init from hash        #my $self = ($#_ == 0) ? { %{ (shift) } } : { @_ };        # init from ref        my $data = shift ;        my $self = {} ;        bless( $self, $class );        $self->{'key_xml'} = '' ;        $self->{'qos_xml'} = '' ;        $self->{'content'} = '' ;        $self->{'frontier_content'} = undef ;        $self->{'frontier_data'} = $data ;        ###print STDERR '='x40,"\n", Dumper($data) , '='x40, "\n";        if( defined $data && ref($data) eq 'ARRAY' ){                #                # $data should be a Frontier ( Frontier-RPC ) returned message.                #                my $aref = $data ;                $self->{'key_xml'} = $aref->[0] if( ref($aref->[0]) eq '' );                my $frontier_content = $aref->[1] ;                $self->{'qos_xml'} = $aref->[2] if( ref($aref->[2]) eq '' );                #                # Frontier Type ( Frontier-RPC-0.07b3 )                #       Frontier::RPC2::Boolean                #       Frontier::RPC2::DateTime::ISO8601                #       Frontier::RPC2::Base64                #                if( ref( $frontier_content ) eq 'Frontier::RPC2::Base64' ){                        my $base64encoded = $frontier_content->value() ;                        $self->{'content'} = decode_base64( $base64encoded );                        $self->{'frontier_content'} = $frontier_content ;                }elsif( ref( $frontier_content ) eq 'Frontier::RPC2::DateTime::ISO8601' ){                        # never tested !!!                        # TODO : is the right way ???!!!                        $self->{'content'} = $frontier_content->value() ;                        $self->{'frontier_content'} = $frontier_content ;                }elsif( ref( $frontier_content ) eq 'Frontier::RPC2::Boolean' ){                        # never tested !!!                        # TODO : is the right way ???!!!                        $self->{'content'} = $frontier_content->value() ;                        $self->{'frontier_content'} = $frontier_content ;                }else{                        print STDERR "ERROR: Unknow that Frontier Type ", ref($frontier_content),"\n";                }        }        return $self ;}#new###################sub keyOid {        my $self = shift ;        my $keyoid = $self->{'key_xml'} ;        $keyoid =~ /<key (.*|[ ])oid=['"](.*?)['"]/mo ;        $keyoid = $2 ;        return $keyoid ;}sub xmlKey {        my $self = shift ;        return $self->{'key_xml'} ;}sub xmlQos {        my $self = shift ;        return $self->{'qos_xml'} ;}sub content {        my $self = shift ;        return $self->{'content'} ;}#############sub dump {        my( $self, $debug )=@_;        my $str = '' ;        $str .= ('='x40)."\n" ;        $str .= "MsgUnit::dump :\n" ;        if( defined $debug ){                $str .= "Frontier data : [ ".Dumper( $self->{'frontier_data'} ). " ]\n";        }        $str .= "KeyOid : [". $self->keyOid ."]\n";        $str .= "Qos : [". $self->xmlQos ."]\n";        $str .= "Content : [". $self->content ."]\n";        $str .= ('='x40)."\n" ;        return $str ;}#dump1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -