X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fapp%2Ffunctions.hpp;h=c078917b3c15f8947b1ed2b2390775f309c6be47;hb=refs%2Fheads%2Fquick_solution;hp=99985588807e336e94d0a8c4ea0dde083082558c;hpb=93366a0bda79e6fd6e7dad6316bfcf8cc82f5731;p=anna.git
diff --git a/include/anna/app/functions.hpp b/include/anna/app/functions.hpp
index 9998558..c078917 100644
--- a/include/anna/app/functions.hpp
+++ b/include/anna/app/functions.hpp
@@ -28,36 +28,19 @@ struct functions : public anna::functions {
*/
static Application& getApp() throw(RuntimeException);
- /**
- Patron para obtener facilmente la instancia de un determinado componente.
- Estos dos parametros suelen ser sustituidos por la macro C FILE_LOCATION.
-
- \param fromFile Fichero desde el que se invoca a este metodo
- \param fromLine Numero de linea desde el que se invoca a este metodo.
-
- \return La instancia del componente de la clase recibida como parametro.
- \warning La clase T de implementar un metodo de la forma:
- \code
- static const char* getClassName () throw ();
- \endcode
- \see Component
- */
- template static T* component(const char* fromFile, const int fromLine)
- throw(anna::RuntimeException) {
- return component (T::getClassName(), fromFile, fromLine);
- }
/**
- Patron para obtener facilmente la instancia de un determinado componente.
- Estos dos parametros suelen ser sustituidos por la macro C FILE_LOCATION.
- \param className Nombre del componente buscado.
- \param fromFile Fichero desde el que se invoca a este metodo
- \param fromLine Numero de linea desde el que se invoca a este metodo.
+ Pattern to obtain a multi named application component instance easily.
+ Parameters are usually replaced by the macro C FILE_LOCATION.
+
+ \param className Application component class name
+ \param fromFile File which called the method
+ \param fromLine Line number within the file from where the method is called.
- \return La instancia del componente de la clase recibida como parametro.
+ \return Application component instance for the class provided at the pattern
\see Component
*/
- template static T* component(const char* className, const char* fromFile, const int fromLine)
+ template static T* componentByName(const char *className, const char* fromFile, const int fromLine)
throw(anna::RuntimeException) {
T* result = static_cast (functions::getApp().find(className));
@@ -71,6 +54,25 @@ struct functions : public anna::functions {
}
};
+ /**
+ Pattern to obtain a single named application component instance easily.
+ Parameters are usually replaced by the macro C FILE_LOCATION.
+
+ \param fromFile File which called the method
+ \param fromLine Line number within the file from where the method is called.
+
+ \return Application component instance for the class provided at the pattern
+ \warning T class must implement a method in the form:
+ \code
+ static const char* getClassName () throw ();
+ \endcode
+ \see Component
+ */
+ template static T* component(const char* fromFile, const int fromLine)
+ throw(RuntimeException) {
+ return functions::componentByName (T::getClassName(), fromFile, fromLine);
+ }
+
}
}