Author: jkupec
Date: Mon Apr 14 14:07:29 2008
New Revision: 9608
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9608&view=rev
Log:
- read() -> readAndApply()
- read() added
- apply() added
Modified:
trunk/libzypp/tests/zypp/Locks_test.cc
trunk/libzypp/zypp/Locks.cc
trunk/libzypp/zypp/Locks.h
trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc
Modified: trunk/libzypp/tests/zypp/Locks_test.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/tests/zypp/Locks_test.cc?rev=9608&r1=9607&r2=9608&view=diff
==============================================================================
--- trunk/libzypp/tests/zypp/Locks_test.cc (original)
+++ trunk/libzypp/tests/zypp/Locks_test.cc Mon Apr 14 14:07:29 2008
@@ -84,7 +84,7 @@
cout << "****save/load****" << endl;
Pathname src(TESTS_SRC_DIR);
src += "zypp/data/Locks/locks";
- Locks::instance().read(src);
+ Locks::instance().readAndApply(src);
PoolQuery q;
q.addString("zypper");
for_(it,q.begin(),q.end())
@@ -101,7 +101,7 @@
//Pathname testfile(TESTS_SRC_DIR);
// testfile += "/zypp/data/Locks/testlocks";
Locks::instance().save(testfile);
- Locks::instance().read(testfile);
+ Locks::instance().readAndApply(testfile);
//still locked
for_(it,q.begin(),q.end())
{
@@ -109,7 +109,7 @@
}
Locks::instance().removeLock(q); //need twice because finded from previous test
Locks::instance().save(testfile);
- Locks::instance().read(testfile);
+ Locks::instance().readAndApply(testfile);
//now unlocked - first unlock remove indetical lock from previous test
//and next unlock remove lock from lockfile
for_(it,q.begin(),q.end())
Modified: trunk/libzypp/zypp/Locks.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/Locks.cc?rev=9608&r1=9607&r2=9608&view=diff
==============================================================================
--- trunk/libzypp/zypp/Locks.cc (original)
+++ trunk/libzypp/zypp/Locks.cc Mon Apr 14 14:07:29 2008
@@ -90,14 +90,39 @@
OutputIterator& out;
};
-void Locks::read( const Pathname& file )
+void Locks::readAndApply( const Pathname& file )
{
- insert_iterator ii( _pimpl->locks,
+ insert_iterator<LockList> ii( _pimpl->locks,
_pimpl->locks.end() );
- LockingOutputIterator > lout(ii);
+ LockingOutputIterator lout(ii);
readPoolQueriesFromFile( file, boost::make_function_output_iterator(lout) );
}
+struct ApplyLock
+{
+ void operator()(const PoolQuery& query) const
+ {
+ for_( it,query.begin(),query.end() )
+ {
+ PoolItem item(*it);
+ item.status().setLock(true,ResStatus::USER);
+ }
+ }
+};
+
+void Locks::read( const Pathname& file )
+{
+ readPoolQueriesFromFile(
+ file, insert_iterator<LockList>(_pimpl->locks, _pimpl->locks.end()) );
+}
+
+
+void Locks::apply()
+{
+ for_each(begin(), end(), ApplyLock());
+}
+
+
void Locks::addLock( const PoolQuery& query )
{
for_( it,query.begin(),query.end() )
@@ -105,7 +130,7 @@
PoolItem item(*it);
item.status().setLock(true,ResStatus::USER);
}
- std::list<PoolQuery>::iterator i = find(_pimpl->toRemove.begin(),
+ LockList::iterator i = find(_pimpl->toRemove.begin(),
_pimpl->toRemove.end(), query);
if ( i != _pimpl->toRemove.end() )
{
@@ -137,7 +162,7 @@
item.status().setLock(false,ResStatus::USER);
}
- std::list<PoolQuery>::iterator i = find(_pimpl->toAdd.begin(),
+ LockList::iterator i = find(_pimpl->toAdd.begin(),
_pimpl->toAdd.end(), query);
if ( i != _pimpl->toAdd.end() )
{
Modified: trunk/libzypp/zypp/Locks.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/Locks.h?rev=9608&r1=9607&r2=9608&view=diff
==============================================================================
--- trunk/libzypp/zypp/Locks.h (original)
+++ trunk/libzypp/zypp/Locks.h Mon Apr 14 14:07:29 2008
@@ -50,10 +50,11 @@
void removeLock( const ui::Selectable& selectable );
+ void readAndApply( const Pathname& file = ZConfig::instance().locksFile() );
+
void read( const Pathname& file = ZConfig::instance().locksFile() );
- //! \todo void read( const Pathname& file = ZConfig::instance().locksFile(), bool apply );
- //! \todo void apply();
+ void apply();
void save( const Pathname& file = ZConfig::instance().locksFile() );
Modified: trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc?rev=9608&r1=9607&r2=9608&view=diff
==============================================================================
--- trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc (original)
+++ trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc Mon Apr 14 14:07:29 2008
@@ -183,7 +183,7 @@
return 0;
//TODO catch posibble exceptions
- Locks::instance().read();
+ Locks::instance().readAndApply();
//current locks api doesn't support counting locked solvables
//so count it after
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org