LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
iloadprogressreporter.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <memory>
12 #include <QtPlugin>
13 
18 class Q_DECL_EXPORT ILoadProcess
19 {
20 public:
21  virtual ~ILoadProcess () {}
22 
27  virtual void ReportValue (int value) = 0;
28 
31  virtual void operator++ () = 0;
32 };
33 
34 using ILoadProcess_ptr = std::shared_ptr<ILoadProcess>;
35 
50 class Q_DECL_EXPORT ILoadProgressReporter
51 {
52 public:
53  virtual ~ILoadProgressReporter () {}
54 
62  virtual ILoadProcess_ptr InitiateProcess (const QString& title, int min, int max) = 0;
63 };
64 
65 using ILoadProgressReporter_ptr = std::shared_ptr<ILoadProgressReporter>;
66 
67 Q_DECLARE_INTERFACE (ILoadProgressReporter, "org.Deviant.LeechCraft.ILoadProgressReporter/1.0")
ILoadProcess
Describes the progress of a single long-running operation.
Definition: iloadprogressreporter.h:18
ILoadProgressReporter
Interface for reporting progress of some long-running operation during load time.
Definition: iloadprogressreporter.h:50
LC::Util::oral::sph::min
constexpr detail::AggregateType< detail::AggregateFunction::Min, Ptr > min
Definition: oral.h:969
LC::Util::oral::sph::max
constexpr detail::AggregateType< detail::AggregateFunction::Max, Ptr > max
Definition: oral.h:972
ILoadProcess_ptr
std::shared_ptr< ILoadProcess > ILoadProcess_ptr
Definition: iloadprogressreporter.h:34
ILoadProgressReporter_ptr
std::shared_ptr< ILoadProgressReporter > ILoadProgressReporter_ptr
Definition: iloadprogressreporter.h:65
ILoadProgressReporter::~ILoadProgressReporter
virtual ~ILoadProgressReporter()
Definition: iloadprogressreporter.h:53