LeechCraft 0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
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
18class Q_DECL_EXPORT ILoadProcess
19{
20public:
21 virtual ~ILoadProcess () {}
22
27 virtual void ReportValue (int value) = 0;
28
31 virtual void operator++ () = 0;
32};
33
34using ILoadProcess_ptr = std::shared_ptr<ILoadProcess>;
35
50class Q_DECL_EXPORT ILoadProgressReporter
51{
52public:
54
62 virtual ILoadProcess_ptr InitiateProcess (const QString& title, int min, int max) = 0;
63};
64
65using ILoadProgressReporter_ptr = std::shared_ptr<ILoadProgressReporter>;
66
67Q_DECLARE_INTERFACE (ILoadProgressReporter, "org.Deviant.LeechCraft.ILoadProgressReporter/1.0")
Describes the progress of a single long-running operation.
virtual void ReportValue(int value)=0
Sets the current progress to value.
Interface for reporting progress of some long-running operation during load time.
virtual ILoadProcess_ptr InitiateProcess(const QString &title, int min, int max)=0
Notifies about a specific long-running process during load.
std::shared_ptr< ILoadProcess > ILoadProcess_ptr
std::shared_ptr< ILoadProgressReporter > ILoadProgressReporter_ptr