libzypp 17.37.18
Todo List
File Digest.h
replace by Blocxx
Module ITERATOR
Separate them into individual zypp header files.
Member SET_OPTION (opt, val)
deprecate SET_OPTION and use the typed versions below.
Member ztui::Out::DEBUG
drop this level in favor of zypper.log?
Class ztui::out::ListLayout
fix design made in eile
Class ztui::Out::ProgressBar
ProgressData provides NumericId which might be used as id for_out.progress*().
Member ztui::Out::searchResult (const Table &table_r)
Using a more generic format than a Table is desired.
Class ztui::Table
nice idea but poor interface
Member ztui::Table::dumpTo (std::ostream &stream) const
allow abbrev of multiple columns?
Class zypp::base::ReferenceCounted
Make counter thread safe.
Class zypp::C_Str
Check whether to replace by boost::string_ref
Class zypp::DefaultIntegral< Tp, TInitial >

maybe specialize for bool, add logical and bit operators

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

Class zypp::DtorReset
Check if using call_traits enables 'DtorReset(std::string,"value")', as this currently would require assignment of 'char[]'.
Class zypp::Exception
That's a draft to have a common way of throwing exceptions. Most probably, 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.
Namespace zypp::filesystem

move zypp::filesystem stuff into separate header

Add tmpfile and tmpdir handling.

think about using Exceptions in zypp::filesystem

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

Member zypp::filesystem::erase (const Pathname &path)
check cooperation with zypp::TmpFile and zypp::TmpDir
Member zypp::filesystem::FileType
Think about an Enumeration Class
Class zypp::filesystem::Pathname
Add support for handling extensions incl. stripping extensions from basename (basename("/path/foo.baa", ".baa") ==> "foo")
Member zypp::filesystem::readdir (std::list< std::string > &retlist, const Pathname &path, bool dots=true) ZYPP_API
provide some readdirIterator.
Member zypp::filesystem::readdir (std::list< Pathname > &retlist, const Pathname &path, bool dots=true) ZYPP_API
provide some readdirIterator.
Class zypp::media::CredentialManager

better method names

delete(AuthData) method

Member zypp::media::CredentialManager::addCred (const AuthData &cred)

ask user where to store these creds. saving to user creds for now

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?
Member zypp::media::CredentialManager::saveInFile (const AuthData &, const Pathname &credFile)
figure out the reason(?), call back to user
Struct zypp::media::CredManagerOptions
configurable cred file locations
Member zypp::media::MediaCIFS::authenticate (AuthData &authdata, bool firstTry) const

need a way to pass different CredManagerOptions here

add comma to the message for the next release

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)

Member zypp::media::MediaNetworkCommonHandler::authenticate (const Url &url, TransferSettings &settings, const std::string &availAuthTypes, bool firstTry)
need a way to pass different CredManagerOptions here
Member zypp::media::MediaNetworkCommonHandler::authenticate (const Url &url, CredentialManager &cm, TransferSettings &settings, const std::string &availAuthTypes, bool firstTry)
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)
Class zypp::media::MediaPriority
Maybe introduce a static tribool, to allow overwriting zypp.conf(download.media_preference) default.
Member zypp::str::toLower (const std::string &s) ZYPP_API
improve
Member zypp::str::toUpper (const std::string &s) ZYPP_API
improve
Struct zyppng::detail::is_nested_async< T >
with newer C++ versions revisit the possibility to use non shared ptr types throughout the pipeline instead of the current smart pointer solution.
Class zyppng::ProcessPrivate
We will receive a started signal here before exec was called, so sigStarted actually just signals that the fork has worked out but NOT that the app actually started
Member zyppng::ProvideFileSpec::customHeaders ()
should this actually just be a list of pair(string,string) instead of map? -> easier way to send multiple values to a worker