ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/ActiveDoc/GroupChecker.pm
(Generate patch)

Comparing COMP/SCRAM/src/ActiveDoc/GroupChecker.pm (file contents):
Revision 1.1 by williamc, Thu Jun 10 13:09:58 1999 UTC vs.
Revision 1.5 by sashby, Tue Feb 27 13:34:49 2007 UTC

# Line 9 | Line 9
9   # include(gp)        : include a group
10   # uninclude(gp)      : uninclude a group
11   # opencontext(gp)    : Annonce group context
12 < # closelastcontext() : Close group context
12 > # closecontext(gp)   : Close group context
13 > # closelastcontext(set) : Close the last context added to group the group set
14   # status()           : If include/excluded groups match the current gp context
15   #                      return 1 else 0
16   # getincluded()      : return an array of included groups
17   # getexcluded()      : return array of excluded groups
18 + # clearinclude()     : clear all entries from the include list
19 + # clearexclude()     : clear all entries from the exclude list
20   # ----------------------------------------------
21 + # group names are characters. Anything before a :: will indicate the
22 + # group set upon which the closecontext etc will operate. The group set is
23 + # still part of the group name.
24 + #
25 +
26  
27   package GroupChecker;
28 + BEGIN { print __PACKAGE__." still used.\n"; exit(1) }
29 +
30 +
31   require 5.001;
32   require Exporter;
33   @ISA=qw(Exporter);
34  
35 < sub new {
36 <        my $class=shift;
37 <        $self={};
38 <        bless $self, $class;
39 <        push @{$self->{context}},'none';
40 <        return $self;
41 < }
42 <
43 < sub exclude {
44 <        my $self=shift;
45 <        my $gp=shift;
46 <
47 <        ${$self->{exclude}}{$gp}=1;
48 <        $self->_setstatus;
49 < }
50 <
51 < sub unexclude {
52 <        my $self=shift;
53 <        my $gp=shift;
54 <
55 <        delete ${$self->{exclude}}{$gp};
56 <        $self->_setstatus;
57 < }
58 <
59 < sub include {
60 <        my $self=shift;
61 <        my $gp=shift;
62 <
63 <        ${$self->{include}}{$gp}=1;
64 <        $self->_setstatus;
65 < }
66 <
67 < sub uninclude {
68 <        my $self=shift;
69 <        my $gp=shift;
70 <
71 <        delete ${$self->{include}}{$gp};
72 <        $self->_setstatus;
73 < }
74 <
75 < sub getexcluded {
76 <        my $self=shift;
77 <        return keys %{$self->{exclude}}
78 < }
79 <
80 < sub getincluded {
81 <        my $self=shift;
82 <        return keys %{$self->{include}}
83 < }
84 <
85 < sub opencontext {
86 <        my $self=shift;
87 <        my $gp=shift;
88 <
89 <        push @{$self->{context}}, $gp;
90 <        $self->_setstatus;
91 < }
92 <
93 < sub closelastcontext {
94 <        my $self=shift;
95 <
96 <        pop @{$self->{context}};
97 <        $self->_setstatus;
98 < }
99 <
100 < sub status {
101 <        my $self=shift;
102 <        return $self->{status};
103 < }
104 <
94 < # -------------- Support Routines -----------------------------------
95 <
96 < sub _setstatus {
97 <        my $self=shift;
98 <        my $i;
35 > # sub new {
36 > #       my $class=shift;
37 > #       $self={};
38 > #         bless $self, $class;
39 > #       $self->{context}{none}=1;
40 > #       return $self;
41 > # }
42 >
43 > # sub clearinclude {
44 > #       my $self=shift;
45 > #       undef %{$self->{include}};
46 > # }
47 > # sub clearexclude {
48 > #       my $self=shift;
49 > #       undef %{$self->{exclude}};
50 > # }
51 >
52 > # sub exclude {
53 > #       my $self=shift;
54 > #         my $gp=shift;
55 >
56 > #       ${$self->{exclude}}{$gp}=1;
57 > #         $self->_setstatus;
58 > # }
59 >
60 > # sub unexclude {
61 > #       my $self=shift;
62 > #         my $gp=shift;
63 >
64 > #       delete ${$self->{exclude}}{$gp};
65 > #         $self->_setstatus;
66 > # }
67 >
68 > # sub include {
69 > #       my $self=shift;
70 > #         my $gp=shift;
71 >
72 > #       ${$self->{include}}{$gp}=1;
73 > #         $self->_setstatus;
74 > # }
75 >
76 > # sub uninclude {
77 > #       my $self=shift;
78 > #         my $gp=shift;
79 >
80 > #       delete ${$self->{include}}{$gp};
81 > #         $self->_setstatus;
82 > # }
83 >
84 > # sub getexcluded {
85 > #       my $self=shift;
86 > #       return keys %{$self->{exclude}}
87 > # }
88 >
89 > # sub getincluded {
90 > #       my $self=shift;
91 > #       return keys %{$self->{include}}
92 > # }
93 >
94 > # sub opencontext {
95 > #       my $self=shift;
96 > #         my $gp=shift;
97 > #       my $set;
98 >
99 > #       if ( $gp=~/(.*)::/ ) {
100 > #         $set=$1;
101 > #       }
102 > #       else {
103 > #        $set='none';
104 > #       }
105          
106 <        $self->{status}=0; # If not on exclude or include then always false
107 <        foreach $i ( @{$self->{context}} ) {
108 <            if ( ( exists $self->{include}{$i} )
109 <                 || ( exists $self->{include}{all} ) ) {
110 <                $self->{status}=1;
111 <            }
112 <            if ( exists $self->{exclude}{$i} ) {
113 <                $self->{status}=0;
114 <            }
115 <        }
116 < }
106 > #       push @{$self->{contextstack}{$set}}, $gp;
107 > #       $self->{context}{$gp}=1;
108 > #         $self->_setstatus();
109 > # }
110 >
111 > # sub closelastcontext {
112 > #       my $self=shift;
113 > #       my $set=shift;
114 > #       my $gp;
115 >
116 > #       if ( $set eq "" ) { $set='none' }
117 > #       do {
118 > #          $gp=pop @{$self->{contextstack}{$set}};
119 > #       } while ( (! exists $self->{context}{$gp}) && ($gp eq "") );
120 > #       $self->closecontext($gp);
121 > # }
122 >
123 > # sub closecontext {
124 > #       my $self=shift;
125 > #       my $gp=shift;
126 >
127 > #       if ( $gp=~/(.*)::/ ) {
128 > #           $set=$1;
129 > #         }
130 > #         else {
131 > #          $set='none';
132 > #         }
133 > #       delete $self->{context}{$gp};
134 > #         $self->_setstatus();
135 > # }
136 >
137 > # sub status {
138 > #       my $self=shift;
139 > #       return $self->{status};
140 > # }
141 >
142 > # # -------------- Support Routines -----------------------------------
143 >
144 > # sub _setstatus {
145 > #       my $self=shift;
146 > #       my $i;
147 >        
148 > #       $self->{status}=1;
149 > #       foreach $i ( keys %{$self->{context}} ) {
150 > #           if ( ( exists $self->{include}{$i} )
151 > #                || ( exists $self->{include}{all} ) ) {
152 > #               $self->{status}=( $self->{status} && 1);
153 > #           }
154 > #           if ( exists $self->{exclude}{$i} ) {
155 > #               $self->{status}=0;
156 > #           }
157 > #       }
158 > # }
159 >
160 > 1;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines