]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/include/plaqui/server/runnable.h
Se arregla un bug y se ponen caudales > 0 en el ejemplo :)
[z.facultad/75.42/plaqui.git] / Server / include / plaqui / server / runnable.h
index cc3bb0ec16df90260b871e4608ec8966b0b6d55d..c46cf8cffedb9eea836e5e42bb6dde6972fa127a 100644 (file)
@@ -42,9 +42,15 @@ namespace Server {
 
                public:
 
+                       /// Error.
+                       typedef unsigned Error;
+
                        /// Tipo de señal para indicar que se finalizó la tarea.
                        typedef SigC::Signal0<void> SignalFinished;
 
+                       /// Tipo de señal para indicar que hubo un error.
+                       typedef SigC::Signal2<void, const Error&, const std::string&> SignalError;
+
                // Atributos.
 
                private:
@@ -57,6 +63,9 @@ namespace Server {
 
                protected:
 
+                       /// Señal que indica que hubo un error.
+                       SignalError error;
+
                        /**
                         * Indica si se debe frinalizar la tarea.
                         *
@@ -64,12 +73,6 @@ namespace Server {
                         */
                        bool stop;
 
-                       /**
-                        * Exclusión mutua.
-                        * Recurso usado para recibir la exclusividad sobre un recurso.
-                        */
-                       Glib::Mutex mutex;
-
                // Métodos.
 
                private:
@@ -119,11 +122,14 @@ namespace Server {
 
                        /**
                         * Obtiene la señal que avisa cuando la tarea es finalizada.
-                        *
-                        * \see finish().
                         */
                        SignalFinished& signal_finished(void);
 
+                       /**
+                        * Obtiene la señal que avisa que hubo un error.
+                        */
+                       SignalError& signal_error(void);
+
        };
 
 }