GnuPG::Handles - GnuPG handles bundle
use IO::Handle;
my ( $stdin, $stdout, $stderr,
$status_fh, $logger_fh, $passphrase_fh,
)
= ( IO::Handle->new(), IO::Handle->new(), IO::Handle->new(),
IO::Handle->new(), IO::Handle->new(), IO::Handle->new(),
);
my $handles = GnuPG::Handles->new
( stdin => $stdin,
stdout => $stdout,
stderr => $stderr,
status => $status_fh,
logger => $logger_fh,
passphrase => $passphrase_fh,
);
GnuPG::Handles objects are generally instantiated to be used in conjunction with
methods of objects of the class GnuPG::Interface. GnuPG::Handles objects
represent a collection of handles that are used to communicate with GnuPG.
- new( %initialization_args )
- This methods creates a new object. The optional arguments are
initialization of data members.
- hash_init( %args ).
- stdin
- This handle is connected to the standard input of a GnuPG process.
- stdout
- This handle is connected to the standard output of a GnuPG process.
- stderr
- This handle is connected to the standard error of a GnuPG process.
- status
- This handle is connected to the status output handle of a GnuPG
process.
- logger
- This handle is connected to the logger output handle of a GnuPG
process.
- passphrase
- This handle is connected to the passphrase input handle of a GnuPG
process.
- command
- This handle is connected to the command input handle of a GnuPG
process.
- options
- This is a hash of hashrefs of settings pertaining to the handles in this
object. The outer-level hash is keyed by the names of the handle the
setting is for, while the inner is keyed by the setting being referenced.
For example, to set the setting "direct"
to true for the filehandle "stdin", the
following code will do:
# assuming $handles is an already-created
# GnuPG::Handles object, this sets all
# options for the filehandle stdin in one blow,
# clearing out all others
$handles->options( 'stdin', { direct => 1 } );
# this is useful to just make one change
# to the set of options for a handle
$handles->options( 'stdin' )->{direct} = 1;
# and to get the setting...
$setting = $handles->options( 'stdin' )->{direct};
# and to clear the settings for stdin
$handles->options( 'stdin', {} );
The currently-used settings are as follows:
- direct
- If the setting "direct" is true for a
handle, the GnuPG process spawned will access the handle directly. This is
useful for having the GnuPG process read or write directly to or from an
already-opened file.