diff options
author | 2004-10-04 12:16:31 +0000 | |
---|---|---|
committer | 2004-10-04 12:16:31 +0000 | |
commit | fd00de3dc96f722137600356bf5edccc2d6e130e (patch) | |
tree | 6dff034fc2b7612f5b2f16eb15990e48759ed409 | |
parent | Add Fatal/Warn routines: for now, they do nothing more than die/print STDERR, (diff) | |
download | wireguard-openbsd-fd00de3dc96f722137600356bf5edccc2d6e130e.tar.xz wireguard-openbsd-fd00de3dc96f722137600356bf5edccc2d6e130e.zip |
basic class hierarchy to cut up packing-list items into better groups.
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/PackingElement.pm | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/PackingElement.pm b/usr.sbin/pkg_add/OpenBSD/PackingElement.pm index 42dc0579759..8ac788b582b 100644 --- a/usr.sbin/pkg_add/OpenBSD/PackingElement.pm +++ b/usr.sbin/pkg_add/OpenBSD/PackingElement.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: PackingElement.pm,v 1.30 2004/10/04 12:09:07 espie Exp $ +# $OpenBSD: PackingElement.pm,v 1.31 2004/10/04 12:16:31 espie Exp $ # # Copyright (c) 2003-2004 Marc Espie <espie@openbsd.org> # @@ -200,8 +200,38 @@ sub fullname($) return $_[0]->{fullname}; } -# Abstract class for all file-like elements +# Basic class hierarchy + +# various stuff that's only linked to objects before/after them +# this class doesn't have real objects: no valid new nor clone... +package OpenBSD::PackingElement::Annotation; +our @ISA=qw(OpenBSD::PackingElement); +sub new { die "Can't create annotation objects" } + +# concrete objects +package OpenBSD::PackingElement::Object; +our @ISA=qw(OpenBSD::PackingElement); + +package OpenBSD::PackingElement::FileObject; +our @ISA=qw(OpenBSD::PackingElement::Object); +# exec/unexec and friends +package OpenBSD::PackingElement::Action; +our @ISA=qw(OpenBSD::PackingElement::Object); + +# persistent state for following objects +package OpenBSD::PackingElement::State; +our @ISA=qw(OpenBSD::PackingElement::Object); + +# meta information, stored elsewhere +package OpenBSD::PackingElement::Meta; +our @ISA=qw(OpenBSD::PackingElement); + +# all dependency information +package OpenBSD::PackingElement::Depend; +our @ISA=qw(OpenBSD::PackingElement::Meta); + +# Abstract class for all file-like elements package OpenBSD::PackingElement::FileBase; our @ISA=qw(OpenBSD::PackingElement); use File::Spec; |