package Win32::Exe::Resource::Manifest; use strict; use base 'Win32::Exe::Resource'; use constant FORMAT => ( Data => 'a*', ); sub get_manifest { my ($self ) = @_; return $self->dump; } sub set_manifest { my ( $self, $xmltext ) = @_; $self->SetData( $self->encode_manifest($xmltext) ); my $rsrc = $self->first_parent('Resources'); $rsrc->remove("/#RT_MANIFEST"); $rsrc->insert("/#RT_MANIFEST/#1/#0" => $self); $rsrc->refresh; } sub update_manifest { my ( $self, $xmltext ) = @_; $self->SetData( $self->encode_manifest($xmltext) ); } sub encode_manifest { my ($self, $string) = @_; return pack("a*", $string); } sub default_manifest { my ( $self ) = @_; my $defman = <<'W32EXEDEFAULTMANIFEST' Win32.Exe.Application W32EXEDEFAULTMANIFEST ; return $defman; } 1;