From: Michael Schroeder Date: Tue, 4 Mar 2014 14:31:37 +0000 (+0100) Subject: bindings: make Dataterator match/flags optional X-Git-Tag: 0.6.4~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7263313294b9e0c8329b3c92720677ecbd9e492e;p=thirdparty%2Flibsolv.git bindings: make Dataterator match/flags optional Also document the solvable.Dataiterator method. --- diff --git a/bindings/solv.i b/bindings/solv.i index 6bc34b1d..afabd01d 100644 --- a/bindings/solv.i +++ b/bindings/solv.i @@ -1255,7 +1255,7 @@ typedef struct { } %newobject Dataiterator; - Dataiterator *Dataiterator(Id p, Id key, const char *match, int flags) { + Dataiterator *Dataiterator(Id p, Id key, const char *match = 0, int flags = 0) { return new_Dataiterator($self, 0, p, key, match, flags); } const char *solvid2str(Id solvid) { @@ -1591,7 +1591,7 @@ rb_eval_string( } %newobject Dataiterator; - Dataiterator *Dataiterator(Id p, Id key, const char *match, int flags) { + Dataiterator *Dataiterator(Id p, Id key, const char *match = 0, int flags = 0) { return new_Dataiterator($self->pool, $self, p, key, match, flags); } @@ -1863,7 +1863,7 @@ rb_eval_string( return r; } %newobject Dataiterator; - Dataiterator *Dataiterator(Id key, const char *match, int flags) { + Dataiterator *Dataiterator(Id key, const char *match = 0, int flags = 0) { Pool *pool = $self->repo->pool; Datapos oldpos = pool->pos; Dataiterator *di; @@ -2262,7 +2262,7 @@ rb_eval_string( return solvable_lookup_location($self->pool->solvables + $self->id, OUTPUT); } %newobject Dataiterator; - Dataiterator *Dataiterator(Id key, const char *match, int flags) { + Dataiterator *Dataiterator(Id key, const char *match = 0, int flags = 0) { return new_Dataiterator($self->pool, 0, $self->id, key, match, flags); } #ifdef SWIGRUBY diff --git a/doc/libsolv-bindings.3 b/doc/libsolv-bindings.3 index 6b456316..402511d4 100644 --- a/doc/libsolv-bindings.3 +++ b/doc/libsolv-bindings.3 @@ -2,12 +2,12 @@ .\" Title: Libsolv-Bindings .\" Author: [see the "Author" section] .\" Generator: DocBook XSL Stylesheets v1.78.0 -.\" Date: 01/21/2014 +.\" Date: 03/04/2014 .\" Manual: LIBSOLV .\" Source: libsolv .\" Language: English .\" -.TH "LIBSOLV\-BINDINGS" "3" "01/21/2014" "libsolv" "LIBSOLV" +.TH "LIBSOLV\-BINDINGS" "3" "03/04/2014" "libsolv" "LIBSOLV" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -1003,7 +1003,7 @@ Lookup functions\&. Return the data element stored in the specified solvable\&. .RS 4 .\} .nf -\fBDataiterator Dataiterator(Id\fR \fIsolvid\fR\fB, Id\fR \fIkeyname\fR\fB, const char *\fR\fImatch\fR\fB, int\fR \fIflags\fR\fB)\fR +\fBDataiterator Dataiterator(Id\fR \fIsolvid\fR\fB, Id\fR \fIkeyname\fR\fB, const char *\fR\fImatch\fR \fB= 0, int\fR \fIflags\fR \fB= 0)\fR my \fI$di\fR \fB=\fR \fI$pool\fR\fB\->Dataiterator(\fR\fI$solvid\fR\fB,\fR \fI$keyname\fR\fB,\fR \fI$match\fR\fB,\fR \fI$flags\fR\fB)\fR; \fIdi\fR \fB=\fR \fIpool\fR\fB\&.Dataiterator(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR \fIdi\fR \fB=\fR \fIpool\fR\fB\&.Dataiterator(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR @@ -1626,7 +1626,7 @@ Create a Selection consisting of all packages in the repository\&. .RS 4 .\} .nf -\fBDataiterator Dataiterator(Id\fR \fIp\fR\fB, Id\fR \fIkey\fR\fB, const char *\fR\fImatch\fR\fB, int\fR \fIflags\fR\fB)\fR +\fBDataiterator Dataiterator(Id\fR \fIp\fR\fB, Id\fR \fIkey\fR\fB, const char *\fR\fImatch\fR \fB= 0, int\fR \fIflags\fR \fB= 0)\fR my \fI$di\fR \fB=\fR \fI$repo\fR\fB\->Dataiterator(\fR\fI$solvid\fR\fB,\fR \fI$keyname\fR\fB,\fR \fI$match\fR\fB,\fR \fI$flags\fR\fB)\fR; \fIdi\fR \fB=\fR \fIrepo\fR\fB\&.Dataiterator(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR \fIdi\fR \fB=\fR \fIrepo\fR\fB\&.Dataiterator(\fR\fIsolvid\fR\fB,\fR \fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR @@ -2276,6 +2276,33 @@ Return a tuple containing the on\-media location and an optional media number fo .RS 4 .\} .nf +\fBDataiterator Dataiterator(Id\fR \fIkeyname\fR\fB, const char *\fR\fImatch\fR \fB= 0, int\fR \fIflags\fR \fB= 0)\fR +my \fI$di\fR \fB=\fR \fI$solvable\fR\fB\->Dataiterator(\fR\fI$keyname\fR\fB,\fR \fI$match\fR\fB,\fR \fI$flags\fR\fB)\fR; +\fIdi\fR \fB=\fR \fIsolvable\fR\fB\&.Dataiterator(\fR\fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR +\fIdi\fR \fB=\fR \fIsolvable\fR\fB\&.Dataiterator(\fR\fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fBfor my\fR \fI$d\fR \fB(\fR\fI@$di\fR\fB)\fR +\fBfor\fR \fId\fR \fBin\fR \fIdi\fR\fB:\fR +\fBfor\fR \fId\fR \fBin\fR \fIdi\fR +.fi +.if n \{\ +.RE +.\} +.sp +Iterate over the matching data elements\&. See the Dataiterator class for more information\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf \fBvoid add_deparray(Id\fR \fIkeyname\fR\fB, DepId\fR \fIdep\fR\fB, Id\fR \fImarker\fR \fB= \-1)\fR; \fI$solvable\fR\fB\->add_deparray(\fR\fI$keyname\fR\fB,\fR \fI$dep\fR\fB)\fR; \fIsolvable\fR\fB\&.add_deparray(\fR\fIkeyname\fR\fB,\fR \fIdep\fR\fB)\fR @@ -5413,6 +5440,33 @@ my \fI$chksum\fR \fB=\fR \fI$datapos\fR\fB\->lookup_checksum(\fR\fI$keyname\fR\f .\} .sp Lookup functions\&. Note that the returned Ids are always translated into the Ids of the global pool even if the repodata area contains its own pool\&. +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fBDataiterator Dataiterator(Id\fR \fIkeyname\fR\fB, const char *\fR\fImatch\fR \fB= 0, int\fR \fIflags\fR \fB= 0)\fR +my \fI$di\fR \fB=\fR \fI$datapos\fR\fB\->Dataiterator(\fR\fI$keyname\fR\fB,\fR \fI$match\fR\fB,\fR \fI$flags\fR\fB)\fR; +\fIdi\fR \fB=\fR \fIdatapos\fR\fB\&.Dataiterator(\fR\fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR +\fIdi\fR \fB=\fR \fIdatapos\fR\fB\&.Dataiterator(\fR\fIkeyname\fR\fB,\fR \fImatch\fR\fB,\fR \fIflags\fR\fB)\fR +.fi +.if n \{\ +.RE +.\} +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fBfor my\fR \fI$d\fR \fB(\fR\fI@$di\fR\fB)\fR +\fBfor\fR \fId\fR \fBin\fR \fIdi\fR\fB:\fR +\fBfor\fR \fId\fR \fBin\fR \fIdi\fR +.fi +.if n \{\ +.RE +.\} +.sp +Iterate over the matching data elements\&. See the Dataiterator class for more information\&. .SH "AUTHOR" .sp Michael Schroeder diff --git a/doc/libsolv-bindings.txt b/doc/libsolv-bindings.txt index 040b5309..eed9698f 100644 --- a/doc/libsolv-bindings.txt +++ b/doc/libsolv-bindings.txt @@ -566,7 +566,7 @@ desired solvable by Id. Lookup functions. Return the data element stored in the specified solvable. You should probably use the methods of the Solvable class instead. - Dataiterator Dataiterator(Id solvid, Id keyname, const char *match, int flags) + Dataiterator Dataiterator(Id solvid, Id keyname, const char *match = 0, int flags = 0) my $di = $pool->Dataiterator($solvid, $keyname, $match, $flags); di = pool.Dataiterator(solvid, keyname, match, flags) di = pool.Dataiterator(solvid, keyname, match, flags) @@ -935,7 +935,7 @@ areas. Create a Selection consisting of all packages in the repository. - Dataiterator Dataiterator(Id p, Id key, const char *match, int flags) + Dataiterator Dataiterator(Id p, Id key, const char *match = 0, int flags = 0) my $di = $repo->Dataiterator($solvid, $keyname, $match, $flags); di = repo.Dataiterator(solvid, keyname, match, flags) di = repo.Dataiterator(solvid, keyname, match, flags) @@ -1277,6 +1277,18 @@ Return a tuple containing the on-media location and an optional media number for multi-part repositories (e.g. repositories spawning multiple DVDs). + Dataiterator Dataiterator(Id keyname, const char *match = 0, int flags = 0) + my $di = $solvable->Dataiterator($keyname, $match, $flags); + di = solvable.Dataiterator(keyname, match, flags) + di = solvable.Dataiterator(keyname, match, flags) + + for my $d (@$di) + for d in di: + for d in di + +Iterate over the matching data elements. See the Dataiterator class for more +information. + void add_deparray(Id keyname, DepId dep, Id marker = -1); $solvable->add_deparray($keyname, $dep); solvable.add_deparray(keyname, dep) @@ -3313,6 +3325,18 @@ Return the delta rpm sequence from the structure describing a delta rpm. Lookup functions. Note that the returned Ids are always translated into the Ids of the global pool even if the repodata area contains its own pool. + Dataiterator Dataiterator(Id keyname, const char *match = 0, int flags = 0) + my $di = $datapos->Dataiterator($keyname, $match, $flags); + di = datapos.Dataiterator(keyname, match, flags) + di = datapos.Dataiterator(keyname, match, flags) + + for my $d (@$di) + for d in di: + for d in di + +Iterate over the matching data elements. See the Dataiterator class for more +information. + Author ------ Michael Schroeder