First cleanup, zebra_api_ext.c is epmty now
[idzebra-moved-to-github.git] / perl / lib / IDZebra.pm
index 1a5a363..dd9365b 100644 (file)
@@ -57,7 +57,6 @@ package IDZebra;
 *end_trans = *IDZebrac::end_trans;
 *trans_no = *IDZebrac::trans_no;
 *begin_read = *IDZebrac::begin_read;
-*zts_test = *IDZebrac::zts_test;
 *end_read = *IDZebrac::end_read;
 *commit = *IDZebrac::commit;
 *get_shadow_enable = *IDZebrac::get_shadow_enable;
@@ -76,6 +75,7 @@ package IDZebra;
 *cql2pqf = *IDZebrac::cql2pqf;
 *records_retrieve = *IDZebrac::records_retrieve;
 *record_retrieve = *IDZebrac::record_retrieve;
+*deleteResultSet = *IDZebrac::deleteResultSet;
 *sort = *IDZebrac::sort;
 *scan_PQF = *IDZebrac::scan_PQF;
 sub getScanEntry {
@@ -163,6 +163,8 @@ sub getScanEntry {
 *data1_get_tabpath = *IDZebrac::data1_get_tabpath;
 *data1_get_tabroot = *IDZebrac::data1_get_tabroot;
 *grs_perl_readf = *IDZebrac::grs_perl_readf;
+*grs_perl_readline = *IDZebrac::grs_perl_readline;
+*grs_perl_getc = *IDZebrac::grs_perl_getc;
 *grs_perl_seekf = *IDZebrac::grs_perl_seekf;
 *grs_perl_tellf = *IDZebrac::grs_perl_tellf;
 *grs_perl_endf = *IDZebrac::grs_perl_endf;
@@ -332,12 +334,84 @@ sub STORE {
 }
 
 
+############# Class : IDZebra::RetrievalRecordBuf ##############
+
+package IDZebra::RetrievalRecordBuf;
+@ISA = qw( IDZebra );
+%OWNER = ();
+%BLESSEDMEMBERS = (
+);
+
+%ITERATORS = ();
+*swig_buf_get = *IDZebrac::RetrievalRecordBuf_buf_get;
+*swig_buf_set = *IDZebrac::RetrievalRecordBuf_buf_set;
+*swig_len_get = *IDZebrac::RetrievalRecordBuf_len_get;
+*swig_len_set = *IDZebrac::RetrievalRecordBuf_len_set;
+sub new {
+    my $pkg = shift;
+    my @args = @_;
+    my $self = IDZebrac::new_RetrievalRecordBuf(@args);
+    return undef if (!defined($self));
+    $OWNER{$self} = 1;
+    my %retval;
+    tie %retval, "IDZebra::RetrievalRecordBuf", $self;
+    return bless \%retval, $pkg;
+}
+
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        IDZebrac::delete_RetrievalRecordBuf($self);
+        delete $OWNER{$self};
+    }
+}
+
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+    };
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+    };
+
+sub FETCH {
+    my ($self,$field) = @_;
+    my $member_func = "swig_${field}_get";
+    my $val = $self->$member_func();
+    if (exists $BLESSEDMEMBERS{$field}) {
+        return undef if (!defined($val));
+        my %retval;
+        tie %retval,$BLESSEDMEMBERS{$field},$val;
+        return bless \%retval, $BLESSEDMEMBERS{$field};
+    }
+    return $val;
+}
+
+sub STORE {
+    my ($self,$field,$newval) = @_;
+    my $member_func = "swig_${field}_set";
+    if (exists $BLESSEDMEMBERS{$field}) {
+        $self->$member_func(tied(%{$newval}));
+    } else {
+        $self->$member_func($newval);
+    }
+}
+
+
 ############# Class : IDZebra::RetrievalRecord ##############
 
 package IDZebra::RetrievalRecord;
 @ISA = qw( IDZebra );
 %OWNER = ();
 %BLESSEDMEMBERS = (
+    buf => 'IDZebra::RetrievalRecordBuf',
 );
 
 %ITERATORS = ();
@@ -349,6 +423,10 @@ package IDZebra::RetrievalRecord;
 *swig_position_set = *IDZebrac::RetrievalRecord_position_set;
 *swig_base_get = *IDZebrac::RetrievalRecord_base_get;
 *swig_base_set = *IDZebrac::RetrievalRecord_base_set;
+*swig_sysno_get = *IDZebrac::RetrievalRecord_sysno_get;
+*swig_sysno_set = *IDZebrac::RetrievalRecord_sysno_set;
+*swig_score_get = *IDZebrac::RetrievalRecord_score_get;
+*swig_score_set = *IDZebrac::RetrievalRecord_score_set;
 *swig_format_get = *IDZebrac::RetrievalRecord_format_get;
 *swig_format_set = *IDZebrac::RetrievalRecord_format_set;
 *swig_buf_get = *IDZebrac::RetrievalRecord_buf_get;
@@ -411,27 +489,27 @@ sub STORE {
 }
 
 
-############# Class : IDZebra::ScanEntry ##############
+############# Class : IDZebra::scanEntry ##############
 
-package IDZebra::ScanEntry;
+package IDZebra::scanEntry;
 @ISA = qw( IDZebra );
 %OWNER = ();
 %BLESSEDMEMBERS = (
 );
 
 %ITERATORS = ();
-*swig_occurrences_get = *IDZebrac::ScanEntry_occurrences_get;
-*swig_occurrences_set = *IDZebrac::ScanEntry_occurrences_set;
-*swig_term_get = *IDZebrac::ScanEntry_term_get;
-*swig_term_set = *IDZebrac::ScanEntry_term_set;
+*swig_occurrences_get = *IDZebrac::scanEntry_occurrences_get;
+*swig_occurrences_set = *IDZebrac::scanEntry_occurrences_set;
+*swig_term_get = *IDZebrac::scanEntry_term_get;
+*swig_term_set = *IDZebrac::scanEntry_term_set;
 sub new {
     my $pkg = shift;
     my @args = @_;
-    my $self = IDZebrac::new_ScanEntry(@args);
+    my $self = IDZebrac::new_scanEntry(@args);
     return undef if (!defined($self));
     $OWNER{$self} = 1;
     my %retval;
-    tie %retval, "IDZebra::ScanEntry", $self;
+    tie %retval, "IDZebra::scanEntry", $self;
     return bless \%retval, $pkg;
 }
 
@@ -441,7 +519,7 @@ sub DESTROY {
     return unless defined $self;
     delete $ITERATORS{$self};
     if (exists $OWNER{$self}) {
-        IDZebrac::delete_ScanEntry($self);
+        IDZebrac::delete_scanEntry($self);
         delete $OWNER{$self};
     }
 }
@@ -488,7 +566,7 @@ package IDZebra::ScanObj;
 @ISA = qw( IDZebra );
 %OWNER = ();
 %BLESSEDMEMBERS = (
-    entries => 'IDZebra::ScanEntry',
+    entries => 'IDZebra::scanEntry',
 );
 
 %ITERATORS = ();