Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package Win32::Clipboard; ####################################################################### # # Win32::Clipboard - Perl Module for Windows Clipboard Interaction # ^^^^^^^^^^^^^^^^ # Version: 0.03 (23 Apr 1997) # #######################################################################
require Exporter; # to export the constants to the main:: space require DynaLoader; # to dynuhlode the module.
@ISA = qw( Exporter DynaLoader );
####################################################################### # This AUTOLOAD is used to 'autoload' constants from the constant() # XS function. If a constant is not found then control is passed # to the AUTOLOAD in AutoLoader. #
sub AUTOLOAD { my($constname); ($constname = $AUTOLOAD) =~ s/.*:://; #reset $! to zero to reset any current errors. $!=0; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { # [dada] This results in an ugly Autoloader error
#if ($! =~ /Invalid/) { # $AutoLoader::AUTOLOAD = $AUTOLOAD; # goto &AutoLoader::AUTOLOAD; #} else {
# [dada] ... I prefer this one :)
($pack, $file, $line) = caller; undef $pack; # [dada] and get rid of "used only once" warning... die "Win32::Clipboard::$constname is not defined, used at $file line $line.";
#} } eval "sub $AUTOLOAD { $val }"; goto &$AUTOLOAD; }
####################################################################### # STATIC OBJECT PROPERTIES # $VERSION = "0.03";
####################################################################### # FUNCTIONS #
sub new { my($class, $value) = @_; my $self = "I'm the Clipboard!"; Win32::Clipboard::Set($value) if defined($value); return bless(\$self); }
sub DESTROY { my($self) = @_; undef $self; }
sub Version { return $VERSION; }
####################################################################### # dynamically load in the Clipboard.pll module. #
bootstrap Win32::Clipboard;
# Preloaded methods go here.
sub main::Win32::Clipboard { my($value) = @_; my $self={}; my $result = Win32::Clipboard::Set($value) if defined($value); return bless($self, "Win32::Clipboard"); }
#Currently Autoloading is not implemented in Perl for win32 # Autoload methods go after __END__, and are processed by the autosplit program.
1; __END__
|