Mailinglist Archive: opensuse-commit (2092 mails)

< Previous Next >
commit libzypp-bindings
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Fri, 03 Aug 2007 17:02:27 +0200
  • Message-id: <20070803150228.0309A678331@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package libzypp-bindings
checked in at Fri Aug 3 17:02:27 CEST 2007.

--------
--- libzypp-bindings/libzypp-bindings.changes   2007-07-24 12:06:56.000000000 +0200
+++ /mounts/work_src_done/STABLE/libzypp-bindings/libzypp-bindings.changes      2007-07-31 18:06:55.137540000 +0200
@@ -1,0 +2,6 @@
+Tue Jul 31 17:53:52 CEST 2007 - aschnell@xxxxxxx
+
+- improved bindings for various classes
+- adoptions to libzypp changes
+
+-------------------------------------------------------------------

Old:
----
  libzypp-bindings-0.4.0.tar.bz2

New:
----
  libzypp-bindings-0.4.1.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libzypp-bindings.spec ++++++
--- /var/tmp/diff_new_pack.K12521/_old  2007-08-03 17:02:19.000000000 +0200
+++ /var/tmp/diff_new_pack.K12521/_new  2007-08-03 17:02:19.000000000 +0200
@@ -1,5 +1,5 @@
 #
-# spec file for package libzypp-bindings (Version 0.4.0)
+# spec file for package libzypp-bindings (Version 0.4.1)
 #
 # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
 # This file and all modifications and additions to the pristine
@@ -10,7 +10,7 @@
 
 
 Name:           libzypp-bindings
-Version:        0.4.0
+Version:        0.4.1
 Release:        1
 License:        GPL v2 or later
 Summary:        Bindings for libzypp
@@ -96,6 +96,9 @@
 %{_libdir}/python2.5/site-packages/zypp.py
 
 %changelog
+* Tue Jul 31 2007 - aschnell@xxxxxxx
+- improved bindings for various classes
+- adoptions to libzypp changes
 * Tue Jul 24 2007 - aschnell@xxxxxxx
 - added Python bindings
 * Thu Jul 19 2007 - aschnell@xxxxxxx

++++++ libzypp-bindings-0.4.0.tar.bz2 -> libzypp-bindings-0.4.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/examples/python/list_target_resolvables.py new/libzypp-bindings-0.4.1/examples/python/list_target_resolvables.py
--- old/libzypp-bindings-0.4.0/examples/python/list_target_resolvables.py       2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/examples/python/list_target_resolvables.py       2007-07-31 21:10:25.000000000 +0200
@@ -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()
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/examples/ruby/list_target_resolvables.rb new/libzypp-bindings-0.4.1/examples/ruby/list_target_resolvables.rb
--- old/libzypp-bindings-0.4.0/examples/ruby/list_target_resolvables.rb 2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/examples/ruby/list_target_resolvables.rb 2007-07-31 21:10:25.000000000 +0200
@@ -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
 
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/examples/ruby/parse1.rb new/libzypp-bindings-0.4.1/examples/ruby/parse1.rb
--- old/libzypp-bindings-0.4.0/examples/ruby/parse1.rb  1970-01-01 01:00:00.000000000 +0100
+++ new/libzypp-bindings-0.4.1/examples/ruby/parse1.rb  2007-07-31 21:10:25.000000000 +0200
@@ -0,0 +1,63 @@
+
+require 'rzypp'
+include Rzypp
+
+tmp_cache_path = TmpDir.new()
+tmp_raw_cache_path = TmpDir.new()
+tmp_known_repos_path = TmpDir.new()
+
+opts = RepoManagerOptions.new()
+opts.repoCachePath = tmp_cache_path.path()
+opts.repoRawCachePath = tmp_raw_cache_path.path()
+opts.knownReposPath = tmp_known_repos_path.path()
+
+repo_manager = RepoManager.new(opts)
+
+repo_info = RepoInfo.new()
+
+repo_info.set_alias("factorytest")
+repo_info.set_name("Test Repo for Factory.")
+repo_info.set_enabled(true)
+repo_info.set_autorefresh(false)
+repo_info.add_base_url("ftp://dist.suse.de/install/stable-x86/";)
+# repo_info.add_base_url("http://software.opensuse.org/download/home:/Arvin42/openSUSE_Factory/";)
+# repo_info.add_base_url("file:///ARVIN/zypp/trunk/repotools/")
+
+repo_manager.add_repository(repo_info)
+
+z = ZYppFactory::instance.get_zypp
+pool = z.pool()
+
+repos = repo_manager.known_repositories()
+repos.each do | repo |
+    repo_manager.refresh_metadata(repo)
+    repo_manager.build_cache(repo)
+    rep = repo_manager.create_from_cache(repo)
+    store = rep.resolvables()
+    z.add_resolvables(store)
+end
+
+# puts pool.class
+
+pool.each do | p |
+
+    # puts p.class
+    r = p.resolvable
+    # puts r.class
+    puts "#{r.kind_to_s} #{r.name} #{r.edition.to_s} #{r.arch.to_s}"
+    puts "  Summary: #{r.summary}"
+    puts "  Size: #{r.size}"
+    puts "  Vendor: #{r.vendor}"
+    puts "  Buildtime: #{r.buildtime}"
+
+    d = r.dep(Dep.PROVIDES)
+    # puts d.class
+    d.each do | x |
+       # puts y.class
+       puts "  Provides: #{x.to_s}"
+    end
+
+    puts
+
+end
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/Capability.i new/libzypp-bindings-0.4.1/swig/Capability.i
--- old/libzypp-bindings-0.4.0/swig/Capability.i        2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/Capability.i        2007-07-31 21:10:25.000000000 +0200
@@ -1,6 +1,10 @@
 
+#ifdef SWIGRUBY
+%alias Capability::asString "to_s";
+#endif
+
 class Capability
-  {
+{
   public:
     /** */
     typedef capability::CapabilityTraits::KindType  Kind;
@@ -44,7 +48,7 @@
     /** accessors needed by solver/zmd  */
     /** Deprecated */
     std::string index() const;
-   
+
   private:
     typedef capability::CapabilityImpl          Impl;
     typedef capability::CapabilityImpl_Ptr      Impl_Ptr ;
@@ -62,18 +66,17 @@
     friend class capability::CapabilityImpl;
     /** Pointer to implementation */
     RW_pointer<Impl,rw_pointer::Intrusive<Impl> > _pimpl;
-  };
-  ///////////////////////////////////////////////////////////////////
+};
+
+template<class _Cap>
+inline bool isKind( const Capability & cap )
+{ return cap.kind() == capability::CapTraits<_Cap>::kind; }
 
-  template<class _Cap>
-    inline bool isKind( const Capability & cap )
-    { return cap.kind() == capability::CapTraits<_Cap>::kind; }
-
-  ///////////////////////////////////////////////////////////////////
-
-  /** Ordering relation used by ::CapSet. */
-  struct CapOrder : public std::binary_function<Capability, Capability, bool>
-  {
+
+/** Ordering relation used by ::CapSet. */
+struct CapOrder : public std::binary_function<Capability, Capability, bool>
+{
     bool operator()( const Capability & lhs, const Capability & rhs ) const
     { return lhs._pimpl.get() < rhs._pimpl.get(); }
-  };
\ No newline at end of file
+};
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/CapFactory.i new/libzypp-bindings-0.4.1/swig/CapFactory.i
--- old/libzypp-bindings-0.4.0/swig/CapFactory.i        2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/CapFactory.i        2007-07-31 21:10:25.000000000 +0200
@@ -1,7 +1,6 @@
 
 class CapFactory
-  {
-    friend std::ostream & operator<<( std::ostream & str, const CapFactory & obj );
+{
 
   public:
     /** Default ctor */
@@ -54,4 +53,4 @@
     struct Impl;
     /** Pointer to implementation */
     RW_pointer<Impl> _pimpl;
-  };
\ No newline at end of file
+};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/CapMatch.i new/libzypp-bindings-0.4.1/swig/CapMatch.i
--- old/libzypp-bindings-0.4.0/swig/CapMatch.i  2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/CapMatch.i  2007-07-31 21:10:25.000000000 +0200
@@ -1,6 +1,6 @@
 
 class CapMatch
-  {
+{
     enum Result { NOMATCH, MATCH, IRRELEVANT };
 
   public:
@@ -13,45 +13,11 @@
     static const CapMatch no;
     static const CapMatch irrelevant;
 
-    friend bool operator==( const CapMatch & lhs, const CapMatch & rhs )
-    { return lhs._result == rhs._result; }
-
-    friend bool operator!=( const CapMatch & lhs, const CapMatch & rhs )
-    { return lhs._result != rhs._result; }
-
-    friend CapMatch operator!( const CapMatch & lhs )
-    {
-      if ( lhs._result == CapMatch::IRRELEVANT )
-        return lhs;
-      return !(lhs._result == CapMatch::MATCH);
-    }
-
-    friend CapMatch operator&&( const CapMatch & lhs, const CapMatch & rhs )
-    {
-      if ( lhs._result == CapMatch::IRRELEVANT )
-        return rhs;
-      if ( rhs._result == CapMatch::IRRELEVANT )
-        return lhs;
-      return    (lhs._result == CapMatch::MATCH)
-             && (rhs._result == CapMatch::MATCH);
-    }
-
-    friend CapMatch operator||( const CapMatch & lhs, const CapMatch & rhs )
-    {
-      if ( lhs._result == CapMatch::IRRELEVANT )
-        return rhs;
-      if ( rhs._result == CapMatch::IRRELEVANT )
-        return lhs;
-      return    (lhs._result == CapMatch::MATCH)
-             || (rhs._result == CapMatch::MATCH);
-    }
-
-    friend std::ostream & operator<<( std::ostream & str, const CapMatch & obj );
-
   private:
     CapMatch()
     : _result( IRRELEVANT )
     {}
 
     Result _result;
-  };
\ No newline at end of file
+};
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/CapSet.i new/libzypp-bindings-0.4.1/swig/CapSet.i
--- old/libzypp-bindings-0.4.0/swig/CapSet.i    1970-01-01 01:00:00.000000000 +0100
+++ new/libzypp-bindings-0.4.1/swig/CapSet.i    2007-07-31 21:10:25.000000000 +0200
@@ -0,0 +1,33 @@
+
+
+// I don't think this is correct: ctor and dtor are not taken into account
+class CapSet
+{
+
+};
+
+
+#ifdef SWIGRUBY
+iter3(CapSet, Capability*);
+#endif
+
+
+// The ruby std_set.i can only handle one template parameter
+
+// #ifdef SWIGPYTHON
+// %template(CapSetTemp) std::set<Capability, CapOrder>;
+// typedef std::set<Capability,CapOrder> CapSetTemp;
+// #endif
+
+#ifdef SWIGPYTHON
+%extend CapSet
+{
+    // just a test
+    const Capability* haha()
+    {
+       CapSet::iterator i = self->begin();
+       const Capability* tmp = &*i;
+       return tmp;
+    }
+}
+#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/Dependencies.i new/libzypp-bindings-0.4.1/swig/Dependencies.i
--- old/libzypp-bindings-0.4.0/swig/Dependencies.i      2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/Dependencies.i      2007-07-31 21:10:25.000000000 +0200
@@ -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<std::map<Dep,CapSet>&>(_capsets)[idx_r]; }
+};
 
-  private:
-    std::map<Dep,CapSet> _capsets;
-  };
\ No newline at end of file
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/MediaSetAccess.i new/libzypp-bindings-0.4.1/swig/MediaSetAccess.i
--- old/libzypp-bindings-0.4.0/swig/MediaSetAccess.i    2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/MediaSetAccess.i    2007-07-31 21:10:25.000000000 +0200
@@ -1,19 +1,16 @@
 
 class MediaSetAccess
 {
-      friend std::ostream & operator<<( std::ostream & str, const MediaSetAccess & obj );
 
-    public:
-      /**
-       * creates a callback enabled media access  for \param url and \param path.
-       * with only 1 media no verified
-       */
-      MediaSetAccess( const Url &url, const Pathname &path );
-      ~MediaSetAccess();
-
-      /**
-       * Sets a verifier for given media number
-       */
-      void setVerifier( unsigned media_nr, media::MediaVerifierRef verifier );
-      Pathname provideFile(const Pathname & file, unsigned media_nr );
-    };
\ No newline at end of file
+public:
+
+    MediaSetAccess( const Url &url, const Pathname &path );
+
+    ~MediaSetAccess();
+
+    void setVerifier( unsigned media_nr, media::MediaVerifierRef verifier );
+
+    Pathname provideFile(const Pathname & file, unsigned media_nr );
+
+};
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/Pathname.i new/libzypp-bindings-0.4.1/swig/Pathname.i
--- old/libzypp-bindings-0.4.0/swig/Pathname.i  2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/Pathname.i  2007-07-31 21:10:25.000000000 +0200
@@ -1,21 +1,37 @@
 
+class Pathname
+{
+public:
+
+    Pathname();
+
+    Pathname(const std::string&);
+
+    Pathname(const char*);
+
+};
+
+
 #ifdef SWIGRUBY
 
-%typemap(in) const Pathname & {
-  VALUE pathstring = rb_funcall( $input, rb_intern("to_s"), 0, 0);
-  Pathname *p = new Pathname( (RSTRING(pathstring)->ptr) );
-  $1 = p;
+// Something like 'opts.repoCachePath = tmp_cache_path.path()' causes out and
+// in transformation. Can that be avoided?
+
+%typemap(in) const Pathname&, Pathname* {
+    VALUE pathstring = rb_funcall( $input, rb_intern("to_s"), 0, 0);
+    Pathname *p = new Pathname( (RSTRING(pathstring)->ptr) );
+    $1 = p;
 }
 
-%typemap(freearg) const Pathname & {
- delete $1;
+%typemap(freearg) const Pathname&, Pathname* {
+    delete $1;
 }
 
 %typemap(out) Pathname {
-  rb_require("pathname");
-  VALUE klass = rb_const_get( rb_cObject, rb_intern("Pathname"));
-  VALUE rbpathstr = rb_str_new2($1.asString().c_str());
-  $result = rb_funcall( klass, rb_intern("new"), 1, rbpathstr);
+    rb_require("pathname");
+    VALUE klass = rb_const_get( rb_cObject, rb_intern("Pathname"));
+    VALUE rbpathstr = rb_str_new2($1.asString().c_str());
+    $result = rb_funcall( klass, rb_intern("new"), 1, rbpathstr);
 }
 
 #endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/PoolItem.i new/libzypp-bindings-0.4.1/swig/PoolItem.i
--- old/libzypp-bindings-0.4.0/swig/PoolItem.i  2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/PoolItem.i  2007-07-31 21:10:25.000000000 +0200
@@ -1,7 +1,6 @@
 
 class PoolItem_Ref
-  {
-    friend std::ostream & operator<<( std::ostream & str, const PoolItem_Ref & obj );
+{
 
   public:
     /** Implementation  */
@@ -31,24 +30,15 @@
     /** Returns the ResObject::constPtr.
      * \see \ref operator->
     */
-    ResObject::constPtr resolvable() const;
+    // ResObject::constPtr resolvable() const;
+    intrusive_ptr<const ResObject> resolvable() const;
 
   public:
-    /** Implicit conversion into ResObject::constPtr to
-     *  support query filters operating on ResObject.
-    */
-    operator ResObject::constPtr() const
-    { return resolvable(); }
 
     /** Forward \c -> access to ResObject. */
     ResObject::constPtr operator->() const
     { return resolvable(); }
 
-    /** Conversion to bool to allow pointer style tests
-     *  for nonNULL \ref resolvable. */
-    operator ResObject::constPtr::unspecified_bool_type() const
-    { return resolvable(); }
-
   private:
     /** Pointer to implementation */
     RW_pointer<Impl> _pimpl;
@@ -62,7 +52,7 @@
     void restoreState() const;
     bool sameState() const;
     //@}
-  };
-  ///////////////////////////////////////////////////////////////////
+};
+
+typedef PoolItem_Ref PoolItem;
 
-  typedef PoolItem_Ref PoolItem;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/RepoInfo.i new/libzypp-bindings-0.4.1/swig/RepoInfo.i
--- old/libzypp-bindings-0.4.0/swig/RepoInfo.i  2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/RepoInfo.i  2007-07-31 21:10:25.000000000 +0200
@@ -1,14 +1,12 @@
 
 %template(UrlSet) std::set<Url>;

+
 class RepoInfo
-  {
-    friend std::ostream & operator<<( std::ostream & str, const RepoInfo & obj );
-    
-    public:
+{
+public:
     RepoInfo();
     ~RepoInfo();
-    
+
     /**
      * unique identifier for this source. If not specified
      * It should be generated from the base url.
@@ -17,52 +15,45 @@
      * ( [somerepo] )
      */
     std::string alias() const;
-    
-    /**
-     * A Url under which the metadata are located, or a set of mirrors.
-     *
-     * This can't be empty in order the repository to be valid
-     * unless the download of the mirror list succeeds and it
-     * contains a valid url.
-     */
-    std::set<Url> baseUrls() const;
 
     /**
      * Url of a file which contains a list of Urls
      * If empty, the base url will be used.
      */
     Url mirrorListUrl() const;
-    
-    typedef std::set<Url>::const_iterator urls_const_iterator;
-    
+
+    typedef std::set<Url> url_set;
+    typedef url_set::size_type urls_size_type;
+    typedef transform_iterator<repo::RepoVariablesUrlReplacer, url_set::const_iterator> urls_const_iterator;
+
     /**
      * iterator that points at begin of repository urls
      */
     urls_const_iterator baseUrlsBegin() const;
-    
+
     /**
      * iterator that points at end of repository urls
      */
     urls_const_iterator baseUrlsEnd() const;
-    
+
     /**
      * If enabled is false, then this repository must be ignored as if does
      * not exists, except when checking for duplicate alias.
      */
-    boost::tribool enabled() const;
-    
+    bool enabled() const;
+
     /**
      * If true, the repostory must be refreshed before creating resolvables
      * from it
      */
-    boost::tribool autorefresh() const;
-    
+    bool autorefresh() const;
+
     /**
      * Type of repository,
-     * 
+     *
      */
     repo::RepoType type() const;
-    
+
     /**
      * \short Repository short label
      *
@@ -79,7 +70,7 @@
      * infos created in memory.
      */
      Pathname filepath() const;
-    
+
     /**
      * Add a base url. \see baseUrls
      * \param url The base url for the repository.
@@ -87,37 +78,37 @@
      * To edit or remove urls, create a new RepoInfo instead.
      */
     RepoInfo & addBaseUrl( const Url &url );
-    
+
     /**
      * Set mirror list url. \see mirrorListUrl
      * \param url The base url for the list
      */
     RepoInfo & setMirrorListUrl( const Url &url );
-    
+
     /**
      * enable or disable the repository \see enabled
      * \param enabled
      */
-    RepoInfo & setEnabled( boost::tribool enabled );
-    
+    RepoInfo & setEnabled( bool enabled );
+
     /**
      * enable or disable autorefresh \see autorefresh
      * \param enabled
      */
-    RepoInfo & setAutorefresh( boost::tribool autorefresh );
-    
+    RepoInfo & setAutorefresh( bool autorefresh );
+
     /**
      * set the repository alias \see alias
      * \param alias
      */
     RepoInfo & setAlias( const std::string &alias );
-    
+
     /**
      * set the repository type \see type
      * \param t
      */
     RepoInfo & setType( const repo::RepoType &t );
-    
+
     /**
      * set the repository name \see name
      * \param name
@@ -129,16 +120,20 @@
      * \param path File path
      */
     RepoInfo & setFilepath( const Pathname &filename );
-    
+
     std::ostream & dumpOn( std::ostream & str ) const;
-    
+
     std::ostream & dumpRepoOn( std::ostream & str ) const;
 
     class Impl;
   private:
     /** Pointer to implementation */
     RWCOW_pointer<Impl> _pimpl;
-  };
-  typedef std::list<RepoInfo> RepoInfoList;
-   %template(RepoInfoList) std::list<RepoInfo>;
+};
+
+typedef std::list<RepoInfo> RepoInfoList;
+%template(RepoInfoList) std::list<RepoInfo>;
 
+#ifdef SWIGRUBY
+auto_iterator(std::list<RepoInfo>, RepoInfo);
+#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/Repository.i new/libzypp-bindings-0.4.1/swig/Repository.i
--- old/libzypp-bindings-0.4.0/swig/Repository.i        2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/Repository.i        2007-07-31 21:10:25.000000000 +0200
@@ -1,13 +1,13 @@
 
 class Repository : private base::SafeBool<Repository>
 {
-  public:
+public:
     Repository();
     static const Repository noRepository;
-  public:
+
     typedef unsigned long NumericId;
     NumericId numericId() const;
-    const zypp::ResStore & resolvables();
+    const ResStore & resolvables();
     const RepoInfo info() const;
     const std::list<packagedelta::PatchRpm> & patchRpms() const;
     const std::list<packagedelta::DeltaRpm> & deltaRpms() const;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/RepoStatus.i new/libzypp-bindings-0.4.1/swig/RepoStatus.i
--- old/libzypp-bindings-0.4.0/swig/RepoStatus.i        2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/RepoStatus.i        2007-07-31 21:10:25.000000000 +0200
@@ -1,9 +1,9 @@
+
 class RepoStatus
-  {
-    friend std::ostream & operator<<( std::ostream & str, const RepoStatus & obj );
+{
 
   public:
-    
+
     /**
      * Checksum of the repository.
      * Usually the checksum of the index, but any
@@ -11,20 +11,20 @@
      * in any way is sufficient.
      */
     std::string checksum() const;
-    
+
     /**
      * timestamp of the repository. If the repository
      * changes, it has to be updated as well with the
      * new timestamp.
      */
     Date timestamp() const;
-    
+
     /**
      * set the repository checksum \see checksum
      * \param checksum
      */
     RepoStatus & setChecksum( const std::string &checksum );
-    
+
     /**
      * set the repository timestamp \see timestamp
      * \param timestamp
@@ -37,7 +37,7 @@
   public:
     /** Default ctor */
     RepoStatus();
-    
+
     /**
      * \short Status from a single file
      * As most repository state is represented
@@ -45,7 +45,7 @@
      * construct the status from a file.
      */
     RepoStatus( const Pathname &file );
-    
+
     /** Dtor */
     ~RepoStatus();
 
@@ -54,4 +54,4 @@
   private:
     /** Pointer to implementation */
     RWCOW_pointer<Impl> _pimpl;
-  };
\ No newline at end of file
+};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/RepoType.i new/libzypp-bindings-0.4.1/swig/RepoType.i
--- old/libzypp-bindings-0.4.0/swig/RepoType.i  2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/RepoType.i  2007-07-31 21:10:25.000000000 +0200
@@ -1,10 +1,14 @@
 
+#ifdef SWIGRUBY
+%alias RepoType::asString "to_s";
+#endif
+
 struct RepoType
-  {
+{
     static const RepoType RPMMD;
     static const RepoType YAST2;
     //static const RepoType NONE;
-    
+
     enum Type
     {
       NONE_e,
@@ -17,10 +21,10 @@
     explicit RepoType(const std::string & strval_r);
 
     const Type toEnum() const { return _type; }
-    
+
     RepoType::Type parse(const std::string & strval_r);
 
     const std::string & asString() const;
 
     Type _type;
-  };
\ No newline at end of file
+};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/ResObject.i new/libzypp-bindings-0.4.1/swig/ResObject.i
--- old/libzypp-bindings-0.4.0/swig/ResObject.i 2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/ResObject.i 2007-07-31 21:10:25.000000000 +0200
@@ -1,5 +1,5 @@
 
-// %template(ResObject_Ptr) intrusive_ptr<ResObject>;
+%template(ResObject_constPtr) intrusive_ptr<const ResObject>;
 
 class ResObject : public Resolvable
 {
@@ -28,5 +28,23 @@
     ResObject( const Kind & kind_r,
                const NVRAD & nvrad_r );
     virtual ~ResObject();
-    virtual std::ostream & dumpOn( std::ostream & str ) const;
 };
+
+// FIXME: this is just a workaround, see Kind.i
+%extend intrusive_ptr<const ResObject> {
+    const char* kindToS()
+    {
+       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";
+    }
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/Resolvable.i new/libzypp-bindings-0.4.1/swig/Resolvable.i
--- old/libzypp-bindings-0.4.0/swig/Resolvable.i        2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/Resolvable.i        2007-07-31 21:10:25.000000000 +0200
@@ -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,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/ResPool.i new/libzypp-bindings-0.4.1/swig/ResPool.i
--- old/libzypp-bindings-0.4.0/swig/ResPool.i   2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/ResPool.i   2007-07-31 21:10:25.000000000 +0200
@@ -1,7 +1,6 @@
 
 class ResPool
-  {
-    friend std::ostream & operator<<( std::ostream & str, const ResPool & obj );
+{
 
   public:
     /** \ref zypp::pool::PoolItem */
@@ -28,7 +27,7 @@
 
     /** \name Iterate through all ResObjects (all kinds). */
     //@{
-    /** 
+    /**
     const_iterator begin() const;
     const_iterator end() const;
     */
@@ -87,12 +86,12 @@
    */
 
    /**
-    *  Handling additional requirement. E.G. need package "foo" and package 
+    *  Handling additional requirement. E.G. need package "foo" and package
     *  "foo1" which has a greater version than 1.0:
     *
     *  \code
     *  CapSet capset;
-    *  capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));    
+    *  capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
     *  capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo1 > 1.0"));
     *
     *  // The user is setting this capablility
@@ -109,36 +108,36 @@
     *  Handling additional conflicts. E.G. do not install anything which provides "foo":
     *
     *  \code
-    *  CapSet capset;    
+    *  CapSet capset;
     *  capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
     *
     *  // The user is setting this capablility
     *  ResPool::AdditionalCapSet aCapSet;
     *  aCapSet[ResStatus::USER] = capset;
     *
-    *  setAdditionalConflict( aCapSet );    
+    *  setAdditionalConflict( aCapSet );
     *  \endcode
-    */      
+    */
    void setAdditionalConflict( const AdditionalCapSet & capset ) const;
    AdditionalCapSet & additionaConflict() const;
-      
+
    /**
     *  Handling additional provides. This is used for ignoring a requirement.
     *  e.G. Do ignore the requirement "foo":
     *
     *  \code
-    *  CapSet capset;    
+    *  CapSet capset;
     *  capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
     *
     *  // The user is setting this capablility
     *  ResPool::AdditionalCapSet aCapSet;
     *  aCapSet[ResStatus::USER] = capset;
     *
-    *  setAdditionalProvide( aCapSet );    
+    *  setAdditionalProvide( aCapSet );
     *  \endcode
-    */      
+    */
    void setAdditionalProvide( const AdditionalCapSet & capset ) const;
-   AdditionalCapSet & additionaProvide() const;                  
+   AdditionalCapSet & additionaProvide() const;
 
   private:
     /** */
@@ -148,4 +147,45 @@
   private:
     /** Const access to implementation. */
     pool::PoolTraits::Impl_constPtr _pimpl;
-  };
\ No newline at end of file
+
+};
+
+
+#ifdef SWIGRUBY
+
+iter3(ResPool, PoolItem_Ref*);
+
+// %extend ResPool {
+//     void each()
+//     {
+//         ResPool::const_iterator i = self->begin();
+//         while ( i != self->end() ) {
+//             rb_yield( SWIG_NewPointerObj( (void *) &*i, SWIGTYPE_p_PoolItem_Ref, 0));
+//             ++i;
+//         }
+//     }
+// }
+
+%extend ResPool {
+    void each_by_kind( const ResObject::Kind & kind_r )
+    {
+        ResPool::byKind_iterator i = self->byKindBegin( kind_r );
+        while ( i != self->byKindEnd( kind_r ) ) {
+            rb_yield( SWIG_NewPointerObj( (void *) &*i, SWIGTYPE_p_PoolItem_Ref, 0));
+            ++i;
+        }
+    }
+}
+
+%extend ResPool {
+    void each_by_name( const std::string &name )
+    {
+        ResPool::byName_iterator i = self->byNameBegin( name );
+        while ( i != self->byNameEnd( name ) ) {
+            rb_yield( SWIG_NewPointerObj( (void *) &*i, $descriptor(PoolItem_Ref), 0));
+            ++i;
+        }
+    }
+}
+
+#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/ResStatus.i new/libzypp-bindings-0.4.1/swig/ResStatus.i
--- old/libzypp-bindings-0.4.0/swig/ResStatus.i 2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/ResStatus.i 2007-07-31 21:10:25.000000000 +0200
@@ -1,8 +1,6 @@
 
 class ResStatus
-  {
-    friend std::ostream & operator<<( std::ostream & str, const ResStatus & obj );
-    friend bool operator==( const ResStatus & lhs, const ResStatus & rhs );
+{
 
   public:
     /** \name BitField range definitions.
@@ -177,7 +175,7 @@
     { return fieldValueIs<TransactField>( LOCKED ); }
 
     bool isKept() const
-    { return fieldValueIs<TransactField>( KEEP_STATE ); }      
+    { return fieldValueIs<TransactField>( KEEP_STATE ); }
 
     bool transacts() const
     { return fieldValueIs<TransactField>( TRANSACT ); }
@@ -214,7 +212,7 @@
 
     bool isToBeInstalledNotSoft () const
     { return isToBeInstalled() && !fieldValueIs<TransactDetailField>( SOFT_INSTALL ); }
-      
+
 
     bool isToBeUninstalledSoft () const
     { return isToBeUninstalled() && fieldValueIs<TransactDetailField>( SOFT_REMOVE ); }
@@ -222,7 +220,7 @@
   public:
 
     bool setTransactValue( TransactValue newVal_r, TransactByValue causer_r );
-  bool setLock( bool toLock_r, TransactByValue causer_r );  
+  bool setLock( bool toLock_r, TransactByValue causer_r );
   bool maySetLock( bool to_r, TransactByValue causer_r );
     bool setTransact( bool toTansact_r, TransactByValue causer_r );
     bool maySetTransact( bool val_r, TransactByValue causer );
@@ -370,4 +368,4 @@
 
   private:
     BitFieldType _bitfield;
-  };
\ No newline at end of file
+};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/ResStore.i new/libzypp-bindings-0.4.1/swig/ResStore.i
--- old/libzypp-bindings-0.4.0/swig/ResStore.i  2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/ResStore.i  2007-07-31 21:10:25.000000000 +0200
@@ -4,8 +4,7 @@
   typedef ResObject                ResT;
   typedef std::set<ResT::Ptr>      StorageT;
   typedef StorageT::size_type      size_type;
-  
-  friend std::ostream & operator<<( std::ostream & str, const ResStore & obj );
+
   public:
     ResStore();
     ~ResStore();
@@ -19,3 +18,19 @@
     void clear();
 };
 
+#ifdef SWIGRUBY
+iter2(ResStore, ResObject*);
+#endif
+
+#ifdef SWIGPYTHON
+%extend ResStore
+{
+    // just a test
+    const ResObject* haha()
+    {
+       ResStore::iterator i = self->begin();
+       const ResObject* tmp = &**i;
+       return tmp;
+    }
+}
+#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/ruby/ruby.i new/libzypp-bindings-0.4.1/swig/ruby/ruby.i
--- old/libzypp-bindings-0.4.0/swig/ruby/ruby.i 2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/ruby/ruby.i 2007-07-31 21:10:25.000000000 +0200
@@ -1,56 +1,37 @@
 
-%rename("asString") to_s;
-
-#define auto_string( cl ) \
-%extend cl { \
-  std::string to_s() { \
-    return self->asString();\
-  } \
-}
-
-
-// #define iter( cl, storetype ) \
-// %mixin cl "Enumerable"; \
-// %extend cl { \
-//     void each() { \
-//         cl::iterator i = self->begin(); \
-//         while ( i != self->end() ) { \
-//             rb_yield( SWIG_NewPointerObj( (void *) &*i, $descriptor(storetype), 1)); \
-//             ++i; \
-//         } \
-//     } \
-// }
-
 
 /*
  *  Extend cls with an ruby-like each iterator.  Yields objects of type storetype.
  *  Parameter storetype must be a pointer type.
  */
-#define iter2( cls, storetype ) \
+#define iter2(cls, storetype) \
 %mixin cls "Enumerable"; \
 %extend cls { \
     void each() { \
-       cls::iterator i = self->begin(); \
-        while ( i != self->end() ) { \
+       cls::const_iterator i = self->begin(); \
+        while (i != self->end()) { \
            const storetype tmp = &**i; \
-           rb_yield( SWIG_NewPointerObj( (void*) tmp, $descriptor(storetype), 0)); \
+           rb_yield(SWIG_NewPointerObj((void*) tmp, $descriptor(storetype), 0)); \
             ++i; \
         } \
     } \
 }
 
-
-// %mixin ResStore "Enumerable";
-// %extend ResStore {
-//     void each() {
-//         ResStore::iterator i = self->begin();
-//         while ( i != self->end() ) {
-//         const ResObject* tmp = &**i;
-//         rb_yield( SWIG_NewPointerObj( (void*) tmp, $descriptor(ResObject*), 0));
-//         ++i;
-//     }
-//     }
-// }
+/*
+ *  Like iter2, but does only one dereferencing from the iterator.
+ */
+#define iter3(cls, storetype) \
+%mixin cls "Enumerable"; \
+%extend cls { \
+    void each() { \
+       cls::const_iterator i = self->begin(); \
+        while (i != self->end()) { \
+           const storetype tmp = &*i; \
+           rb_yield(SWIG_NewPointerObj((void*) tmp, $descriptor(storetype), 0)); \
+            ++i; \
+        } \
+    } \
+}
 
 
 #define auto_iterator( cl, storetype ) \
@@ -65,55 +46,3 @@
     } \
 }
 
-
-%extend Target {
-    void each_by_kind( const ResObject::Kind & kind_r )
-    {
-        ResStore::resfilter_const_iterator i = self->byKindBegin( kind_r );
-        while ( i != self->byKindEnd( kind_r ) ) {
-            rb_yield( SWIG_NewPointerObj( (void *) &*i, $descriptor(ResStore::Ptr), 0));
-            ++i;
-        }
-    }
-}
-
-%extend ResPool {
-    void each()
-    {
-        ResPool::const_iterator i = self->begin();
-        while ( i != self->end() ) {
-            rb_yield( SWIG_NewPointerObj( (void *) &*i, SWIGTYPE_p_PoolItem_Ref, 0));
-            ++i;
-        }
-    }
-}
-
-%extend ResPool {
-    void each_by_kind( const ResObject::Kind & kind_r )
-    {
-        ResPool::byKind_iterator i = self->byKindBegin( kind_r );
-        while ( i != self->byKindEnd( kind_r ) ) {
-            rb_yield( SWIG_NewPointerObj( (void *) &*i, SWIGTYPE_p_PoolItem_Ref, 0));
-            ++i;
-        }
-    }
-}
-
-%extend ResPool {
-    void each_by_name( const std::string &name )
-    {
-        ResPool::byName_iterator i = self->byNameBegin( name );
-        while ( i != self->byNameEnd( name ) ) {
-            rb_yield( SWIG_NewPointerObj( (void *) &*i, $descriptor(PoolItem_Ref), 0));
-            ++i;
-        }
-    }
-}
-
-
-%rename(asString) to_s;
-
-%rename("dryRun=") ZYppCommitPolicy::dryRun(bool);
-%rename("rpmNoSignature=") ZYppCommitPolicy::rpmNoSignature(bool);
-%rename("syncPoolAfterCommit=") ZYppCommitPolicy::syncPoolAfterCommit(bool);
-
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/TmpPath.i new/libzypp-bindings-0.4.1/swig/TmpPath.i
--- old/libzypp-bindings-0.4.0/swig/TmpPath.i   1970-01-01 01:00:00.000000000 +0100
+++ new/libzypp-bindings-0.4.1/swig/TmpPath.i   2007-07-31 21:10:25.000000000 +0200
@@ -0,0 +1,45 @@
+
+class TmpPath
+{
+public:
+
+    TmpPath();
+
+    explicit TmpPath( const Pathname & tmpPath_r );
+
+    virtual ~TmpPath();
+
+    Pathname path() const;
+
+    static const Pathname & defaultLocation();
+
+};
+
+
+class TmpFile : public TmpPath
+{
+public:
+
+    explicit TmpFile( const Pathname & inParentDir_r = defaultLocation(),
+                     const std::string & prefix_r = defaultPrefix() );
+
+    static TmpFile makeSibling( const Pathname & sibling_r );
+
+    static const std::string & defaultPrefix();
+
+};
+
+
+class TmpDir : public TmpPath
+{
+public:
+
+    explicit TmpDir( const Pathname & inParentDir_r = defaultLocation(),
+                    const std::string & prefix_r = defaultPrefix() );
+
+    static TmpDir makeSibling( const Pathname & sibling_r );
+
+    static const std::string & defaultPrefix();
+
+};
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/TranslatedText.i new/libzypp-bindings-0.4.1/swig/TranslatedText.i
--- old/libzypp-bindings-0.4.0/swig/TranslatedText.i    2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/TranslatedText.i    2007-07-31 21:10:25.000000000 +0200
@@ -1,7 +1,6 @@
-  class TranslatedText
-  {
-    friend std::ostream & operator<<( std::ostream & str, const TranslatedText & obj );
 
+class TranslatedText
+{
   public:
     /** Implementation  */
     class Impl;
@@ -20,7 +19,7 @@
 
     /** true if the text have no translations for any language */
     bool empty() const ;
-    
+
     /** static default empty translated text  */
     static const TranslatedText notext;
 
@@ -41,4 +40,5 @@
   private:
     /** Pointer to implementation */
     RWCOW_pointer<Impl> _pimpl;
-  };
\ No newline at end of file
+
+};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/ZYppCommitPolicy.i new/libzypp-bindings-0.4.1/swig/ZYppCommitPolicy.i
--- old/libzypp-bindings-0.4.0/swig/ZYppCommitPolicy.i  2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/ZYppCommitPolicy.i  2007-07-31 21:10:25.000000000 +0200
@@ -1,5 +1,12 @@
+
+#ifdef SWIGRUBY
+%rename("dryRun=") ZYppCommitPolicy::dryRun(bool);
+%rename("rpmNoSignature=") ZYppCommitPolicy::rpmNoSignature(bool);
+%rename("syncPoolAfterCommit=") ZYppCommitPolicy::syncPoolAfterCommit(bool);
+#endif
+
 class ZYppCommitPolicy
-  {
+{
   public:
     ZYppCommitPolicy()
     : _restrictToMedia    ( 0 )
@@ -49,4 +56,4 @@
     bool     _dryRun;
     bool     _rpmNoSignature;
     bool     _syncPoolAfterCommit;
-  };
\ No newline at end of file
+};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/swig/zypp.i new/libzypp-bindings-0.4.1/swig/zypp.i
--- old/libzypp-bindings-0.4.0/swig/zypp.i      2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/swig/zypp.i      2007-07-31 21:10:25.000000000 +0200
@@ -4,38 +4,39 @@
 %module zypp
 #endif
 
- %{
- /* Includes the header in the wrapper code */
-
- #include "zypp/base/PtrTypes.h"
- #include <zypp/Edition.h>
- #include <zypp/ResTraits.h>
- #include <zypp/ResPoolProxy.h>
- #include <zypp/ResStore.h>
- #include <zypp/ZYppFactory.h>
- #include <zypp/ZYpp.h>
- #include <zypp/Pathname.h>
- #include "zypp/base/ReferenceCounted.h"
- #include "zypp/ResObject.h"
- #include "zypp/Target.h"
- #include "zypp/target/TargetImpl.h"
+%{
+/* Includes the header in the wrapper code */
+#include "zypp/base/PtrTypes.h"
+#include <zypp/Edition.h>
+#include <zypp/ResTraits.h>
+#include <zypp/ResPoolProxy.h>
+#include <zypp/ResStore.h>
+#include <zypp/ZYppFactory.h>
+#include <zypp/ZYpp.h>
+#include <zypp/Pathname.h>
+#include "zypp/base/ReferenceCounted.h"
+#include "zypp/ResObject.h"
+#include "zypp/Target.h"
+#include "zypp/target/TargetImpl.h"
 #include "zypp/TranslatedText.h"
- #include "zypp/CapFactory.h"
- #include "zypp/Package.h"
+#include "zypp/CapFactory.h"
+#include "zypp/Package.h"
 #include "zypp/ResFilters.h"
 #include "zypp/OnMediaLocation.h"
- #include "zypp/Repository.h"
- #include "zypp/RepoManager.h"
- #include "zypp/repo/RepoType.h"
+#include "zypp/Repository.h"
+#include "zypp/RepoManager.h"
+#include "zypp/repo/RepoType.h"
 #include "zypp/MediaSetAccess.h"
+#include "zypp/TmpPath.h"
 
- using namespace boost;
- using namespace zypp;
- using namespace zypp::repo;
- using namespace zypp::resfilter;
+using namespace boost;
+using namespace zypp;
+using namespace zypp::repo;
+using namespace zypp::resfilter;
+using namespace zypp::filesystem;
 
- typedef std::set<Url> UrlSet;
- %}
+typedef std::set<Url> UrlSet;
+%}
 
 %rename("+") "operator+";
 %rename("<<") "operator<<";
@@ -43,15 +44,6 @@
 %rename("!") "operator!";
 %rename("==") "operator==";
 
-/* Parse the header file to generate wrappers */
-%ignore zypp::operator<<( std::ostream & str, const ZYppFactory & obj );
-%ignore zypp::base::operator<<( std::ostream & str, const ReferenceCounted & obj );
-
-/*
-//%include "zypp/base/Deprecated.h"
-//%include "zypp/base/PtrTypes.h"
-*/
-
 
 template < typename T >
 class intrusive_ptr {
@@ -59,25 +51,36 @@
   T *operator->();
 };
 
-%include "Pathname.i"
-%include "Url.i"
 
-%include std_string.i
+%include "std_string.i"
 %include "stl.i"
+
+
 #ifdef SWIGRUBY
 %include "ruby/std_list.i"
 %include "ruby/std_set.i"
-#else
-%include std_list.i
-%include std_set.i
+%include "ruby/ruby.i"
+#endif
+
+#ifdef SWIGPYTHON
+%include "std_list.i"
+%include "std_set.i"
+%include "python/python.i"
 #endif
 
+
+%include "Pathname.i"
+%include "Url.i"
 %include "NeedAType.i"
 %include "Arch.i"
 %include "ResStore.i"
 %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 +91,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,29 +100,12 @@
 %include "KeyRing.i"
 %include "Target.i"
 %include "ResStatus.i"
-%include "Dep.i"
 %include "PoolItem.i"
 %include "ResPool.i"
 %include "ZYppCommitPolicy.i"
 %include "ZYppCommitResult.i"
 %include "MediaSetAccess.i"
-
-
-#ifdef SWIGRUBY
-
-%include "ruby/ruby.i"
-
-/* define iterators using swig macros */
-iter2( ResStore, ResObject* )
-auto_iterator( std::list<RepoInfo>, RepoInfo )
-
-#endif
-
-#ifdef SWIGPYTHON
-
-%include "python/python.i"
-
-#endif
+%include "TmpPath.i"
 
 
 class ZYpp
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libzypp-bindings-0.4.0/VERSION.cmake new/libzypp-bindings-0.4.1/VERSION.cmake
--- old/libzypp-bindings-0.4.0/VERSION.cmake    2007-07-24 17:15:58.000000000 +0200
+++ new/libzypp-bindings-0.4.1/VERSION.cmake    2007-07-31 21:10:25.000000000 +0200
@@ -1,3 +1,3 @@
 SET(VERSION_MAJOR "0")
 SET(VERSION_MINOR "4")
-SET(VERSION_PATCH "0")
+SET(VERSION_PATCH "1")


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >