libzypp 17.35.18
zyppng::Provide Class Reference

#include <zypp-media/ng/provide.h>

Inheritance diagram for zyppng::Provide:

Public Types

enum  Action { ABORT , RETRY , SKIP }
 
using MediaHandle = ProvideMediaHandle
 
using LazyMediaHandle = zyppng::LazyMediaHandle<Provide>
 
using Res = ProvideRes
 
using MediaChangeAction = std::optional<Action>
 
- Public Types inherited from zyppng::Base
using Ptr = std::shared_ptr<Base>
 
using WeakPtr = std::weak_ptr<Base>
 

Public Member Functions

expected< LazyMediaHandleprepareMedia (const std::vector< zypp::Url > &urls, const ProvideMediaSpec &request)
 
expected< LazyMediaHandleprepareMedia (const zypp::Url &url, const ProvideMediaSpec &request)
 
AsyncOpRef< expected< MediaHandle > > attachMediaIfNeeded (LazyMediaHandle lazyHandle)
 
AsyncOpRef< expected< MediaHandle > > attachMedia (const std::vector< zypp::Url > &urls, const ProvideMediaSpec &request)
 
AsyncOpRef< expected< MediaHandle > > attachMedia (const zypp::Url &url, const ProvideMediaSpec &request)
 
AsyncOpRef< expected< ProvideRes > > provide (const std::vector< zypp::Url > &urls, const ProvideFileSpec &request)
 
AsyncOpRef< expected< ProvideRes > > provide (const zypp::Url &url, const ProvideFileSpec &request)
 
AsyncOpRef< expected< ProvideRes > > provide (const MediaHandle &attachHandle, const zypp::Pathname &fileName, const ProvideFileSpec &request)
 
AsyncOpRef< expected< ProvideRes > > provide (const LazyMediaHandle &attachHandle, const zypp::Pathname &fileName, const ProvideFileSpec &request)
 
AsyncOpRef< expected< zypp::CheckSum > > checksumForFile (const zypp::Pathname &p, const std::string &algorithm)
 
AsyncOpRef< expected< zypp::ManagedFile > > copyFile (const zypp::Pathname &source, const zypp::Pathname &target)
 
AsyncOpRef< expected< zypp::ManagedFile > > copyFile (ProvideRes &&source, const zypp::Pathname &target)
 
void start ()
 
void setWorkerPath (const zypp::Pathname &path)
 
bool isRunning () const
 
bool ejectDevice (const std::string &queueRef, const std::string &device)
 
void setStatusTracker (ProvideStatusRef tracker)
 
const zypp::PathnameproviderWorkdir () const
 
const zypp::media::CredManagerOptionscredManangerOptions () const
 
void setCredManagerOptions (const zypp::media::CredManagerOptions &opt)
 
SignalProxy< void()> sigIdle ()
 
SignalProxy< MediaChangeAction(const std::string &queueRef, const std::string &label, const int32_t mediaNr, const std::vector< std::string > &devices, const std::optional< std::string > &desc)> sigMediaChangeRequested ()
 
SignalProxy< std::optional< zypp::media::AuthData >(const zypp::Url &reqUrl, const std::string &triedUsername, const std::map< std::string, std::string > &extraValues) > sigAuthRequired ()
 
- Public Member Functions inherited from zyppng::Base
 Base ()
 
virtual ~Base ()
 
WeakPtr parent () const
 
void addChild (const Base::Ptr &child)
 
void removeChild (const Ptr &child)
 
const std::unordered_set< Ptr > & children () const
 
std::thread::id threadId () const
 
template<typename T>
std::vector< std::weak_ptr< T > > findChildren () const
 
template<typename T>
std::shared_ptr< T > shared_this () const
 
template<typename T>
std::shared_ptr< T > shared_this ()
 
template<typename T>
std::weak_ptr< T > weak_this () const
 
template<typename T>
std::weak_ptr< T > weak_this ()
 
template<typename SenderFunc, typename ReceiverFunc>
auto connect (SenderFunc &&sFun, typename internal::MemberFunction< ReceiverFunc >::ClassType &recv, ReceiverFunc &&rFunc)
 
template<typename SenderFunc, typename ReceiverFunc, typename ... Tracker>
std::enable_if_t< std::is_member_function_pointer_v< SenderFunc >, connectionconnectFunc (SenderFunc &&sFun, ReceiverFunc &&rFunc, const Tracker &...trackers)
 

Static Public Member Functions

static ProvideRef create (const zypp::Pathname &workDir="")
 
static auto copyResultToDest (ProvideRef provider, const zypp::Pathname &targetPath)
 
- Static Public Member Functions inherited from zyppng::Base
template<typename Obj, typename Functor>
static decltype(auto) make_base_slot (Obj *o, Functor &&f)
 
template<typename SenderFunc, typename ReceiverFunc>
static auto connect (typename internal::MemberFunction< SenderFunc >::ClassType &s, SenderFunc &&sFun, typename internal::MemberFunction< ReceiverFunc >::ClassType &recv, ReceiverFunc &&rFunc)
 
template<typename SenderFunc, typename ReceiverFunc, typename ... Tracker>
static auto connectFunc (typename internal::MemberFunction< SenderFunc >::ClassType &s, SenderFunc &&sFun, ReceiverFunc &&rFunc, const Tracker &...trackers)
 

Private Member Functions

 Provide (const zypp::Pathname &workDir)
 

Friends

template<class T>
class ProvidePromise
 
class ProvideItem
 
class ProvideMediaHandle
 
class ProvideStatus
 

Additional Inherited Members

- Protected Member Functions inherited from zyppng::Base
 Base (BasePrivate &dd)
 
- Protected Attributes inherited from zyppng::Base
std::unique_ptr< BasePrivated_ptr
 

Detailed Description

Definition at line 111 of file provide.h.

Member Typedef Documentation

◆ MediaHandle

Definition at line 120 of file provide.h.

◆ LazyMediaHandle

◆ Res

Definition at line 122 of file provide.h.

◆ MediaChangeAction

Definition at line 173 of file provide.h.

Member Enumeration Documentation

◆ Action

Enumerator
ABORT 
RETRY 
SKIP 

Definition at line 168 of file provide.h.

Constructor & Destructor Documentation

◆ Provide()

zyppng::Provide::Provide ( const zypp::Pathname & workDir)
private

Definition at line 996 of file provide.cc.

Member Function Documentation

◆ create()

ProvideRef zyppng::Provide::create ( const zypp::Pathname & workDir = "")
static

Definition at line 1002 of file provide.cc.

◆ prepareMedia() [1/2]

expected< Provide::LazyMediaHandle > zyppng::Provide::prepareMedia ( const std::vector< zypp::Url > & urls,
const ProvideMediaSpec & request )

Prepares a lazy handle, that is attached only if a actual provide() is called onto it. Use this to delay a media attach until its used the first time

Definition at line 1007 of file provide.cc.

◆ prepareMedia() [2/2]

expected< Provide::LazyMediaHandle > zyppng::Provide::prepareMedia ( const zypp::Url & url,
const ProvideMediaSpec & request )

Definition at line 1018 of file provide.cc.

◆ attachMediaIfNeeded()

AsyncOpRef< expected< Provide::MediaHandle > > zyppng::Provide::attachMediaIfNeeded ( LazyMediaHandle lazyHandle)

Definition at line 1023 of file provide.cc.

◆ attachMedia() [1/2]

AsyncOpRef< expected< Provide::MediaHandle > > zyppng::Provide::attachMedia ( const std::vector< zypp::Url > & urls,
const ProvideMediaSpec & request )

Definition at line 1043 of file provide.cc.

◆ attachMedia() [2/2]

AsyncOpRef< expected< Provide::MediaHandle > > zyppng::Provide::attachMedia ( const zypp::Url & url,
const ProvideMediaSpec & request )

Definition at line 1038 of file provide.cc.

◆ provide() [1/4]

AsyncOpRef< expected< ProvideRes > > zyppng::Provide::provide ( const std::vector< zypp::Url > & urls,
const ProvideFileSpec & request )

Definition at line 1066 of file provide.cc.

◆ provide() [2/4]

AsyncOpRef< expected< ProvideRes > > zyppng::Provide::provide ( const zypp::Url & url,
const ProvideFileSpec & request )

Definition at line 1074 of file provide.cc.

◆ provide() [3/4]

AsyncOpRef< expected< ProvideRes > > zyppng::Provide::provide ( const MediaHandle & attachHandle,
const zypp::Pathname & fileName,
const ProvideFileSpec & request )

Definition at line 1079 of file provide.cc.

◆ provide() [4/4]

AsyncOpRef< expected< ProvideRes > > zyppng::Provide::provide ( const LazyMediaHandle & attachHandle,
const zypp::Pathname & fileName,
const ProvideFileSpec & request )

Definition at line 1108 of file provide.cc.

◆ checksumForFile()

zyppng::AsyncOpRef< zyppng::expected< zypp::CheckSum > > zyppng::Provide::checksumForFile ( const zypp::Pathname & p,
const std::string & algorithm )

Schedules a job to calculate the checksum for the given file

Definition at line 1120 of file provide.cc.

◆ copyFile() [1/2]

AsyncOpRef< expected< zypp::ManagedFile > > zyppng::Provide::copyFile ( const zypp::Pathname & source,
const zypp::Pathname & target )

Schedules a copy job to copy a file from source to target

Definition at line 1140 of file provide.cc.

◆ copyFile() [2/2]

AsyncOpRef< expected< zypp::ManagedFile > > zyppng::Provide::copyFile ( ProvideRes && source,
const zypp::Pathname & target )

Definition at line 1153 of file provide.cc.

◆ start()

void zyppng::Provide::start ( )

Definition at line 1166 of file provide.cc.

◆ setWorkerPath()

void zyppng::Provide::setWorkerPath ( const zypp::Pathname & path)

Definition at line 1175 of file provide.cc.

◆ isRunning()

bool zyppng::Provide::isRunning ( ) const

◆ ejectDevice()

bool zyppng::Provide::ejectDevice ( const std::string & queueRef,
const std::string & device )

Definition at line 1180 of file provide.cc.

◆ setStatusTracker()

void zyppng::Provide::setStatusTracker ( ProvideStatusRef tracker)

Definition at line 1188 of file provide.cc.

◆ providerWorkdir()

const zypp::Pathname & zyppng::Provide::providerWorkdir ( ) const

Definition at line 1193 of file provide.cc.

◆ credManangerOptions()

const zypp::media::CredManagerOptions & zyppng::Provide::credManangerOptions ( ) const

Definition at line 1198 of file provide.cc.

◆ setCredManagerOptions()

void zyppng::Provide::setCredManagerOptions ( const zypp::media::CredManagerOptions & opt)

Definition at line 1204 of file provide.cc.

◆ sigIdle()

SignalProxy< void()> zyppng::Provide::sigIdle ( )

Definition at line 1209 of file provide.cc.

◆ sigMediaChangeRequested()

SignalProxy< Provide::MediaChangeAction(const std::string &queueRef, const std::string &, const int32_t, const std::vector< std::string > &, const std::optional< std::string > &)> zyppng::Provide::sigMediaChangeRequested ( )

Connect to this signal to handle media change requests

Note
It is NOT supported to shutdown the provider or cancel items when in this callback Returning Abort here will effectively cancel the current item anyway.

Definition at line 1214 of file provide.cc.

◆ sigAuthRequired()

SignalProxy< std::optional< zypp::media::AuthData >(const zypp::Url &reqUrl, const std::string &triedUsername, const std::map< std::string, std::string > &extraValues) > zyppng::Provide::sigAuthRequired ( )

This signal is emitted in case a request signaled a need to get Auth Info and nothing was found in the zypp::media::CredentialManager.

Definition at line 1219 of file provide.cc.

◆ copyResultToDest()

static auto zyppng::Provide::copyResultToDest ( ProvideRef provider,
const zypp::Pathname & targetPath )
inlinestatic

Definition at line 190 of file provide.h.

Friends And Related Symbol Documentation

◆ ProvidePromise

template<class T>
friend class ProvidePromise
friend

Definition at line 114 of file provide.h.

◆ ProvideItem

friend class ProvideItem
friend

Definition at line 115 of file provide.h.

◆ ProvideMediaHandle

friend class ProvideMediaHandle
friend

Definition at line 116 of file provide.h.

◆ ProvideStatus

friend class ProvideStatus
friend

Definition at line 117 of file provide.h.


The documentation for this class was generated from the following files: