14 #ifndef ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADER_P_H_INCLUDED 15 #define ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADER_P_H_INCLUDED 17 #include <zypp-core/zyppng/base/statemachine.h> 27 #if ENABLE_ZCHUNK_COMPRESSION 46 template <
typename Derived>
49 Transition< InitialState, &InitialState::sigTransitionToDetectMetalinkState, DetectMetalinkState >,
50 Transition< InitialState, &InitialState::sigTransitionToDlMetaLinkInfoState, DlMetaLinkInfoState >,
51 #if ENABLE_ZCHUNK_COMPRESSION 52 Transition< InitialState, &InitialState::sigTransitionToDLZckHeaderState, DLZckHeadState, DefaultStateCondition, &InitialState::toDLZckHeadState >,
54 Transition< InitialState, &InitialState::sigTransitionToDlNormalFileState, DlNormalFileState >,
56 Transition< DetectMetalinkState, &DetectMetalinkState::sigFinished, DlMetaLinkInfoState, &DetectMetalinkState::toMetalinkGuard, &DetectMetalinkState::toDlMetaLinkInfoState >,
57 #if ENABLE_ZCHUNK_COMPRESSION 58 Transition< DetectMetalinkState, &DetectMetalinkState::sigFinished, DLZckHeadState, &DetectMetalinkState::toZckHeadDownloadGuard, &DetectMetalinkState::toDLZckHeadState >,
60 Transition< DetectMetalinkState, &DetectMetalinkState::sigFinished, DlNormalFileState, &DetectMetalinkState::toSimpleDownloadGuard >,
62 Transition< DlMetaLinkInfoState, &DlMetaLinkInfoState::sigFinished, FinishedState, DefaultStateCondition, &DlMetaLinkInfoState::transitionToFinished >,
63 Transition< DlMetaLinkInfoState, &DlMetaLinkInfoState::sigGotMetadata, PrepareMultiState, DefaultStateCondition, &DlMetaLinkInfoState::transitionToPrepareMulti >,
64 Transition< DlMetaLinkInfoState, &DlMetaLinkInfoState::sigFailed, FinishedState, DefaultStateCondition, &DlMetaLinkInfoState::transitionToFinished >,
66 Transition< PrepareMultiState, &PrepareMultiState::sigFinished, DlMetalinkState, &PrepareMultiState::toMetalinkDownloadGuard , &PrepareMultiState::transitionToMetalinkDl >,
67 #if ENABLE_ZCHUNK_COMPRESSION 68 Transition< PrepareMultiState, &PrepareMultiState::sigFinished, DLZckHeadState, &PrepareMultiState::toZckHeadDownloadGuard, &PrepareMultiState::transitionToZckHeadDl >,
70 Transition< PrepareMultiState, &PrepareMultiState::sigFallback, DlNormalFileState, DefaultStateCondition, &PrepareMultiState::fallbackToNormalTransition >,
71 Transition< PrepareMultiState, &PrepareMultiState::sigFailed, DlNormalFileState >,
73 #if ENABLE_ZCHUNK_COMPRESSION 74 Transition< DLZckHeadState, &DLZckHeadState::sigFinished, DLZckState, DefaultStateCondition, &DLZckHeadState::transitionToDlZckState >,
75 Transition< DLZckHeadState, &DLZckHeadState::sigFailed, DlNormalFileState >,
77 Transition< DLZckState, &DLZckState::sigFinished, FinishedState, DefaultStateCondition, &DLZckState::transitionToFinished >,
78 Transition< DLZckState, &DLZckState::sigFallback, DlNormalFileState >,
81 Transition< DlMetalinkState, &DlMetalinkState::sigFinished, FinishedState, DefaultStateCondition, &DlMetalinkState::transitionToFinished >,
82 Transition< DlMetalinkState, &DlMetalinkState::sigFailed, FinishedState, &DlMetalinkState::toFinalStateCondition, &DlMetalinkState::transitionToFinished >,
83 Transition< DlMetalinkState, &DlMetalinkState::sigFailed, DlNormalFileState, &DlMetalinkState::toSimpleDownloadCondition >,
85 Transition< DlNormalFileState, &DlNormalFileState::sigFinished, FinishedState, DefaultStateCondition, &DlNormalFileState::transitionToFinished >,
86 Transition< DlNormalFileState, &DlNormalFileState::sigFailed, FinishedState, DefaultStateCondition, &DlNormalFileState::transitionToFinished >
109 Signal< void ( Downloader &parent, Download& download )>
_sigStarted;
DownloaderPrivate(std::shared_ptr< MirrorControl > mc, Downloader &p)
std::shared_ptr< NetworkRequestDispatcher > _requestDispatcher
std::vector< std::shared_ptr< Download > > _runningDownloads
Signal< void(Downloader &parent, Download &download)> _sigFinished
void onDownloadFinished(Download &download)
Signal< void(Downloader &parent)> _queueEmpty
std::shared_ptr< MirrorControl > _mirrors
DownloadPrivate(Downloader &parent, std::shared_ptr< NetworkRequestDispatcher > requestDispatcher, std::shared_ptr< MirrorControl > mirrors, DownloadSpec &&spec, Download &p)
void onDownloadStarted(Download &download)
Signal< void(Downloader &parent, Download &download)> _sigStarted