[yast-commit] r45832 - in /trunk/pkg-bindings: package/yast2-pkg-bindings.changes src/Resolvable_Properties.cc
Author: lslezak Date: Fri Mar 28 14:10:30 2008 New Revision: 45832 URL: http://svn.opensuse.org/viewcvs/yast?rev=45832&view=rev Log: - Pkg:ResolvableProperties() - added "transact_by" key for selected packages Modified: trunk/pkg-bindings/package/yast2-pkg-bindings.changes trunk/pkg-bindings/src/Resolvable_Properties.cc Modified: trunk/pkg-bindings/package/yast2-pkg-bindings.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/package/yast2-pkg-bindings.changes?rev=45832&r1=45831&r2=45832&view=diff ============================================================================== --- trunk/pkg-bindings/package/yast2-pkg-bindings.changes (original) +++ trunk/pkg-bindings/package/yast2-pkg-bindings.changes Fri Mar 28 14:10:30 2008 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Fri Mar 28 14:09:18 CET 2008 - lslezak@suse.cz + +- Pkg:ResolvableProperties() - added "transact_by" key for selected + packages + +------------------------------------------------------------------- Thu Mar 27 11:30:03 CET 2008 - lslezak@suse.cz - added priority support - implemented Pkg::SourceLowerPriority(), Modified: trunk/pkg-bindings/src/Resolvable_Properties.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/pkg-bindings/src/Resolvable_Properties.cc?rev=45832&r1=45831&r2=45832&view=diff ============================================================================== --- trunk/pkg-bindings/src/Resolvable_Properties.cc (original) +++ trunk/pkg-bindings/src/Resolvable_Properties.cc Fri Mar 28 14:10:30 2008 @@ -57,6 +57,8 @@ status is `installed, `removed, `selected or `available, source is source ID or -1 if the resolvable is installed in the target if status is `available and locked is true then the object is set to taboo, if status is `installed and locked is true then the object locked + if status is `selected or `removed there is extra key "transact_by" : symbol, where symbol is `user (the highest level), + `app_high (selected by Yast), `app_low and `solver (the lowest level) */ YCPValue @@ -78,6 +80,21 @@ return ResolvablePropertiesEx (name, kind_r, version, true); } +std::string TransactToString(zypp::ResStatus::TransactByValue trans) +{ + std::string ret; + + switch(trans) + { + case zypp::ResStatus::USER : ret = "user"; break; + case zypp::ResStatus::APPL_HIGH : ret = "app_high"; break; + case zypp::ResStatus::APPL_LOW : ret = "app_low"; break; + case zypp::ResStatus::SOLVER : ret = "solver"; break; + } + + return ret; +} + YCPValue PkgFunctions::ResolvablePropertiesEx(const YCPString& name, const YCPSymbol& kind_r, const YCPString& version, bool dependencies) { @@ -99,6 +116,7 @@ else if ( req_kind == "pattern" ) { kind = zypp::ResTraitszypp::Pattern::kind; } +# warning add language support else { y2error("Pkg::ResolvableProperties: unknown symbol: %s", req_kind.c_str()); @@ -132,11 +150,20 @@ if (it->status().isInstalled()) { - stat = (it->status().isToBeUninstalled()) ? "removed" : "installed"; + if (it->status().isToBeUninstalled()) + { + stat = "removed"; + info->add(YCPString("transact_by"), YCPSymbol(TransactToString(it->status().getTransactByValue()))); + } + else + { + stat = "installed"; + } } else if (it->status().isToBeInstalled()) { stat = "selected"; + info->add(YCPString("transact_by"), YCPSymbol(TransactToString(it->status().getTransactByValue()))); } else { @@ -344,6 +371,7 @@ else if ( req_kind == "pattern" ) { kind = zypp::ResTraitszypp::Pattern::kind; } +# warning add language support else if ( req_kind == "any" ) { try { -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
lslezak@svn.opensuse.org