#ifndef PODBOAT_PODDLTHREAD_H_ #define PODBOAT_PODDLTHREAD_H_ #include #include #include #include #include #include "configcontainer.h" #include "download.h" namespace podboat { class PodDlThread { public: PodDlThread(Download* dl_, newsboat::ConfigContainer*); virtual ~PodDlThread(); size_t write_data(void* buffer, size_t size, size_t nmemb); int progress(double dlnow, double dltotal); void operator()(); protected: double compute_kbps(); private: void run(); Download* dl; std::shared_ptr f; std::chrono::time_point tv1; std::chrono::time_point tv2; size_t bytecount; newsboat::ConfigContainer* cfg; }; } // namespace podboat #endif /* PODBOAT_PODDLTHREAD_H_ */