Author: jkupec
Date: Mon Apr 14 13:37:26 2008
New Revision: 9607
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9607&view=rev
Log:
- make the interface consistent
- iterator addedd
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=9607&r1=9606&r2=9607&view=diff
==============================================================================
--- trunk/libzypp/tests/zypp/Locks_test.cc (original)
+++ trunk/libzypp/tests/zypp/Locks_test.cc Mon Apr 14 13:37:26 2008
@@ -84,14 +84,14 @@
cout << "****save/load****" << endl;
Pathname src(TESTS_SRC_DIR);
src += "zypp/data/Locks/locks";
- Locks::instance().loadLocks(src);
+ Locks::instance().read(src);
PoolQuery q;
q.addString("zypper");
for_(it,q.begin(),q.end())
{
BOOST_CHECK(isLocked(*it));
}
- Locks::instance().unlock(q);
+ Locks::instance().removeLock(q);
for_(it,q.begin(),q.end())
{
BOOST_CHECK(!isLocked(*it));
@@ -100,16 +100,16 @@
filesystem::TmpFile testfile;
//Pathname testfile(TESTS_SRC_DIR);
// testfile += "/zypp/data/Locks/testlocks";
- Locks::instance().saveLocks(testfile);
- Locks::instance().loadLocks(testfile);
+ Locks::instance().save(testfile);
+ Locks::instance().read(testfile);
//still locked
for_(it,q.begin(),q.end())
{
BOOST_CHECK(isLocked(*it));
}
- Locks::instance().unlock(q); //need twice because finded from previous test
- Locks::instance().saveLocks(testfile);
- Locks::instance().loadLocks(testfile);
+ Locks::instance().removeLock(q); //need twice because finded from previous test
+ Locks::instance().save(testfile);
+ Locks::instance().read(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=9607&r1=9606&r2=9607&view=diff
==============================================================================
--- trunk/libzypp/zypp/Locks.cc (original)
+++ trunk/libzypp/zypp/Locks.cc Mon Apr 14 13:37:26 2008
@@ -43,16 +43,27 @@
class Locks::Impl
{
public:
- std::list<PoolQuery> locks;
- std::list<PoolQuery> toAdd;
- std::list<PoolQuery> toRemove;
+ LockList locks;
+ LockList toAdd;
+ LockList toRemove;
bool mergeList(callback::SendReport<SavingLocksReport>& report);
-
};
Locks::Locks() : _pimpl(new Impl){}
+Locks::iterator Locks::begin()
+{ return _pimpl->locks.begin(); }
+
+Locks::iterator Locks::end()
+{ return _pimpl->locks.end(); }
+
+Locks::LockList::size_type Locks::size()
+{ return _pimpl->locks.size(); }
+
+bool Locks::empty()
+{ return _pimpl->locks.empty(); }
+
/**
* iterator that takes lock, lock all solvables from query
* and send query to output iterator
@@ -79,7 +90,7 @@
OutputIterator& out;
};
-void Locks::loadLocks( const Pathname& file )
+void Locks::read( const Pathname& file )
{
insert_iterator ii( _pimpl->locks,
_pimpl->locks.end() );
@@ -118,7 +129,7 @@
addLock( q );
}
-void Locks::unlock( const PoolQuery& query )
+void Locks::removeLock( const PoolQuery& query )
{
for_( it,query.begin(),query.end() )
{
@@ -140,7 +151,7 @@
}
}
-void Locks::unlock( const ui::Selectable& s )
+void Locks::removeLock( const ui::Selectable& s )
{
PoolQuery q;
q.addAttribute( sat::SolvAttr::name,s.name() );
@@ -148,10 +159,10 @@
q.setMatchExact();
q.setCaseSensitive(true);
q.requireAll();
- unlock(q);
+ removeLock(q);
}
-bool Locks::existEmptyLocks()
+bool Locks::existEmpty()
{
for_( it, _pimpl->locks.begin(), _pimpl->locks.end() )
{
@@ -209,7 +220,7 @@
};
-void Locks::removeEmptyLocks()
+void Locks::removeEmpty()
{
callback::SendReport<CleanEmptyLocksReport> report;
report->start();
@@ -320,7 +331,7 @@
return true;
}
-void Locks::saveLocks( const Pathname& file )
+void Locks::save( const Pathname& file )
{
callback::SendReport<SavingLocksReport> report;
report->start();
Modified: trunk/libzypp/zypp/Locks.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/Locks.h?rev=9607&r1=9606&r2=9607&view=diff
==============================================================================
--- trunk/libzypp/zypp/Locks.h (original)
+++ trunk/libzypp/zypp/Locks.h Mon Apr 14 13:37:26 2008
@@ -12,10 +12,26 @@
class Locks
{
public:
+ typedef std::list<PoolQuery> LockList;
+ typedef LockList::const_iterator iterator;
+ public:
class Impl;
static Locks& instance();
+ iterator begin();
+ iterator end();
+ LockList::size_type size();
+ bool empty();
+
+ /**
+ * TODO add:
+ * applied{Begin,End,Size,Empty}
+ * toBeAdded{Begin,End,Size,Empty}
+ * toBeRemoved{Begin,End,Size,Empty}
+ * bool dirty();
+ */
+
/**
* locks all solvables which is result of query
*/
@@ -30,17 +46,20 @@
* unlocks all solvables which is result of query.
* Can call callback
*/
- void unlock( const PoolQuery& query );
+ void removeLock( const PoolQuery& query );
- void unlock( const ui::Selectable& selectable );
+ void removeLock( const ui::Selectable& selectable );
- void loadLocks( const Pathname& file = ZConfig::instance().locksFile() );
+ void read( const Pathname& file = ZConfig::instance().locksFile() );
- void saveLocks( const Pathname& file = ZConfig::instance().locksFile() );
+ //! \todo void read( const Pathname& file = ZConfig::instance().locksFile(), bool apply );
+ //! \todo void apply();
- bool existEmptyLocks();
+ void save( const Pathname& file = ZConfig::instance().locksFile() );
+
+ bool existEmpty();
- void removeEmptyLocks();
+ void removeEmpty();
private:
Locks();
Modified: trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc?rev=9607&r1=9606&r2=9607&view=diff
==============================================================================
--- trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc (original)
+++ trunk/libzypp/zypp/zypp_detail/ZYppImpl.cc Mon Apr 14 13:37:26 2008
@@ -183,9 +183,9 @@
return 0;
//TODO catch posibble exceptions
- Locks::instance().loadLocks();
+ Locks::instance().read();
- //current locks api doesn't support counting lock
+ //current locks api doesn't support counting locked solvables
//so count it after
int count = 0;
for_(it, sat::Pool::instance().solvablesBegin(),
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org