Author: aschnell
Date: Wed Jul 25 15:56:27 2007
New Revision: 6207
URL: http://svn.opensuse.org/viewcvs/zypp?rev=6207&view=rev
Log:
- some work on capabilities
Added:
trunk/libzypp-bindings/swig/CapSet.i
Modified:
trunk/libzypp-bindings/examples/python/list_target_resolvables.py
trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb
trunk/libzypp-bindings/swig/Dependencies.i
trunk/libzypp-bindings/swig/Resolvable.i
trunk/libzypp-bindings/swig/python/python.i
trunk/libzypp-bindings/swig/ruby/ruby.i
trunk/libzypp-bindings/swig/zypp.i
Modified: trunk/libzypp-bindings/examples/python/list_target_resolvables.py
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/examples/python/list_target_resolvables.py?rev=6207&r1=6206&r2=6207&view=diff
==============================================================================
--- trunk/libzypp-bindings/examples/python/list_target_resolvables.py (original)
+++ trunk/libzypp-bindings/examples/python/list_target_resolvables.py Wed Jul 25 15:56:27 2007
@@ -1,11 +1,25 @@
-from zypp import ZYppFactory
+from zypp import ZYppFactory, Dep
z = ZYppFactory.instance().getZYpp()
+print z
-z.initializeTarget ("/")
+z.initializeTarget("/")
r = z.target().resolvables()
+print r
# TODO: display resolvables
+p = r.haha()
+print p
+print p.name()
+print p.summary()
+
+d = p.dep(Dep.PROVIDES)
+print d
+
+x = d.haha()
+print x
+print x.asString()
+
Modified: trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb?rev=6207&r1=6206&r2=6207&view=diff
==============================================================================
--- trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb (original)
+++ trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb Wed Jul 25 15:56:27 2007
@@ -12,11 +12,22 @@
# puts r.class
r.each do | p |
+
# puts p.class
puts "#{p.kind_to_s} #{p.name} #{p.edition.to_s} #{p.arch.to_s}"
- puts " #{p.summary}"
- puts " #{p.size}"
- puts " #{p.vendor}"
- puts " #{p.buildtime}"
+ puts " Summary: #{p.summary}"
+ puts " Size: #{p.size}"
+ puts " Vendor: #{p.vendor}"
+ puts " Buildtime: #{p.buildtime}"
+
+ d = p.dep(Dep.PROVIDES)
+ # puts d.class
+ d.each do | x |
+ # puts x.class
+ puts " Provides: #{x.to_s}"
+ end
+
+ puts
+
end
Added: trunk/libzypp-bindings/swig/CapSet.i
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/swig/CapSet.i?rev=6207&view=auto
==============================================================================
--- trunk/libzypp-bindings/swig/CapSet.i (added)
+++ trunk/libzypp-bindings/swig/CapSet.i Wed Jul 25 15:56:27 2007
@@ -0,0 +1,13 @@
+
+class CapSet
+{
+
+};
+
+// The ruby std_set.i can only handle one template parameter
+
+// #ifdef SWIGPYTHON
+// %template(CapSetTemp) std::set;
+// typedef std::set CapSetTemp;
+// #endif
+
Modified: trunk/libzypp-bindings/swig/Dependencies.i
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/swig/Dependencies.i?rev=6207&r1=6206&r2=6207&view=diff
==============================================================================
--- trunk/libzypp-bindings/swig/Dependencies.i (original)
+++ trunk/libzypp-bindings/swig/Dependencies.i Wed Jul 25 15:56:27 2007
@@ -2,13 +2,11 @@
%ignore Dependencies::operator[];
struct Dependencies
- {
+{
CapSet & operator[]( Dep idx_r )
{ return _capsets[idx_r]; }
const CapSet & operator[]( Dep idx_r ) const
{ return const_cast&>(_capsets)[idx_r]; }
+};
- private:
- std::map _capsets;
- };
\ No newline at end of file
Modified: trunk/libzypp-bindings/swig/Resolvable.i
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/swig/Resolvable.i?rev=6207&r1=6206&r2=6207&view=diff
==============================================================================
--- trunk/libzypp-bindings/swig/Resolvable.i (original)
+++ trunk/libzypp-bindings/swig/Resolvable.i Wed Jul 25 15:56:27 2007
@@ -13,10 +13,8 @@
const Edition & edition() const;
const Arch & arch() const;
- //const CapSet & dep( Dep which_r ) const;
- //const Dependencies & deps() const;
- //void injectProvides( const Capability & cap_r );
- //void injectRequires( const Capability & cap_r );
+ const CapSet & dep( Dep which_r ) const;
+ const Dependencies & deps() const;
protected:
Resolvable( const Kind & kind_r,
Modified: trunk/libzypp-bindings/swig/python/python.i
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/swig/python/python.i?rev=6207&r1=6206&r2=6207&view=diff
==============================================================================
--- trunk/libzypp-bindings/swig/python/python.i (original)
+++ trunk/libzypp-bindings/swig/python/python.i Wed Jul 25 15:56:27 2007
@@ -11,3 +11,27 @@
};
%enddef
+
+%extend ResStore
+{
+ // just a test
+ const ResObject* haha()
+ {
+ ResStore::iterator i = self->begin();
+ const ResObject* tmp = &**i;
+ return tmp;
+ }
+}
+
+
+%extend CapSet
+{
+ // just a test
+ const Capability* haha()
+ {
+ CapSet::iterator i = self->begin();
+ const Capability* tmp = &*i;
+ return tmp;
+ }
+}
+
Modified: trunk/libzypp-bindings/swig/ruby/ruby.i
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/swig/ruby/ruby.i?rev=6207&r1=6206&r2=6207&view=diff
==============================================================================
--- trunk/libzypp-bindings/swig/ruby/ruby.i (original)
+++ trunk/libzypp-bindings/swig/ruby/ruby.i Wed Jul 25 15:56:27 2007
@@ -39,6 +39,22 @@
} \
}
+/*
+ * Like iter2, but does only one dereferencing from the iterator.
+ */
+#define iter3( cls, storetype ) \
+%mixin cls "Enumerable"; \
+%extend cls { \
+ void each() { \
+ cls::iterator i = self->begin(); \
+ while ( i != self->end() ) { \
+ const storetype tmp = &*i; \
+ rb_yield( SWIG_NewPointerObj( (void*) tmp, $descriptor(storetype), 0)); \
+ ++i; \
+ } \
+ } \
+}
+
// %mixin ResStore "Enumerable";
// %extend ResStore {
Modified: trunk/libzypp-bindings/swig/zypp.i
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/swig/zypp.i?rev=6207&r1=6206&r2=6207&view=diff
==============================================================================
--- trunk/libzypp-bindings/swig/zypp.i (original)
+++ trunk/libzypp-bindings/swig/zypp.i Wed Jul 25 15:56:27 2007
@@ -78,6 +78,10 @@
%include "Edition.i"
%include "Kind.i"
%include "Date.i"
+%include "Capability.i"
+%include "CapSet.i"
+%include "Dependencies.i"
+%include "Dep.i"
%include "Resolvable.i"
%include "ByteCount.i"
%include "RepoType.i"
@@ -88,8 +92,6 @@
%include "ResObject.i"
%include "TranslatedText.i"
%include "CheckSum.i"
-%include "Dependencies.i"
-%include "Capability.i"
%include "CapMatch.i"
%include "CapFactory.i"
%include "NVR.i"
@@ -99,7 +101,6 @@
%include "KeyRing.i"
%include "Target.i"
%include "ResStatus.i"
-%include "Dep.i"
%include "PoolItem.i"
%include "ResPool.i"
%include "ZYppCommitPolicy.i"
@@ -113,6 +114,7 @@
/* define iterators using swig macros */
iter2( ResStore, ResObject* )
+iter3( CapSet, Capability* )
auto_iterator( std::list<RepoInfo>, RepoInfo )
#endif
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org