- double bb_bw;
- double bb_lat;
- double loopback_bw;
- double loopback_lat;
- double limiter_link;
- e_surf_cluster_topology_t topology;
- const char* topo_parameters;
- xbt_dict_t properties;
- const char* router_id;
- e_surf_link_sharing_policy_t sharing_policy;
- e_surf_link_sharing_policy_t bb_sharing_policy;
- const char* availability_trace; //don't convert to tmgr_trace_t since there is a trace per host and some rewriting is needed
- const char* state_trace;
-} s_sg_platf_cluster_cbarg_t;
-
-#define SG_PLATF_CLUSTER_INITIALIZER {NULL,NULL,NULL,NULL,0.0,1 \
- ,1.,1.,0.,0.,0.,0.,0. \
- ,SURF_CLUSTER_FLAT,NULL,NULL,NULL, \
- SURF_LINK_SHARED,SURF_LINK_SHARED,NULL \
- ,NULL}
-
-typedef struct s_sg_platf_cabinet_cbarg *sg_platf_cabinet_cbarg_t;
-typedef struct s_sg_platf_cabinet_cbarg {
- const char* id;
- const char* prefix;
- const char* suffix;
- const char* radical;
- double speed;
- double bw;
- double lat;
-} s_sg_platf_cabinet_cbarg_t;
-
-#define SG_PLATF_CABINET_INITIALIZER {NULL,NULL,NULL,NULL,0.0,0.0,0.0}
-
-typedef struct {
- const char* id;
- const char* type_id;
- const char* content;
- const char* content_type;
- xbt_dict_t properties;
- const char* attach;
-} s_sg_platf_storage_cbarg_t, *sg_platf_storage_cbarg_t;
-
-#define SG_PLATF_STORAGE_INITIALIZER {NULL,NULL,NULL,NULL,NULL,NULL}
-
-typedef struct {
- const char* id;
- const char* model;
- const char* content;
- const char* content_type;
- xbt_dict_t properties;
- xbt_dict_t model_properties;
+};
+
+class StorageCreationArgs {
+public:
+ std::string id;
+ std::string type_id;
+ std::string content;
+ std::unordered_map<std::string, std::string>* properties;
+ std::string attach;
+};
+
+class StorageTypeCreationArgs {
+public:
+ std::string id;
+ std::string model;
+ std::string content;
+ std::unordered_map<std::string, std::string>* properties;
+ std::unordered_map<std::string, std::string>* model_properties;