00001 00002 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ 00003 /* ProblemSolution.cc 00004 * 00005 * Easy-to use interface to the ZYPP dependency resolver 00006 * 00007 * Copyright (C) 2000-2002 Ximian, Inc. 00008 * Copyright (C) 2005 SUSE Linux Products GmbH 00009 * 00010 * This program is free software; you can redistribute it and/or 00011 * modify it under the terms of the GNU General Public License, 00012 * version 2, as published by the Free Software Foundation. 00013 * 00014 * This program is distributed in the hope that it will be useful, but 00015 * WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 00022 * 02111-1307, USA. 00023 */ 00024 00025 #include <sstream> 00026 00027 #include "zypp/base/String.h" 00028 #include "zypp/base/Gettext.h" 00029 #include "zypp/solver/detail/ProblemSolutionUnlock.h" 00030 00031 using namespace std; 00032 00034 namespace zypp 00035 { 00036 00037 namespace solver 00038 { 00039 00040 namespace detail 00041 { 00042 00043 IMPL_PTR_TYPE(ProblemSolutionUnlock); 00044 00045 //--------------------------------------------------------------------------- 00046 00047 ProblemSolutionUnlock::ProblemSolutionUnlock( ResolverProblem_Ptr parent, 00048 PoolItem_Ref item) 00049 : ProblemSolution (parent, "", "") 00050 { 00051 // TranslatorExplanation %s = name of package, patch, selection ... 00052 _description = str::form (_("unlock %s"), item->name().c_str() ); 00053 00054 addAction ( new TransactionSolutionAction (item, UNLOCK)); 00055 } 00056 00057 ProblemSolutionUnlock::ProblemSolutionUnlock( ResolverProblem_Ptr parent, 00058 PoolItemList & itemlist) 00059 : ProblemSolution (parent, "", "") 00060 { 00061 _description = _("Unlock these resolvables"); 00062 00063 for (PoolItemList::iterator iter = itemlist.begin(); 00064 iter != itemlist.end(); iter++) { 00065 PoolItem item = *iter; 00066 addAction ( new TransactionSolutionAction (item, UNLOCK)); 00067 } 00068 00069 ostringstream details; 00070 details << _actions; 00071 _details = details.str(); 00072 } 00073 00075 };// namespace detail 00078 };// namespace solver 00081 };// namespace zypp