source: swig/perl/ABAC.pm @ 80a0f3f

Last change on this file since 80a0f3f was 80a0f3f, checked in by Kyle <khaefner@…>, 7 years ago

initial commit

  • Property mode set to 100644
File size: 15.3 KB
Line 
1# This file was automatically generated by SWIG (http://www.swig.org).
2# Version 3.0.10
3#
4# Do not make changes to this file unless you know what you are doing--modify
5# the SWIG interface file instead.
6
7package ABAC;
8use base qw(Exporter);
9use base qw(DynaLoader);
10package ABACc;
11bootstrap ABAC;
12package ABAC;
13@EXPORT = qw();
14
15# ---------- BASE METHODS -------------
16
17package ABAC;
18
19sub TIEHASH {
20    my ($classname,$obj) = @_;
21    return bless $obj, $classname;
22}
23
24sub CLEAR { }
25
26sub FIRSTKEY { }
27
28sub NEXTKEY { }
29
30sub FETCH {
31    my ($self,$field) = @_;
32    my $member_func = "swig_${field}_get";
33    $self->$member_func();
34}
35
36sub STORE {
37    my ($self,$field,$newval) = @_;
38    my $member_func = "swig_${field}_set";
39    $self->$member_func($newval);
40}
41
42sub this {
43    my $ptr = shift;
44    return tied(%$ptr);
45}
46
47
48# ------- FUNCTION WRAPPERS --------
49
50package ABAC;
51
52*SSL_keyid = *ABACc::SSL_keyid;
53*abac_chunk_free = *ABACc::abac_chunk_free;
54*abac_context_new = *ABACc::abac_context_new;
55*abac_context_dup = *ABACc::abac_context_dup;
56*abac_context_free = *ABACc::abac_context_free;
57*abac_context_load_id_file = *ABACc::abac_context_load_id_file;
58*abac_context_load_id_chunk = *ABACc::abac_context_load_id_chunk;
59*abac_context_load_id_id = *ABACc::abac_context_load_id_id;
60*abac_context_load_attribute_file = *ABACc::abac_context_load_attribute_file;
61*abac_context_load_attribute_chunk = *ABACc::abac_context_load_attribute_chunk;
62*abac_context_load_directory = *ABACc::abac_context_load_directory;
63*abac_context_query = *ABACc::abac_context_query;
64*abac_context_credentials = *ABACc::abac_context_credentials;
65*abac_context_principals = *ABACc::abac_context_principals;
66*abac_context_id_credentials_free = *ABACc::abac_context_id_credentials_free;
67*abac_context_credentials_free = *ABACc::abac_context_credentials_free;
68*abac_context_set_nickname = *ABACc::abac_context_set_nickname;
69*abac_context_expand_key = *ABACc::abac_context_expand_key;
70*abac_context_expand_nickname = *ABACc::abac_context_expand_nickname;
71*abac_context_get_keyid_map = *ABACc::abac_context_get_keyid_map;
72*abac_credential_head = *ABACc::abac_credential_head;
73*abac_credential_tail = *ABACc::abac_credential_tail;
74*abac_credential_attribute_cert = *ABACc::abac_credential_attribute_cert;
75*abac_credential_issuer_cert = *ABACc::abac_credential_issuer_cert;
76*abac_credential_dup = *ABACc::abac_credential_dup;
77*abac_credential_free = *ABACc::abac_credential_free;
78*abac_id_cert_keyid = *ABACc::abac_id_cert_keyid;
79*abac_id_cert_cn = *ABACc::abac_id_cert_cn;
80*abac_role_principal_new = *ABACc::abac_role_principal_new;
81*abac_role_role_new = *ABACc::abac_role_role_new;
82*abac_role_linking_new = *ABACc::abac_role_linking_new;
83*abac_role_free = *ABACc::abac_role_free;
84*abac_role_from_string = *ABACc::abac_role_from_string;
85*abac_role_dup = *ABACc::abac_role_dup;
86*abac_role_is_principal = *ABACc::abac_role_is_principal;
87*abac_role_is_role = *ABACc::abac_role_is_role;
88*abac_role_is_linking = *ABACc::abac_role_is_linking;
89*abac_role_is_intersection = *ABACc::abac_role_is_intersection;
90*abac_role_string = *ABACc::abac_role_string;
91*abac_role_short_string = *ABACc::abac_role_short_string;
92*abac_role_linked_role = *ABACc::abac_role_linked_role;
93*abac_role_linking_role = *ABACc::abac_role_linking_role;
94*abac_role_role_name = *ABACc::abac_role_role_name;
95*abac_role_principal = *ABACc::abac_role_principal;
96*abac_role_attr_key = *ABACc::abac_role_attr_key;
97*abac_id_from_file = *ABACc::abac_id_from_file;
98*abac_id_from_chunk = *ABACc::abac_id_from_chunk;
99*abac_id_privkey_from_file = *ABACc::abac_id_privkey_from_file;
100*abac_id_privkey_from_chunk = *ABACc::abac_id_privkey_from_chunk;
101*abac_id_generate = *ABACc::abac_id_generate;
102*abac_id_generate_with_key = *ABACc::abac_id_generate_with_key;
103*abac_id_keyid = *ABACc::abac_id_keyid;
104*abac_id_cn = *ABACc::abac_id_cn;
105*abac_id_issuer = *ABACc::abac_id_issuer;
106*abac_id_subject = *ABACc::abac_id_subject;
107*abac_id_still_valid = *ABACc::abac_id_still_valid;
108*abac_id_has_keyid = *ABACc::abac_id_has_keyid;
109*abac_id_has_privkey = *ABACc::abac_id_has_privkey;
110*abac_id_validity = *ABACc::abac_id_validity;
111*abac_id_cert_filename = *ABACc::abac_id_cert_filename;
112*abac_id_write_cert = *ABACc::abac_id_write_cert;
113*abac_id_privkey_filename = *ABACc::abac_id_privkey_filename;
114*abac_id_write_privkey = *ABACc::abac_id_write_privkey;
115*abac_id_cert_chunk = *ABACc::abac_id_cert_chunk;
116*abac_id_privkey_chunk = *ABACc::abac_id_privkey_chunk;
117*abac_id_dup = *ABACc::abac_id_dup;
118*abac_id_free = *ABACc::abac_id_free;
119*abac_attribute_create = *ABACc::abac_attribute_create;
120*abac_attribute_set_head = *ABACc::abac_attribute_set_head;
121*abac_attribute_get_head = *ABACc::abac_attribute_get_head;
122*abac_attribute_principal = *ABACc::abac_attribute_principal;
123*abac_attribute_role = *ABACc::abac_attribute_role;
124*abac_attribute_linking_role = *ABACc::abac_attribute_linking_role;
125*abac_attribute_bake = *ABACc::abac_attribute_bake;
126*abac_attribute_bake_context = *ABACc::abac_attribute_bake_context;
127*abac_attribute_baked = *ABACc::abac_attribute_baked;
128*abac_attribute_write = *ABACc::abac_attribute_write;
129*abac_attribute_write_file = *ABACc::abac_attribute_write_file;
130*abac_attribute_get_ntails = *ABACc::abac_attribute_get_ntails;
131*abac_attribute_get_tail_n = *ABACc::abac_attribute_get_tail_n;
132*abac_attribute_cert_chunk = *ABACc::abac_attribute_cert_chunk;
133*abac_attribute_free = *ABACc::abac_attribute_free;
134*abac_attribute_certs_from_file = *ABACc::abac_attribute_certs_from_file;
135*abac_attribute_certs_from_chunk = *ABACc::abac_attribute_certs_from_chunk;
136*abac_attribute_role_string = *ABACc::abac_attribute_role_string;
137*abac_attribute_issuer_id = *ABACc::abac_attribute_issuer_id;
138*abac_attribute_get_output_format = *ABACc::abac_attribute_get_output_format;
139*abac_attribute_set_output_format = *ABACc::abac_attribute_set_output_format;
140*abac_attribute_validity = *ABACc::abac_attribute_validity;
141*abac_attribute_get_keyid_map = *ABACc::abac_attribute_get_keyid_map;
142*abac_attribute_get_principal = *ABACc::abac_attribute_get_principal;
143*abac_attribute_still_valid = *ABACc::abac_attribute_still_valid;
144*abac_keyid_mapping_new = *ABACc::abac_keyid_mapping_new;
145*abac_keyid_mapping_free = *ABACc::abac_keyid_mapping_free;
146*abac_keyid_map_new = *ABACc::abac_keyid_map_new;
147*abac_keyid_map_dup = *ABACc::abac_keyid_map_dup;
148*abac_keyid_map_clone = *ABACc::abac_keyid_map_clone;
149*abac_keyid_map_free = *ABACc::abac_keyid_map_free;
150*abac_keyid_map_key_to_nickname = *ABACc::abac_keyid_map_key_to_nickname;
151*abac_keyid_map_nickname_to_key = *ABACc::abac_keyid_map_nickname_to_key;
152*abac_keyid_map_remove_keyid = *ABACc::abac_keyid_map_remove_keyid;
153*abac_keyid_map_add_nickname = *ABACc::abac_keyid_map_add_nickname;
154*abac_keyid_map_merge = *ABACc::abac_keyid_map_merge;
155*abac_keyid_map_expand_key = *ABACc::abac_keyid_map_expand_key;
156*abac_keyid_map_expand_nickname = *ABACc::abac_keyid_map_expand_nickname;
157
158############# Class : ABAC::CredentialVector ##############
159
160package ABAC::CredentialVector;
161use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
162@ISA = qw( ABAC );
163%OWNER = ();
164%ITERATORS = ();
165sub new {
166    my $pkg = shift;
167    my $self = ABACc::new_CredentialVector(@_);
168    bless $self, $pkg if defined($self);
169}
170
171*size = *ABACc::CredentialVector_size;
172*empty = *ABACc::CredentialVector_empty;
173*clear = *ABACc::CredentialVector_clear;
174*push = *ABACc::CredentialVector_push;
175*get = *ABACc::CredentialVector_get;
176*set = *ABACc::CredentialVector_set;
177sub DESTROY {
178    return unless $_[0]->isa('HASH');
179    my $self = tied(%{$_[0]});
180    return unless defined $self;
181    delete $ITERATORS{$self};
182    if (exists $OWNER{$self}) {
183        ABACc::delete_CredentialVector($self);
184        delete $OWNER{$self};
185    }
186}
187
188sub DISOWN {
189    my $self = shift;
190    my $ptr = tied(%$self);
191    delete $OWNER{$ptr};
192}
193
194sub ACQUIRE {
195    my $self = shift;
196    my $ptr = tied(%$self);
197    $OWNER{$ptr} = 1;
198}
199
200
201############# Class : ABAC::abac_chunk_t ##############
202
203package ABAC::abac_chunk_t;
204use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
205@ISA = qw( ABAC );
206%OWNER = ();
207%ITERATORS = ();
208*swig_ptr_get = *ABACc::abac_chunk_t_ptr_get;
209*swig_ptr_set = *ABACc::abac_chunk_t_ptr_set;
210*swig_len_get = *ABACc::abac_chunk_t_len_get;
211*swig_len_set = *ABACc::abac_chunk_t_len_set;
212sub new {
213    my $pkg = shift;
214    my $self = ABACc::new_abac_chunk_t(@_);
215    bless $self, $pkg if defined($self);
216}
217
218sub DESTROY {
219    return unless $_[0]->isa('HASH');
220    my $self = tied(%{$_[0]});
221    return unless defined $self;
222    delete $ITERATORS{$self};
223    if (exists $OWNER{$self}) {
224        ABACc::delete_abac_chunk_t($self);
225        delete $OWNER{$self};
226    }
227}
228
229sub DISOWN {
230    my $self = shift;
231    my $ptr = tied(%$self);
232    delete $OWNER{$ptr};
233}
234
235sub ACQUIRE {
236    my $self = shift;
237    my $ptr = tied(%$self);
238    $OWNER{$ptr} = 1;
239}
240
241
242############# Class : ABAC::Context ##############
243
244package ABAC::Context;
245use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
246@ISA = qw( ABAC );
247%OWNER = ();
248%ITERATORS = ();
249sub new {
250    my $pkg = shift;
251    my $self = ABACc::new_Context(@_);
252    bless $self, $pkg if defined($self);
253}
254
255sub DESTROY {
256    return unless $_[0]->isa('HASH');
257    my $self = tied(%{$_[0]});
258    return unless defined $self;
259    delete $ITERATORS{$self};
260    if (exists $OWNER{$self}) {
261        ABACc::delete_Context($self);
262        delete $OWNER{$self};
263    }
264}
265
266*load_id_file = *ABACc::Context_load_id_file;
267*load_id_chunk = *ABACc::Context_load_id_chunk;
268*load_id_id = *ABACc::Context_load_id_id;
269*load_attribute_file = *ABACc::Context_load_attribute_file;
270*load_attribute_chunk = *ABACc::Context_load_attribute_chunk;
271*query = *ABACc::Context_query;
272*credentials = *ABACc::Context_credentials;
273*load_directory = *ABACc::Context_load_directory;
274*set_nickname = *ABACc::Context_set_nickname;
275sub DISOWN {
276    my $self = shift;
277    my $ptr = tied(%$self);
278    delete $OWNER{$ptr};
279}
280
281sub ACQUIRE {
282    my $self = shift;
283    my $ptr = tied(%$self);
284    $OWNER{$ptr} = 1;
285}
286
287
288############# Class : ABAC::Role ##############
289
290package ABAC::Role;
291use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
292@ISA = qw( ABAC );
293%OWNER = ();
294%ITERATORS = ();
295sub new {
296    my $pkg = shift;
297    my $self = ABACc::new_Role(@_);
298    bless $self, $pkg if defined($self);
299}
300
301sub DESTROY {
302    return unless $_[0]->isa('HASH');
303    my $self = tied(%{$_[0]});
304    return unless defined $self;
305    delete $ITERATORS{$self};
306    if (exists $OWNER{$self}) {
307        ABACc::delete_Role($self);
308        delete $OWNER{$self};
309    }
310}
311
312*is_principal = *ABACc::Role_is_principal;
313*is_role = *ABACc::Role_is_role;
314*is_linking = *ABACc::Role_is_linking;
315*string = *ABACc::Role_string;
316*short_string = *ABACc::Role_short_string;
317*linked_role = *ABACc::Role_linked_role;
318*role_name = *ABACc::Role_role_name;
319*principal = *ABACc::Role_principal;
320sub DISOWN {
321    my $self = shift;
322    my $ptr = tied(%$self);
323    delete $OWNER{$ptr};
324}
325
326sub ACQUIRE {
327    my $self = shift;
328    my $ptr = tied(%$self);
329    $OWNER{$ptr} = 1;
330}
331
332
333############# Class : ABAC::Credential ##############
334
335package ABAC::Credential;
336use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
337@ISA = qw( ABAC );
338%OWNER = ();
339%ITERATORS = ();
340sub new {
341    my $pkg = shift;
342    my $self = ABACc::new_Credential(@_);
343    bless $self, $pkg if defined($self);
344}
345
346sub DESTROY {
347    return unless $_[0]->isa('HASH');
348    my $self = tied(%{$_[0]});
349    return unless defined $self;
350    delete $ITERATORS{$self};
351    if (exists $OWNER{$self}) {
352        ABACc::delete_Credential($self);
353        delete $OWNER{$self};
354    }
355}
356
357*head = *ABACc::Credential_head;
358*tail = *ABACc::Credential_tail;
359*attribute_cert = *ABACc::Credential_attribute_cert;
360*issuer_cert = *ABACc::Credential_issuer_cert;
361sub DISOWN {
362    my $self = shift;
363    my $ptr = tied(%$self);
364    delete $OWNER{$ptr};
365}
366
367sub ACQUIRE {
368    my $self = shift;
369    my $ptr = tied(%$self);
370    $OWNER{$ptr} = 1;
371}
372
373
374############# Class : ABAC::ID ##############
375
376package ABAC::ID;
377use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
378@ISA = qw( ABAC );
379%OWNER = ();
380%ITERATORS = ();
381sub DESTROY {
382    return unless $_[0]->isa('HASH');
383    my $self = tied(%{$_[0]});
384    return unless defined $self;
385    delete $ITERATORS{$self};
386    if (exists $OWNER{$self}) {
387        ABACc::delete_ID($self);
388        delete $OWNER{$self};
389    }
390}
391
392sub new_ID_chunk {
393    my $pkg = shift;
394    my $self = ABACc::new_ID_chunk(@_);
395    bless $self, $pkg if defined($self);
396}
397
398sub new {
399    my $pkg = shift;
400    my $self = ABACc::new_ID(@_);
401    bless $self, $pkg if defined($self);
402}
403
404*load_privkey = *ABACc::ID_load_privkey;
405*load_privkey_chunk = *ABACc::ID_load_privkey_chunk;
406*has_privkey = *ABACc::ID_has_privkey;
407*keyid = *ABACc::ID_keyid;
408*cn = *ABACc::ID_cn;
409*cert_filename = *ABACc::ID_cert_filename;
410*write_cert = *ABACc::ID_write_cert;
411*write_cert_file = *ABACc::ID_write_cert_file;
412*write_cert_name = *ABACc::ID_write_cert_name;
413*privkey_filename = *ABACc::ID_privkey_filename;
414*write_privkey = *ABACc::ID_write_privkey;
415*write_privkey_file = *ABACc::ID_write_privkey_file;
416*write_privkey_name = *ABACc::ID_write_privkey_name;
417*cert_chunk = *ABACc::ID_cert_chunk;
418*privkey_chunk = *ABACc::ID_privkey_chunk;
419sub DISOWN {
420    my $self = shift;
421    my $ptr = tied(%$self);
422    delete $OWNER{$ptr};
423}
424
425sub ACQUIRE {
426    my $self = shift;
427    my $ptr = tied(%$self);
428    $OWNER{$ptr} = 1;
429}
430
431
432############# Class : ABAC::Attribute ##############
433
434package ABAC::Attribute;
435use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
436@ISA = qw( ABAC );
437%OWNER = ();
438%ITERATORS = ();
439sub DESTROY {
440    return unless $_[0]->isa('HASH');
441    my $self = tied(%{$_[0]});
442    return unless defined $self;
443    delete $ITERATORS{$self};
444    if (exists $OWNER{$self}) {
445        ABACc::delete_Attribute($self);
446        delete $OWNER{$self};
447    }
448}
449
450sub new {
451    my $pkg = shift;
452    my $self = ABACc::new_Attribute(@_);
453    bless $self, $pkg if defined($self);
454}
455
456*principal = *ABACc::Attribute_principal;
457*role = *ABACc::Attribute_role;
458*linking_role = *ABACc::Attribute_linking_role;
459*bake = *ABACc::Attribute_bake;
460*baked = *ABACc::Attribute_baked;
461*set_output_format = *ABACc::Attribute_set_output_format;
462*get_output_format = *ABACc::Attribute_get_output_format;
463*write = *ABACc::Attribute_write;
464*write_file = *ABACc::Attribute_write_file;
465*write_name = *ABACc::Attribute_write_name;
466*cert_chunk = *ABACc::Attribute_cert_chunk;
467sub DISOWN {
468    my $self = shift;
469    my $ptr = tied(%$self);
470    delete $OWNER{$ptr};
471}
472
473sub ACQUIRE {
474    my $self = shift;
475    my $ptr = tied(%$self);
476    $OWNER{$ptr} = 1;
477}
478
479
480# ------- VARIABLE STUBS --------
481
482package ABAC;
483
484*ABAC_RC_SUCCESS = *ABACc::ABAC_RC_SUCCESS;
485*ABAC_RC_FAILURE = *ABACc::ABAC_RC_FAILURE;
486*ABAC_CERT_SUCCESS = *ABACc::ABAC_CERT_SUCCESS;
487*ABAC_CERT_INVALID = *ABACc::ABAC_CERT_INVALID;
488*ABAC_CERT_BAD_SIG = *ABACc::ABAC_CERT_BAD_SIG;
489*ABAC_CERT_MISSING_ISSUER = *ABACc::ABAC_CERT_MISSING_ISSUER;
490*ABAC_CERT_BAD_PRINCIPAL = *ABACc::ABAC_CERT_BAD_PRINCIPAL;
491*ABAC_CERT_INVALID_ISSUER = *ABACc::ABAC_CERT_INVALID_ISSUER;
492*ABAC_CERT_SIGNER_NOKEY = *ABACc::ABAC_CERT_SIGNER_NOKEY;
493*ABAC_SUCCESS = *ABACc::ABAC_SUCCESS;
494*ABAC_FAILURE = *ABACc::ABAC_FAILURE;
495*ABAC_GENERATE_INVALID_CN = *ABACc::ABAC_GENERATE_INVALID_CN;
496*ABAC_GENERATE_INVALID_VALIDITY = *ABACc::ABAC_GENERATE_INVALID_VALIDITY;
497*ABAC_ATTRIBUTE_ISSUER_NOKEY = *ABACc::ABAC_ATTRIBUTE_ISSUER_NOKEY;
498*ABAC_ATTRIBUTE_INVALID_ROLE = *ABACc::ABAC_ATTRIBUTE_INVALID_ROLE;
499*ABAC_ATTRIBUTE_INVALID_VALIDITY = *ABACc::ABAC_ATTRIBUTE_INVALID_VALIDITY;
500*ABAC_ATTRIBUTE_INVALID_ISSUER = *ABACc::ABAC_ATTRIBUTE_INVALID_ISSUER;
5011;
Note: See TracBrowser for help on using the repository browser.