diff options
author | Marc Espie <espie@cvs.openbsd.org> | 2004-10-04 12:16:32 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 2004-10-04 12:16:32 +0000 |
commit | 45e89d9aa25124d0c2e2386483f50dfbd2d6e14e (patch) | |
tree | 857edd12113c507dc504eb1ce31425ef2c782279 | |
parent | 79f2ba5652e29c6cdd6d8a853b808d3e7b693c52 (diff) |
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; |