Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[SGpp] make MSG_HOST_LEVEL private
[simgrid.git] / src / simgrid / host.cpp
1 /* Copyright (c) 2013-2015. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include "xbt/dict.h"
8 #include "simgrid/host.h"
9 #include "surf/surf_routing.h" // SIMIX_HOST_LEVEL and friends FIXME: make private here
10
11 int SIMIX_HOST_LEVEL;
12 int MSG_HOST_LEVEL;
13
14 #include "simix/smx_host_private.h" // SIMIX_host_destroy. FIXME: killme
15 #include "msg/msg_private.h" // MSG_host_priv_free. FIXME: killme
16 void sg_host_init() {
17   SIMIX_HOST_LEVEL = xbt_lib_add_level(host_lib,SIMIX_host_destroy);
18   MSG_HOST_LEVEL = xbt_lib_add_level(host_lib, (void_f_pvoid_t) __MSG_host_priv_free);
19 }
20
21
22 // ========== MSG Layer ==============
23 msg_host_priv_t sg_host_msg(sg_host_t host) {
24         return (msg_host_priv_t) xbt_lib_get_level(host, MSG_HOST_LEVEL);
25 }
26 void sg_host_msg_set(sg_host_t host, msg_host_priv_t smx_host) {
27           xbt_lib_set(host_lib,host->key,MSG_HOST_LEVEL,smx_host);
28 }
29 void sg_host_msg_destroy(sg_host_t host) {
30           xbt_lib_unset(host_lib,host->key,MSG_HOST_LEVEL,1);
31 }
32
33 // ========== Simix layer =============
34
35 smx_host_priv_t sg_host_simix(sg_host_t host){
36   return (smx_host_priv_t) xbt_lib_get_level(host, SIMIX_HOST_LEVEL);
37 }
38 void sg_host_simix_set(sg_host_t host, smx_host_priv_t smx_host) {
39           xbt_lib_set(host_lib,host->key,SIMIX_HOST_LEVEL,smx_host);
40 }
41 void sg_host_simix_destroy(sg_host_t host) {
42           xbt_lib_unset(host_lib,host->key,SIMIX_HOST_LEVEL,1);
43 }
44
45
46 /*
47 host::host() {
48         // TODO Auto-generated constructor stub
49
50 }
51
52 host::~host() {
53         // TODO Auto-generated destructor stub
54 }*/
55