Author: jkupec
Date: Fri May 11 14:52:19 2007
New Revision: 5535
URL: http://svn.opensuse.org/viewcvs/zypp?rev=5535&view=rev
Log:
using data::Patch_Ptr instead of a plain pointer in PrimaryFileReader
Modified:
trunk/libzypp/devel/devel.jkupec/YUMParser.cc
trunk/libzypp/devel/devel.jkupec/YUMParser.h
trunk/libzypp/zypp/parser/yum/PrimaryFileReader.cc
trunk/libzypp/zypp/parser/yum/PrimaryFileReader.h
Modified: trunk/libzypp/devel/devel.jkupec/YUMParser.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/devel/devel.jkupec/YUMParser.cc?rev=5535&r1=5534&r2=5535&view=diff
==============================================================================
--- trunk/libzypp/devel/devel.jkupec/YUMParser.cc (original)
+++ trunk/libzypp/devel/devel.jkupec/YUMParser.cc Fri May 11 14:52:19 2007
@@ -48,12 +48,12 @@
return true;
}
- bool YUMParser::primary_CB(const zypp::data::Package & package)
+ bool YUMParser::primary_CB(const data::Package_Ptr & package_r)
{
- NVRA nvra(package.name, package.edition, package.arch);
+ NVRA nvra(package_r->name, package_r->edition, package_r->arch);
data::RecordId pkgid =
_consumer.appendResolvable(
- _catalog_id, ResTraits<Package>::kind, nvra, package.deps);
+ _catalog_id, ResTraits<Package>::kind, nvra, package_r->deps);
/* MIL << "got package "
<< package.name << package.edition << " "
Modified: trunk/libzypp/devel/devel.jkupec/YUMParser.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/devel/devel.jkupec/YUMParser.h?rev=5535&r1=5534&r2=5535&view=diff
==============================================================================
--- trunk/libzypp/devel/devel.jkupec/YUMParser.h (original)
+++ trunk/libzypp/devel/devel.jkupec/YUMParser.h Fri May 11 14:52:19 2007
@@ -60,7 +60,7 @@
void doJobs(const zypp::Pathname & path, ParserProgress::Ptr progress);
bool repomd_CB(const OnMediaLocation & loc, const YUMResourceType & dtype);
- bool primary_CB(const zypp::data::Package & package);
+ bool primary_CB(const data::Package_Ptr & package_r);
bool patches_CB(const OnMediaLocation &loc, const std::string & patch_id);
bool patch_CB(const zypp::data::Patch & patch);
Modified: trunk/libzypp/zypp/parser/yum/PrimaryFileReader.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/PrimaryFileReader.cc?rev=5535&r1=5534&r2=5535&view=diff
==============================================================================
--- trunk/libzypp/zypp/parser/yum/PrimaryFileReader.cc (original)
+++ trunk/libzypp/zypp/parser/yum/PrimaryFileReader.cc Fri May 11 14:52:19 2007
@@ -32,7 +32,8 @@
:
_callback(callback), _package(NULL),
_count(0), _total_packages(0),
- _tag(tag_NONE), _expect_rpm_entry(false), _dtype(zypp::Dep::REQUIRES),
+ _tag(tag_NONE), _expect_rpm_entry(false),
+ _dtype(zypp::Dep::REQUIRES),
_progress(progress), _old_progress(0)
{
Reader reader( primary_file );
@@ -57,8 +58,7 @@
{
_tag = tag_package;
// DBG << "got " << reader_r->getAttribute("type") << " package" << endl;
- if (_package) delete _package;
- _package = new zypp::data::Package();
+ _package = new data::Package;
return true;
}
@@ -81,6 +81,7 @@
_package->edition = Edition(reader_r->getAttribute("ver").asString(),
reader_r->getAttribute("rel").asString(),
reader_r->getAttribute("epoch").asString());
+ return true;
}
if (reader_r->name() == "checksum")
@@ -158,12 +159,9 @@
{
if (reader_r->name() == "package")
{
- _callback(*_package);
- if (_package)
- {
- delete _package;
- _package = NULL;
- }
+ if (_package && _callback)
+ _callback(handoutPackage());
+
_count++;
// report progress
@@ -341,6 +339,12 @@
return true;
}
+ data::Package_Ptr PrimaryFileReader::handoutPackage()
+ {
+ data::Package_Ptr ret;
+ ret.swap(_package);
+ return ret;
+ }
} // ns yum
} // ns parser
Modified: trunk/libzypp/zypp/parser/yum/PrimaryFileReader.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/parser/yum/PrimaryFileReader.h?rev=5535&r1=5534&r2=5535&view=diff
==============================================================================
--- trunk/libzypp/zypp/parser/yum/PrimaryFileReader.h (original)
+++ trunk/libzypp/zypp/parser/yum/PrimaryFileReader.h Fri May 11 14:52:19 2007
@@ -46,7 +46,7 @@
/**
* Callback definition.
*/
- typedef function