Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
35fc38e46aa95134f669dcb3d075e3bcc2dc067d
[simgrid.git] / src / msg / deployment.c
1 /*     $Id$      */
2
3 /* Copyright (c) 2002-2007 Arnaud Legrand.                                  */
4 /* Copyright (c) 2007 Bruno Donassolo.                                      */
5 /* All rights reserved.                                                     */
6
7 /* This program is free software; you can redistribute it and/or modify it
8  * under the terms of the license (GNU LGPL) which comes with this package. */
9
10 #include "msg/private.h"
11 #include "xbt/sysdep.h"
12 #include "xbt/log.h"
13
14
15 /** \ingroup msg_easier_life
16  * \brief An application deployer.
17  *
18  * Creates the process described in \a file.
19  * \param file a filename of a xml description of the application. This file 
20  * follows this DTD :
21  *
22  *     \include simgrid.dtd
23  *
24  * Here is a small example of such a platform 
25  *
26  *     \include msg/masterslave/deployment_masterslave.xml
27  *
28  * Have a look in the directory examples/msg/ to have a bigger example.
29  */
30 void MSG_launch_application(const char *file)
31 {
32
33   xbt_assert0(msg_global,
34               "MSG_global_init_args has to be called before MSG_launch_application.");
35
36   SIMIX_launch_application(file);
37
38   return;
39 }
40
41 /** \ingroup msg_easier_life
42  * \brief Registers the main function of an agent in a global table.
43  *
44  * Registers a code function in a global table. 
45  * This table is then used by #MSG_launch_application. 
46  * \param name the reference name of the function.
47  * \param code the function (must have the same prototype than the main function of any C program: int ..(int argc, char *argv[]))
48  */
49 void MSG_function_register(const char *name, xbt_main_func_t code)
50 {
51   SIMIX_function_register(name, code);
52   return;
53 }
54
55 /** \ingroup msg_easier_life
56  * \brief Retrieves a registered main function
57  *
58  * Registers a code function in a global table. 
59  * This table is then used by #MSG_launch_application. 
60  * \param name the reference name of the function.
61  */
62 xbt_main_func_t MSG_get_registered_function(const char *name)
63 {
64   return SIMIX_get_registered_function(name);
65 }