libzypp 17.37.17
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 zypp::MirroredOrigin &origin, const ProvideMediaSpec &request)
expected< LazyMediaHandleprepareMedia (const zypp::Url &url, const ProvideMediaSpec &request)
AsyncOpRef< expected< MediaHandle > > attachMediaIfNeeded (LazyMediaHandle lazyHandle)
AsyncOpRef< expected< MediaHandle > > attachMedia (const zypp::MirroredOrigin &origin, const ProvideMediaSpec &request)
AsyncOpRef< expected< MediaHandle > > attachMedia (const zypp::Url &url, const ProvideMediaSpec &request)
AsyncOpRef< expected< ProvideRes > > provide (const zypp::MirroredOrigin &origin, 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 115 of file provide.h.

Member Typedef Documentation

◆ MediaHandle

Definition at line 124 of file provide.h.

◆ LazyMediaHandle

◆ Res

Definition at line 126 of file provide.h.

◆ MediaChangeAction

Definition at line 177 of file provide.h.

Member Enumeration Documentation

◆ Action

Enumerator
ABORT 
RETRY 
SKIP 

Definition at line 172 of file provide.h.

Constructor & Destructor Documentation

◆ Provide()

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

Definition at line 999 of file provide.cc.

Member Function Documentation

◆ create()

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

Definition at line 1005 of file provide.cc.

◆ prepareMedia() [1/2]

expected< Provide::LazyMediaHandle > zyppng::Provide::prepareMedia ( const zypp::MirroredOrigin & origin,
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 1010 of file provide.cc.

◆ prepareMedia() [2/2]

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

Definition at line 1021 of file provide.cc.

◆ attachMediaIfNeeded()

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

Definition at line 1026 of file provide.cc.

◆ attachMedia() [1/2]

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

Definition at line 1046 of file provide.cc.

◆ attachMedia() [2/2]

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

Definition at line 1041 of file provide.cc.

◆ provide() [1/4]

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

Definition at line 1069 of file provide.cc.

◆ provide() [2/4]

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

Definition at line 1084 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 1089 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 1123 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 1135 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 1155 of file provide.cc.

◆ copyFile() [2/2]

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

Definition at line 1168 of file provide.cc.

◆ start()

void zyppng::Provide::start ( )

Definition at line 1181 of file provide.cc.

◆ setWorkerPath()

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

Definition at line 1190 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 1195 of file provide.cc.

◆ setStatusTracker()

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

Definition at line 1203 of file provide.cc.

◆ providerWorkdir()

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

Definition at line 1208 of file provide.cc.

◆ credManangerOptions()

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

Definition at line 1213 of file provide.cc.

◆ setCredManagerOptions()

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

Definition at line 1219 of file provide.cc.

◆ sigIdle()

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

Definition at line 1224 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 1229 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 1234 of file provide.cc.

◆ copyResultToDest()

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

Definition at line 194 of file provide.h.

◆ ProvidePromise

template<class T>
friend class ProvidePromise
friend

Definition at line 118 of file provide.h.

◆ ProvideItem

friend class ProvideItem
friend

Definition at line 119 of file provide.h.

◆ ProvideMediaHandle

friend class ProvideMediaHandle
friend

Definition at line 120 of file provide.h.

◆ ProvideStatus

friend class ProvideStatus
friend

Definition at line 121 of file provide.h.


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