libzypp  17.31.31
metalinkinfo_p.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 ----------------------------------------------------------------------/
9 *
10 * This file contains private API, this might break at any time between releases.
11 * You have been warned!
12 *
13 */
14 #ifndef ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADERSTATES_METALINKINFO_P_H_INCLUDED
15 #define ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADERSTATES_METALINKINFO_P_H_INCLUDED
16 
17 #include "base_p.h"
18 #include "basicdownloader_p.h"
19 #include <zypp-core/zyppng/base/statemachine.h>
21 
22 namespace zyppng {
23 
24  struct FinishedState;
25  struct PrepareMultiState;
26 
28 
35  static constexpr auto stateId = Download::DlMetaLinkInfo;
36 
38  DlMetaLinkInfoState( std::shared_ptr<Request> &&prevRequest, DownloadPrivate &parent );
39 
40  SignalProxy< void () > sigFinished() {
41  return _sigFinished;
42  }
43  SignalProxy< void () > sigGotMetadata() {
44  return _sigGotMetadata;
45  }
46  SignalProxy< void () > sigFailed() {
47  return _sigFailed;
48  }
49 
50  std::shared_ptr<FinishedState> transitionToFinished ();
51  std::shared_ptr<PrepareMultiState> transitionToPrepareMulti ();
52 
53  bool initializeRequest( std::shared_ptr<Request> &r ) override;
54  virtual void gotFinished () override;
55 
56  protected:
58  Signal< void () > _sigGotMetadata;
59 
60  virtual void handleRequestProgress ( NetworkRequest &req, off_t dltotal, off_t dlnow ) override;
61 
62  private:
63  bool _fallbackMilWritten = false; //< Flag to know if we already logged that we fall back to the normal progress
64  };
65 
66 }
67 
68 #endif
SignalProxy< void() > sigFailed()
Signal< void() > _sigGotMetadata
SignalProxy< void() > sigFinished()
virtual void gotFinished() override
std::shared_ptr< FinishedState > transitionToFinished()
std::shared_ptr< PrepareMultiState > transitionToPrepareMulti()
static constexpr auto stateId
SignalProxy< void() > sigGotMetadata()
bool initializeRequest(std::shared_ptr< Request > &r) override
DlMetaLinkInfoState(DownloadPrivate &parent)
virtual void handleRequestProgress(NetworkRequest &req, off_t dltotal, off_t dlnow) override