/// Thread en el cual correr la tarea.
Glib::Thread* thread;
- /// Indica si se debe frinalizar la tarea.
- bool stop;
-
/// Señal que indica que se finalizó la tarea.
SignalFinished finished;
+ protected:
+
+ /**
+ * Indica si se debe frinalizar la tarea.
+ *
+ * \todo Poner como privado y poner get() set() con locks.
+ */
+ bool stop;
+
+ /**
+ * Exclusión mutua.
+ * Recurso usado para recibir la exclusividad sobre un recurso.
+ */
+ Glib::Mutex mutex;
+
// Métodos.
private:
/**
* Destructor.
*/
- virtual ~Runnable(void) {}
+ virtual ~Runnable(void);
/**
* Constructor.
* \param attach Si es true, la función no retorna hasta que no
* finalice la tearea (no recomendable).
*
- * \see Para saber cuando la tarea fue finalizada puede utilizar
- * la señal signal_finished().
+ * \note Para saber cuando la tarea fue finalizada puede utilizar
+ * la señal signal_finished().
*/
virtual void finish(bool attach = false);
/**
* Obtiene la señal que avisa cuando la tarea es finalizada.
*
- * \see Para saber cuando la tarea fue finalizada puede utilizar
- * la señal signal_finished().
+ * \see finish().
*/
SignalFinished& signal_finished(void);