-// ANNA - Anna is Not 'N' Anymore
-//
-// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo
-//
-// https://bitbucket.org/testillano/anna
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Authors: eduardo.ramos.testillano@gmail.com
-// cisco.tierra@gmail.com
+// ANNA - Anna is Not Nothingness Anymore //
+// //
+// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
+// //
+// See project site at http://redmine.teslayout.com/projects/anna-suite //
+// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
#ifndef anna_app_Application_hpp
struct functions;
/**
- Abstraccion de la aplicacion.
+ Application abstraction.
- Mantiene la informacion de todos los recursos usados (version, titulo, linea de comandos,
- threads, etc ...) por nuestras aplicaciones.
+ Gather all the information of resources (version, title, command line,
+ threads, etc ...) used by our applications.
- Slo puede haber una nica instancia de la aplicacio, que seria accesible mediante el
- metodo anna::functions::getApp.
+ Only one single instance could exists for the application, accessed by mean anna::functions::getApp.
*/
class Application {
public:
/**
Constructor.
- @param shortName Nombre logico de esta instancia.
- @param title Titulo de la aplicacion que aparecera al arrancar.
- @param version version de este programa. Aconsejamos el forma X.YRZZ. Donde X es la
- version principal, Y la version secundaria y ZZ es el numero de entrega realizada.
- \param date Fecha de realizacion del componente. Normalmente sera el contenido de la macro __DATE__.
- \param time Hora de realizacion del componente. Normalmente sera el contenido de la macro __TIME__.
+ @param shortName Instance logical name.
+ @param title Application title (appears when the application starts).
+ @param version Program version (recommended X.YRZZn with X = main version, Y = secondary version, ZZ = delivery number
+ \param date Component build date. Normally the macro __DATE__.
+ \param time Component build time. Normally the macro __TIME__.
*/
Application(const char* shortName, const char* title, const char* version, const char* date = NULL, const char* time = NULL);
*/
virtual ~Application() { a_components.clear(); }
- // Accesores
+ // Getters
/**
- Devuelve el nombre corto indicado en el constructor.
- \return El nombre corto indicado en el constructor.
+ Short name given in constructor.
+ \return Short name given in constructor.
*/
const char* getShortName() const throw() { return a_shortName; }
/**
- Devuelve la version indicado en el contructor de esta aplicacion.
- \return La version indicado en el contructor de esta aplicacion.
+ Version given in constructor.
+ \return Version given in constructor.
*/
const std::string& getVersion() const throw() { return a_version; }
virtual bool supportCommunication() const throw() { return false; }
/**
- * Este método se invocará cuando alguna capa superior a ésta detecte un problema tan grave
- * como para parar la aplicación de forma súbita.
+ * Este m�todo se invocar� cuando alguna capa superior a �sta detecte un problema tan grave
+ * como para parar la aplicaci�n de forma s�bita.
* \param className Nombre de la clase que genera el evento.
*
- * \warning En el momento de invocar a este método la aplicación puede estar en un estado
- * no muy estable por lo que se deberían minizar las operaciones a realizar para evitar
- * bloquear la aplicación.
+ * \warning En el momento de invocar a este m�todo la aplicaci�n puede estar en un estado
+ * no muy estable por lo que se deber�an minizar las operaciones a realizar para evitar
+ * bloquear la aplicaci�n.
*/
virtual void eventAbnormalTermination(const char* className) throw() { ; }