Author: aschnell Date: Wed Jul 18 12:36:09 2007 New Revision: 6057 URL: http://svn.opensuse.org/viewcvs/zypp?rev=6057&view=rev Log: - added workaround for outputting resolvable kind Modified: trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb trunk/libzypp-bindings/swig/Kind.i 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=6057&r1=6056&r2=6057&view=diff ============================================================================== --- trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb (original) +++ trunk/libzypp-bindings/examples/ruby/list_target_resolvables.rb Wed Jul 18 12:36:09 2007 @@ -13,7 +13,7 @@ r.each do | p | # puts p.class - puts "#{p.name} #{p.edition.as_string} #{p.arch.as_string}" + puts "#{p.kind_as_string} #{p.name} #{p.edition.as_string} #{p.arch.as_string}" puts " #{p.summary}" end Modified: trunk/libzypp-bindings/swig/Kind.i URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp-bindings/swig/Kind.i?rev=6057&r1=6056&r2=6057&view=diff ============================================================================== --- trunk/libzypp-bindings/swig/Kind.i (original) +++ trunk/libzypp-bindings/swig/Kind.i Wed Jul 18 12:36:09 2007 @@ -1,12 +1,12 @@ %typemap(in) Resolvable::Kind { - + VALUE kindstring = rb_funcall( $input, rb_intern("to_s"), 0, 0); kindstring = rb_funcall( kindstring, rb_intern("downcase"), 0, 0); std::string s(RSTRING(pathstring)->ptr); - + // FIXME make the string lowercase first - + if ( s == "patch" ) { $1 == Patch::Kind; @@ -37,4 +37,29 @@ %typemap(out) Kind { const char *s = $1.asString().c_str(); $result = ID2SYM(rb_intern(s)); -} \ No newline at end of file +} + +%extend Resolvable::TraitsType::KindType { + const char* asString() { + return "unknown"; + } +} + +// this is just a workaround since the whole code above does not work +%extend Resolvable { + const char* kindAsString() + { + if (isKind<Package>(self)) + return "package"; + else if (isKind<Patch>(self)) + return "patch"; + else if (isKind<Product>(self)) + return "product"; + else if (isKind<Pattern>(self)) + return "pattern"; + else if (isKind<Language>(self)) + return "language"; + return "unknown"; + } +} + -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org