/usr/include/Eris-1.3/Eris/Task.h is in liberis-1.3-dev 1.3.19-5ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | #ifndef ERIS_TASK_H
#define ERIS_TASK_H
#include <sigc++/trackable.h>
#include <sigc++/signal.h>
#include <map>
#include <string>
namespace Atlas {
namespace Message {
class Element;
typedef std::map<std::string, Element> MapType;
}
}
namespace WFMath { class TimeDiff; }
namespace Eris
{
class Entity;
class View;
class Task : public sigc::trackable
{
public:
virtual ~Task();
/**
* @brief Gets the name of the task.
* @return The name of the task.
*/
const std::string& name() const;
/**
* @brief Return the current progress of the task. Value will always be in the
* range [0..1]
*/
double progress() const;
/**
* @brief Returns true if the task has completed.
* @returns True if the task has completed.
*/
bool isComplete() const;
sigc::signal<void> Completed;
sigc::signal<void> Cancelled;
sigc::signal<void> Progressed;
sigc::signal<void> ProgressRateChanged;
private:
void progressChanged();
friend class View; // so it can call updateProgress
friend class Entity; // for constructor and updateFromAtlas
/**
Create a new task owned by the specified entity
*/
Task(Entity* owner, const std::string& nm);
void updateFromAtlas(const Atlas::Message::MapType& d);
/**
Advance the progress of a constant-rate task
*/
void updatePredictedProgress(const WFMath::TimeDiff& dt);
const std::string m_name;
Entity* m_owner;
double m_progress;
/// progress per second, or 0.0 if progress is non-linear
double m_progressRate;
};
inline const std::string& Task::name() const
{
return m_name;
}
inline double Task::progress() const
{
return m_progress;
}
}
#endif
|