Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] OOPify/C++ify ObjectInformation
[simgrid.git] / src / mc / mc_forward.h
1 /* Copyright (c) 2007-2014. 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 #ifndef SIMGRID_MC_FORWARD_H
8 #define SIMGRID_MC_FORWARD_H
9
10 #include <xbt/misc.h>
11 #include <mc/datatypes.h>
12
13 #ifdef __cplusplus
14
15 #define MC_OVERRIDE
16
17 namespace simgrid {
18 namespace mc {
19
20 class PageStore;
21 class ModelChecker;
22 class AddressSpace;
23 class Process;
24 class Snapshot;
25 class ObjectInformation;
26
27 }
28 }
29
30 typedef ::simgrid::mc::ModelChecker s_mc_model_checker_t;
31 typedef ::simgrid::mc::PageStore s_mc_pages_store_t;
32 typedef ::simgrid::mc::AddressSpace s_mc_address_space_t;
33 typedef ::simgrid::mc::Process s_mc_process_t;
34 typedef ::simgrid::mc::Snapshot s_mc_snapshot_t;
35 typedef ::simgrid::mc::ObjectInformation s_mc_object_info_t;
36
37 #else
38
39 typedef struct _s_mc_model_checker s_mc_model_checker_t;
40 typedef struct _s_mc_pages_store s_mc_pages_store_t;
41 typedef struct _s_mc_address_space_t s_mc_address_space_t;
42 typedef struct _s_mc_process_t s_mc_process_t;
43 typedef struct _s_mc_snapshot_t s_mc_snapshot_t;
44 typedef struct _s_mc_object_info_t s_mc_object_info_t;
45
46 #endif
47
48
49 typedef struct s_dw_type s_dw_type_t, *dw_type_t;
50 typedef struct s_memory_map s_memory_map_t, *memory_map_t;
51 typedef struct s_dw_variable s_dw_variable_t, *dw_variable_t;
52 typedef struct s_dw_frame s_dw_frame_t, *dw_frame_t;
53
54
55 typedef s_mc_pages_store_t *mc_pages_store_t;
56 typedef s_mc_model_checker_t *mc_model_checker_t;
57 typedef s_mc_address_space_t *mc_address_space_t;
58 typedef s_mc_process_t *mc_process_t;
59 typedef s_mc_snapshot_t *mc_snapshot_t;
60 typedef s_mc_object_info_t *mc_object_info_t;
61
62 SG_BEGIN_DECL()
63 extern mc_model_checker_t mc_model_checker;
64 SG_END_DECL()
65
66 #endif