Archive-AndroidBackup

 view release on metacpan or  search on metacpan

lib/Archive/AndroidBackup.pm  view on Meta::CPAN

has 'compression' => ( is => 'rw', isa => 'HdrCompression', lazy => 1, default => -1 );

subtype 'HdrEncryption'
  => as 'Str'
  => where { $_ eq "none" }
  => message {"Encryption not implemented"};

has 'encryption' => ( is => 'rw', isa => 'HdrEncryption', lazy => 1, default => "");


sub _readHdrLine($$)
{
  my ($self, $FH) = @_;
  my ($buf, $c) = (('') x 2);
  while ((read($FH, $c, 1) > 0) && ($c ne "\n")) {
    $buf .= $c;
  }
  $buf;
}

sub read_header($)
{
  my ($self, $FH) = @_;
  $self->magic($self->_readHdrLine($FH));
  $self->version($self->_readHdrLine($FH));
  $self->compression($self->_readHdrLine($FH));
  $self->encryption($self->_readHdrLine($FH));
}

sub write_header($)
{
  my ($self, $FH) = @_;

  $self->magic("ANDROID BACKUP");
  $self->version(1);
  $self->compression(1);
  $self->encryption("none");

  seek $FH, 0, 0;
  print $FH $self->magic . "\n";



( run in 0.712 second using v1.01-cache-2.11-cpan-65fba6d93b7 )