# Generated on Fri Aug 14 11:02:40 1998 with the following command: # /usr/home/irving/bin/idl2perl -o . --impl copex.idl use strict; use Copex::Temp_types; use Copex::Temp_skel; # IDL:Copex/Temp:1.0 package Copex::Temp_impl; use COPE::CORBA::Servant @Copex::Temp_impl::ISA=qw(CORBA::BOA::_Servant); sub _skelname($) { 'Copex::Temp_skel' } use vars '@temp_objects'; use Experimental::Exception; sub new { my($class, $props) = @_; if (($props->{size} < 0) || ($props->{size} > 100)) { throw new Copex::InvalidInput message => "Size must be between 0 and 100 (inclusive)"; } my $self = {properties => $props}; bless $self, $class; $CORBA::BOA::_The_Boa->activate_object($self); push @temp_objects, $self; return $self; } #sub DESTROY { # my $self = $_[0]; # print STDERR "The end of $self->{properties}{name}\n"; #} # IDL:Copex/Temp/GetProps:1.0 sub GetProps ($) { my($self) = @_; return $self->{properties}; } # IDL:Copex/Temp/SetProps:1.0 sub SetProps ($$) { my($self,$p) = @_; if (($p->{size} < 0) || ($p->{size} > 100)) { throw new Copex::InvalidInput message => "Size must be between 0 and 100 (inclusive)"; } $self->{properties} = $p; } # IDL:Copex/Temp/remove:1.0 sub remove ($) { my($self) = @_; my $boa = $CORBA::BOA::_The_Boa; @temp_objects = grep { $_ != $self } @temp_objects; $boa->deactivate_object($boa->_object_id($self)); } 1;