Imported Upstream version 14.45.0
[platform/upstream/libzypp.git] / zypp / parser / yum / RepomdFileReader.cc
index 99908b0..6163a78 100644 (file)
@@ -60,20 +60,12 @@ namespace zypp
     };
 
   public:
-    /** Ctro taking a ProcessResource2 callback */
-    Impl(const Pathname &repomd_file, const ProcessResource2 & callback )
-    : _tag( tag_NONE )
-    , _type( ResourceType::NONE_e )
-    , _callback( callback )
-    {
-      Reader reader( repomd_file );
-      MIL << "Reading " << repomd_file << endl;
-      reader.foreachNode( bind( &RepomdFileReader::Impl::consumeNode, this, _1 ) );
-    }
-   /** \overload Redirect an old ProcessResource callback */
-    Impl(const Pathname &repomd_file, const ProcessResource & callback)
-    : Impl( repomd_file, ProcessResource2( bind( callback, _1, _2 ) ) )
-    {}
+    /**
+     * CTOR
+     *
+     * \see RepomdFileReader::RepomdFileReader(Pathname,ProcessResource)
+     */
+    Impl(const Pathname &repomd_file, const ProcessResource & callback);
 
     /**
      * Callback provided to the XML parser.
@@ -82,23 +74,41 @@ namespace zypp
 
 
   private:
-    /** Function for processing collected data. Passed-in through constructor. */
-    ProcessResource2 _callback;
+    /** Location of metadata file. */
+    OnMediaLocation _location;
 
     /** Used to remember currently processed tag */
     Tag _tag;
 
-    /** Type of metadata file (string) */
-    std::string _typeStr;
-
-    /** Type of metadata file as enum of well known repoinded.xml entries. */
+    /** Type of metadata file. */
     repo::yum::ResourceType _type;
 
-    /** Location of metadata file. */
-    OnMediaLocation _location;
+    /** Function for processing collected data. Passed-in through constructor. */
+    ProcessResource _callback;
+
+    /** Checksum of metadata file */
+    CheckSum _checksum;
+
+    /** Type of checksum of metadata file */
+    std::string _checksum_type;
+
+    /** Metadata file time-stamp. */
+    Date _timestamp;
   };
   ///////////////////////////////////////////////////////////////////////
 
+  RepomdFileReader::Impl::Impl(
+      const Pathname &repomd_file, const ProcessResource & callback)
+    :
+      _tag(tag_NONE), _type(ResourceType::NONE_e), _callback(callback)
+  {
+    Reader reader( repomd_file );
+    MIL << "Reading " << repomd_file << endl;
+    reader.foreachNode( bind( &RepomdFileReader::Impl::consumeNode, this, _1 ) );
+  }
+
+  // --------------------------------------------------------------------------
+
   /*
    * xpath and multiplicity of processed nodes are included in the code
    * for convenience:
@@ -125,8 +135,7 @@ namespace zypp
       if ( reader_r->name() == "data" )
       {
         _tag = tag_Data;
-       _typeStr = reader_r->getAttribute("type").asString();
-        _type = ResourceType(_typeStr);
+        _type = ResourceType(reader_r->getAttribute("type").asString());
         return true;
       }
 
@@ -165,7 +174,7 @@ namespace zypp
       if ( reader_r->name() == "data" )
       {
         if (_callback)
-          _callback( _location, _type, _typeStr );
+          _callback( _location, _type );
 
         return true;
       }
@@ -181,12 +190,10 @@ namespace zypp
   //
   ///////////////////////////////////////////////////////////////////
 
-  RepomdFileReader::RepomdFileReader( const Pathname & repomd_file, const ProcessResource & callback )
-  : _pimpl( new Impl(repomd_file, callback) )
-  {}
-
-  RepomdFileReader::RepomdFileReader( const Pathname & repomd_file, const ProcessResource2 & callback )
-  : _pimpl( new Impl(repomd_file, callback) )
+  RepomdFileReader::RepomdFileReader(
+      const Pathname & repomd_file, const ProcessResource & callback)
+    :
+      _pimpl(new Impl(repomd_file, callback))
   {}
 
   RepomdFileReader::~RepomdFileReader()