libzypp  17.25.6
Todo List
Member zypp::Rel::Rel (const std::string &strval_r)
refine exceptions and check throw.
Module RESFILTERS
migrate to namespace filter and enhance to support Solvables as well.
Module Repository content manipulating methods.
maybe a separate Repository/Solvable content manip interface provided by the pool.
Member zypp::RepoManager::Impl::modifyService (const std::string &oldAlias, const ServiceInfo &newService)
refresh the service automatically if url is changed?
Member zypp::RepoManager::Impl::refreshService (const std::string &alias, const RefreshServiceOptions &options_r)
add callbacks for apps (start, end, repo removed, repo added, repo changed)?
Member zypp::repo::susetags::Downloader::download (MediaSetAccess &media, const Pathname &dest_dir, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc()) override
: Downloading/sigcheck of master index shoudl be common in base class
Member zypp::repo::RepoMediaAccess::provideFile (RepoInfo repo_r, const OnMediaLocation &loc_r, const ProvideFilePolicy &policy_r)
Investigate why this needs a non-const Repository as arg.
Member zypp::repo::RepoMediaAccess::Impl::mediaAccessForUrl (const Url &url, RepoInfo repo)
This mixture of media and repos specific data is fragile.
Class zypp::packagedelta::DeltaRpm
cheap copy! (switch to RWCOW)
Member makeDeltaCandidates
templated ctor
Member makeDeltaCandidates
templated ctor
Class zypp::ResObject
Merge with Resolvable
Member zypp::Product::UrlList::ListType
Change to directly iterate the .solv
Member zypp::PoolQuery::addAttribute (const sat::SolvAttr &attr, const std::string &value="")
check the above
Class zypp::PoolItemBest
Support arbitrary Predicates.
Member zypp::PoolItem::PoolItemSaver
get rid of it.
Module Poor man's save/restore state.
There may be better save/restore state strategies.
Class zypp::filesystem::Pathname
Add support for handling extensions incl. stripping extensions from basename (basename("/path/foo.baa", ".baa") ==> "foo")
Member zypp::filesystem::erase (const Pathname &path)
check cooperation with zypp::TmpFile and zypp::TmpDir
Module Digest computaion.
check cooperation with zypp::Digest
Member zypp::filesystem::readdir (std::list< Pathname > &retlist, const Pathname &path, bool dots=true)
provide some readdirIterator.
Member zypp::filesystem::readdir (std::list< std::string > &retlist, const Pathname &path, bool dots=true)
provide some readdirIterator.
Class zypp::sat::WhatObsoletes
Publish obsoleteUsesProvides config option.
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.
Class zypp::ZYpp
define Exceptions ZYpp API main interface
Class zypp::ZConfig::Impl
Enrich section and entry definition by some comment (including the default setting and provide some method to write this into a sample zypp.conf.
Member zypp::ui::Status
make it an EnumerationClass
Class zypp::ui::StatusHelper
Unify status and pickStatus.
Class zypp::target::RpmPostTransCollector
Maybe embedd this into the TransactionSteps.
Member zypp::filesystem::FileType
Think about an Enumeration Class
Class zypp::sat::Queue
template value_type to work with IString and other Id based types
Class zypp::sat::ArrayAttr< TResult, TAttr >
Maybe add some way to unify the result.
Class zypp::sat::LocaleSupport
If iterator is too slow install a proxy watching the Pool::serial.
Member zypp::sat::detail::PoolImpl::getRepo (RepoIdType id_r) const
a quick check whether the repo was meanwhile deleted.
Member zypp::sat::detail::PoolImpl::prepare () const
actually requires a watcher.
Class zypp::ResPoolProxy
integrate it into ResPool
Class zypp::ResPoolProxy::Impl
Seedup as it is still using old index
Class zypp::Resolvable

Get rid of refcout/smart_prt bloat, as this type is actually IdBased (i.e. sizeof(unsigned))

Merge with ResObject

Member zypp::make (const sat::Solvable &solvable_r)
make<> was a poor choice (AFAIR because gcc had some trouble with asKind<>(sat::Solvable)). Remove it in favour of asKind<>(sat::Solvable)
Member zypp::str::toLower (const std::string &s)
improve
Member zypp::media::CredentialManager::addCred (const AuthData &cred)
ask user where to store these creds. saving to user creds for now
Class zypp::IdStringType< Derived >

allow redefinition of order vis _doCompare not only for char* but on any level

Class zypp::HistoryLog
The implementation as pseudo signleton is questionable. Use shared_ptr instead of handcrafted ref/unref. Manage multiple logs at different locations.
Member zypp::Fetcher::enqueueDigested (const OnMediaLocation &resource, const FileChecker &checker=FileChecker(), const Pathname &deltafile=Pathname())
FIXME implement checker == operator to avoid this.
File Digest.h
replace by Blocxx
File Digest.cc
replace by Blocxx
Member zypp::Dep::Dep (const std::string &strval_r)
refine exceptions and check throw.
Namespace zypp::HACK
Eliminate this!
Namespace zypp::bit
Use boost::mpl library to assert constraints at compiletime! There various like (TInt is an integral type) (begin+size < maxbits) or ( field dependent constants must be within the range defined by size ).
Member zypp::str::toUpper (const std::string &s)
improve
Member zypp::media::CredentialManager::saveInFile (const AuthData &, const Pathname &credFile)
figure out the reason(?), call back to user
Module Hexencode.
unsecape()
Module Trimming whitepace.
optimize l/r trim.
Class zypp::C_Str
Check whether to replace by boost::string_ref
Class zypp::base::ReferenceCounted
Make counter thread safe.
Module ITERATOR
Separate them into individual zypp header files.
Namespace zypp::functor::functor_detail
drop it an use boost::ref
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::DtorReset
Check if using call_traits enables 'DtorReset(std::string,"value")', as this currently would require assignment of 'char[]'.
Class zypp::DefaultIntegral< Tp, TInitial >

let TInitial default to 0 then remove base/Counter.h

maybe specialize for bool, add logical and bit operators

Member zypp::media::MediaCurl::authenticate (const std::string &availAuthTypes, bool firstTry) const
find a way to save the url with changed username back to repoinfo or dont store urls with username (and either forbid more repos with the same url and different user, or return a set of credentials from CM and try them one by one)
Namespace zypp::filesystem

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

think about using Exceptions in zypp::filesystem

Add tmpfile and tmpdir handling.

move zypp::filesystem stuff into separate header

Member zypp::parser::yum::RepomdFileReader::Impl::consumeNode (Reader &reader_r)
xpath: /repomd/open-checksum (?)
Class zypp::xml::Validate
Implement RelaxNG and W3C XSD
Class zypp::xml::ParseDef::Impl
Check using share_ptr_from_this for parent in addNode.
Member zypp::misc::defaultLoadSystem (const Pathname &sysRoot_r="/", LoadSystemFlags flags_r=LoadSystemFlags())
properly handle service refreshs
Member zypp::MediaSetAccess::provideDir (const Pathname &dir, bool recursive, unsigned media_nr=1, ProvideFileOptions options=PROVIDE_DEFAULT)
throw SkipRequestException if a problem occured and user has chosen to skip the current operation. The calling code should continue with the next one, if possible.
Class zypp::media::MediaPriority
Maybe introduce a static tribool, to allow overwriting zypp.conf(download.media_preference) default.
Member zypp::Arch::CompatEntry::CompatBits
Migrate to some infinite BitField
Member zypp::media::MediaCurl::authenticate (const std::string &availAuthTypes, bool firstTry) const
need a way to pass different CredManagerOptions here
Member SET_OPTION (opt, val)
deprecate SET_OPTION and use the typed versions below.
Member zypp::media::MediaCIFS::authenticate (AuthData &authdata, bool firstTry) const

find a way to save the url with changed username back to repoinfo or dont store urls with username (and either forbid more repos with the same url and different user, or return a set of credentials from CM and try them one by one)

add comma to the message for the next release

need a way to pass different CredManagerOptions here

Member zypp::media::CredentialManager::addCred (const AuthData &cred)
Currently no callback is called, credentials are automatically saved to user's credentials.cat if no 'credentials' parameter has been specified
Member zypp::media::CredentialManager::getCred (const Url &url)
return a copy instead?
Class zypp::media::CredentialManager

delete(AuthData) method

better method names

Class zypp::media::CredManagerOptions
configurable cred file locations