DMTF-CIM-WSMan
view release on metacpan or search on metacpan
lib/DMTF/CIM/WSMan.pm view on Meta::CPAN
if($self->{QUIRKS}{incorrect_string_octetstring}) {
$val = sprintf('0x%08X%s',(length($val)+4),uc(unpack("H*",$val)));
}
else {
$val = uc(unpack("H*",$val));
}
$ret .= "<p:".($prop->name).">".$val."</p:".($prop->name).">";
}
}
else {
my $decoded;
if(ref($val) eq 'ARRAY') {
$decoded=join('',@{$val});
}
else {
$decoded=$val;
}
$ret .= "<p:".($prop->name).">".encode_base64($decoded)."</p:".($prop->name).">";
}
}
elsif(ref($val) eq 'ARRAY') {
foreach my $value (@$val) {
if($prop->is_ref) {
$value=$wsman->epr_to_xml($self->URItoEPR(URI->new($value)));
}
elsif($prop->type eq 'datetime') {
$value="<$wsman->{Context}{cim}{prefix}:CIM_DateTime>$value</$wsman->{Context}{cim}{prefix}:CIM_DateTime>";
}
lib/DMTF/CIM/WSMan.pm view on Meta::CPAN
}
}
else {
if(defined $model
&& defined $model->{qualifiers}
&& defined $model->{qualifiers}{octetstring}
&& $model->{qualifiers}{octetstring} eq 'true') {
if(defined $model->{type}
&& $model->{type} eq 'uint8'
&& defined $model->{array}) {
my $decoded=decode_base64($twig->text);
return wantarray ? ($decoded, 'bytes') : $decoded;
}
if(defined $model->{type}
&& $model->{type} eq 'string'
&& defined $model->{array}) {
my $encoded=$twig->text;
$encoded=~s/([0-9A-Fa-f]{2})/chr(hex($1))/eg;
if($self->{QUIRKS}{incorrect_string_octetstring}) {
$encoded =~ s/^0x[0-9a-fA-F]{8}//;
}
return $encoded;
( run in 0.292 second using v1.01-cache-2.11-cpan-26ccb49234f )