Todo List

Class zypp::Capability
Need a trival return from matches. E.g. Conditional cpabilities must be able to indicate that they should be treated as if they were not present at all, if the precondition does no apply. Same for the defaut Capability.

Member zypp::capability::CapabilityImpl::encode () const=0
check it!

Class zypp::CapFactory
define EXCEPTIONS

Class zypp::CapFactory
Parser needs improvement in speed and accuracy.

Member zypp::CapFactory::Impl::buildVersioned (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r, const Edition &edition_r)
Quick check for name not being filename or split.

Member zypp::CapFactory::Impl::buildHal (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r=RelANY, const std::string &value_r=stdstring())
Fix incaccuracy.

Member zypp::CapFactory::Impl::buildModalias (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r=RelANY, const std::string &value_r=stdstring())
Fix incaccuracy.

Class zypp::DefaultIntegral< _Tp, _Initial >
maybe specialize for bool, add logical and bit operators

Member zypp::Dep::Dep (const std::string &strval_r)
refine exceptions and check throw.

Class zypp::Edition
Define exceptions.

Class zypp::Edition
optimize implementation(e.g don't store epoch if noepoch)

Class zypp::Edition
implement debian comparison and make choice backend specific

Class zypp::Edition
optimize noedition. unified Impl and quick check in compare.

Class zypp::Edition::Impl
Unifiy Impl in Edition::noedition and Edition::Edition()

Class zypp::Exception
That's a draft to have a common way of throwing exceptions. Most probabely we'll finally use blocxx exceptions. Here, but not in the remaining code of zypp. If we can we should try to wrap the blocxx macros and typedef the classes in here.

Class zypp::Exception
maybe location and message stack.

Class zypp::FailedSourcesRestoreException
move to separate header file.

Class zypp::base::Fd
It's dumb. Openflags and more related functions (read/write..) could be added.

Class zypp::capability::FileCap
Check whether we have to look into the Resolable filelist as well.

Class zypp::pool::GetResolvablesToInsDel
Replace enum Order and take a functor that that determines how to group the resolvables.

Class zypp::target::hal::HalContext
: wrap more functions.

Class zypp::target::hal::HalDrive
: wrap more functions.

Class zypp::target::hal::HalVolume
: wrap more functions.

Member zypp::name_kind_proxy_details::IOrder::operator() (const PoolItem &lhs, const PoolItem &rhs) const
let ResObject provide installtime

Class zypp::KindOf< _Tp >
Unify strings and associate numerical value for more efficient comparison and use in switch.

Class zypp::KindOf< _Tp >
Make lowercased/uppercased/etc an option. First of all get rid of the string::toLower calls operator.

Class zypp::KindOf< _Tp >
Maybe collaboration with some sort of Registry.

Member zypp::KindOf::compare (const KindOf &rhs) const
Enable class _Tp to define the order, Fix logical operators below to use compare,

Class zypp::NameKindProxy
provide status query and manipulation methods

Class zypp::Patch
Patch::atoms can't be const, if Impl does not provide a const method. Check it.

Class zypp::detail::PatchImpl
Get rid of string based ResKind detection in e.g. PatchImpl::interactive.

Class zypp::filesystem::Pathname
Add support for handling extensions incl. stripping extensions from basename (basename("/path/foo.baa", ".baa") ==> "foo")

Class zypp::filesystem::Pathname
Review. Maybe use COW pimpl, ckeck storage.

Class zypp::filesystem::Pathname
EXPLICIT ctors.

Member zypp::pool::PoolImpl::targetArch () const
no poll, but make ZYpp distribute it.

Member zypp::PoolItem_Ref::PoolItemSaver
get rid of it.

Class zypp::base::ReferenceCounted
Make counter thread safe.

Member zypp::Rel::Rel (const std::string &strval_r)
refine exceptions and check throw.

Class zypp::detail::ResObjectImplIf
We should rename the detail::*Impl classes, and classify them into Dumb (holding no real data, provided the ImplIf dtor is the only prure virtual) and FullStore (providing a protected variable and interface methods returning them for each datum). The todo hook is here, because it::s the common base of the *Impl classes.

Member zypp::detail::ResObjectImplIf::insnotify () const PURE_VIRTUAL
well define!

Member zypp::detail::ResObjectImplIf::delnotify () const PURE_VIRTUAL
well define!

Member zypp::detail::ResObjectImplIf::size () const PURE_VIRTUAL
well define which size.

Member zypp::ResPoolManager::proxy () const
Speedup by using a data mamaber invaidated only whenever the pool content changes

Member zypp::ResPoolManager::proxy () const
FIXIT

Class zypp::ResPoolProxy
Make it a _Ref.

Class zypp::base::SafeBool< _Derived >
Investigate why Bit refuses private inheritance and exposition of operator bool_type. Seems to be a gcc bug. protected works.

Class zypp::ui::Selectable
Make it a _Ref.

Member zypp::SelPoolHelper::SelectableIndex
Cleanup typedefs

Member zypp::Source_Ref::noSource
provide a _constRef

Class zypp::SourceFeed_Ref
Clean up implementation.

Class zypp::source::SourceImpl
Provide class NoSourceImpl and protect it against manipulation of data via set methods (or erase them).

Class zypp::SourceManager
make it a resl singleton

Class zypp::SourceManager
throwing findSource is not acceptable, return either a Source or noSource.

Class zypp::SourceManager
Make restore either void or nonthrowing, but two ways of error reporting is bad.

Member zypp::SourceManager::restore (Pathname root_r, bool use_caches=true, const std::string &alias_filter="", const std::string &url_filter="")
Broken design: either use return value or Exception to indicate errors, not both.

Class zypp::SourcesAlreadyRestoredException
move to separate header file.

Class zypp::capability::SplitCap
implement matches().

Class zypp::capability::SplitCap
See where and how we handle it. Currently the info is just stored here. Splits packagename:/absolute/path are shipped as provides (SuSE packages file), but have to be freshens, and implemented as ConditionalCap.

Member zypp::Target::getResolvablesToInsDel (const ResPool pool_r, PoolItemList &dellist_r, PoolItemList &instlist_r, PoolItemList &srclist_r) const
provide it as standalone algorithm

Member zypp::TranslatedText::Impl::detectLanguage () const
Do it by accessing the global ZYpp.

Class zypp::ZYpp
define Exceptions

Class zypp::ZYppCommitResult
document fields.

Member zypp::zypp_detail::ZYppImpl::target () const
Signal locale change.

Member zypp::zypp_detail::ZYppImpl::commit (const ZYppCommitPolicy &policy_r)
Remove workflow from target, lot's of it could be done here, and target used for transact.

Member zypp::zypp_detail::ZYppImpl::setTextLocale (const Locale &textLocale_r)
Signal locale change.

File ExternalDataSource.cc
replace by Blocxx

File ExternalDataSource.h
replace by Blocxx

Member zypp::iostr::forEachLine (std::istream &str_r, _Function &consume_r)
Should be templated and specialized according to the functors return type, to allow void consumer.

Member zypp::str::toLower (const std::string &s)
improve

Member zypp::str::toUpper (const std::string &s)
improve

File Digest.cc
replace by Blocxx

File Digest.h
replace by Blocxx

Member zypp::rpmverscmp (const std::string &lhs, const std::string &rhs)
review

Member zypp::filesystem::readdir (std::list< std::string > &retlist, const Pathname &path, bool dots=true)
provide some readdirIterator.

Member zypp::filesystem::readdir (std::list< Pathname > &retlist, const Pathname &path, bool dots=true)
provide some readdirIterator.

Member zypp::filesystem::erase (const Pathname &path)
check cooperation with zypp::TmpFile and zypp::TmpDir

Member zypp::filesystem::FileType
Think about an Enumeration Class

Member zypp::ResPool_Ref
rename class and eliminate typedef.

Member zypp::ui::Status
make it an EnumerationClass

Namespace zypp::bit
Use boost::mpl library to assert constraints at compiletime! There various like (_IntT is an integral type) (begin+size < maxbits) or ( field dependent constants must be within the range defined by size ).

Namespace zypp::filesystem
move zypp::filesystem stuff into separate header

Namespace zypp::filesystem
Add tmpfile and tmpdir handling.

Namespace zypp::filesystem
think about using Exceptions in zypp::filesystem

Namespace zypp::filesystem
provide a readdir iterator; at least provide an interface using an insert_iterator to be independent from std::container.

Namespace zypp::functor::functor_detail
drop it an use boost::ref

Namespace zypp::HACK
Eliminate this!

Group ITERATOR
Separate them into individual zypp header files.

Generated on Tue Nov 28 16:49:35 2006 for zypp by  doxygen 1.5.0