change: change code style to Linux style except indent.
This commit is contained in:
+53
-56
@@ -29,139 +29,136 @@
|
||||
#include "common/cancelableobject.h"
|
||||
#include "node/output/viewer/viewer.h"
|
||||
|
||||
namespace olive {
|
||||
|
||||
class RenderTicket : public QObject, public CancelableObject
|
||||
namespace olive
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
RenderTicket();
|
||||
|
||||
/**
|
||||
class RenderTicket : public QObject, public CancelableObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
RenderTicket();
|
||||
|
||||
/**
|
||||
* @brief Get the ticket's current state
|
||||
*
|
||||
* This function is thread safe, unless `lock` is set to false. Then the caller has responsibility
|
||||
* of locking the mutex before and unlocking after this function is called.
|
||||
*/
|
||||
bool IsRunning(bool lock = true);
|
||||
bool IsRunning(bool lock = true);
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Determine how many times ticket has been finished
|
||||
*
|
||||
* This function is thread safe, unless `lock` is set to false. Then the caller has responsibility
|
||||
* of locking the mutex before and unlocking after this function is called.
|
||||
*/
|
||||
int GetFinishCount(bool lock = true);
|
||||
int GetFinishCount(bool lock = true);
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Check if this ticket has a result
|
||||
*
|
||||
* If this ticket is running, this will always return false.
|
||||
*/
|
||||
bool HasResult();
|
||||
bool HasResult();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Get value, if any
|
||||
*/
|
||||
QVariant Get();
|
||||
QVariant Get();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Wait for ticket to be finished
|
||||
*
|
||||
* If this ticket is not running, this function returns immediately.
|
||||
*/
|
||||
void WaitForFinished();
|
||||
void WaitForFinished(QMutex* mutex);
|
||||
void WaitForFinished();
|
||||
void WaitForFinished(QMutex *mutex);
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Access this ticket's mutex
|
||||
*
|
||||
* Use if you're doing several operations on a ticket and need to ensure thread safety while
|
||||
* doing so. Most of the time this isn't necessary since all functions are thread safe by default.
|
||||
*/
|
||||
QMutex* lock()
|
||||
{
|
||||
return &lock_;
|
||||
}
|
||||
QMutex *lock()
|
||||
{
|
||||
return &lock_;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Signal to the ticket that it is running
|
||||
*
|
||||
* If any value is set, it is cleared.
|
||||
*/
|
||||
void Start();
|
||||
void Start();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Finish ticket with no value
|
||||
*
|
||||
* Sets ticket to no longer running and assume it has received no result.
|
||||
*/
|
||||
void Finish();
|
||||
void Finish();
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief Finish ticket with value
|
||||
*
|
||||
* Sets ticket to no longer running and provide a value generated by the operation requested.
|
||||
*/
|
||||
void Finish(QVariant result);
|
||||
void Finish(QVariant result);
|
||||
|
||||
signals:
|
||||
/**
|
||||
/**
|
||||
* @brief Emitted when finish has been called by any means (either cancelled or with a result)
|
||||
*/
|
||||
void Finished();
|
||||
void Finished();
|
||||
|
||||
private:
|
||||
void FinishInternal(bool has_result, QVariant result);
|
||||
void FinishInternal(bool has_result, QVariant result);
|
||||
|
||||
bool is_running_;
|
||||
bool is_running_;
|
||||
|
||||
QVariant result_;
|
||||
QVariant result_;
|
||||
|
||||
bool has_result_;
|
||||
bool has_result_;
|
||||
|
||||
int finish_count_;
|
||||
int finish_count_;
|
||||
|
||||
QMutex lock_;
|
||||
|
||||
QWaitCondition wait_;
|
||||
QMutex lock_;
|
||||
|
||||
QWaitCondition wait_;
|
||||
};
|
||||
|
||||
using RenderTicketPtr = std::shared_ptr<RenderTicket>;
|
||||
|
||||
class RenderTicketWatcher : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
class RenderTicketWatcher : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
RenderTicketWatcher(QObject* parent = nullptr);
|
||||
RenderTicketWatcher(QObject *parent = nullptr);
|
||||
|
||||
RenderTicketPtr GetTicket() const
|
||||
{
|
||||
return ticket_;
|
||||
}
|
||||
RenderTicketPtr GetTicket() const
|
||||
{
|
||||
return ticket_;
|
||||
}
|
||||
|
||||
void SetTicket(RenderTicketPtr ticket);
|
||||
void SetTicket(RenderTicketPtr ticket);
|
||||
|
||||
bool IsRunning();
|
||||
bool IsRunning();
|
||||
|
||||
void WaitForFinished();
|
||||
void WaitForFinished();
|
||||
|
||||
QVariant Get();
|
||||
QVariant Get();
|
||||
|
||||
bool HasResult();
|
||||
bool HasResult();
|
||||
|
||||
void Cancel();
|
||||
void Cancel();
|
||||
|
||||
signals:
|
||||
void Finished(RenderTicketWatcher* watcher);
|
||||
void Finished(RenderTicketWatcher *watcher);
|
||||
|
||||
private:
|
||||
RenderTicketPtr ticket_;
|
||||
RenderTicketPtr ticket_;
|
||||
|
||||
private slots:
|
||||
void TicketFinished();
|
||||
|
||||
void TicketFinished();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user