+/* Copyright (c) 2013-2014. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
#include "workstation_interface.hpp"
#include "storage_interface.hpp"
#include "cpu_interface.hpp"
class WorkstationCLM03Model;
typedef WorkstationCLM03Model *WorkstationCLM03ModelPtr;
-class WorkstationCLM03Lmm;
-typedef WorkstationCLM03Lmm *WorkstationCLM03LmmPtr;
+class WorkstationCLM03;
+typedef WorkstationCLM03 *WorkstationCLM03Ptr;
-class WorkstationCLM03ActionLmm;
-typedef WorkstationCLM03ActionLmm *WorkstationCLM03ActionLmmPtr;
+class WorkstationCLM03Action;
+typedef WorkstationCLM03Action *WorkstationCLM03ActionPtr;
/*********
* Model *
*********/
-class WorkstationCLM03Model : virtual public WorkstationModel {
+class WorkstationCLM03Model : public WorkstationModel {
public:
- WorkstationCLM03Model(string name);
WorkstationCLM03Model();
~WorkstationCLM03Model();
void parseInit(sg_platf_host_cbarg_t host);
- WorkstationPtr createResource(string name);
+ WorkstationPtr createResource(const char *name);
double shareResources(double now);
void updateActionsState(double now, double delta);
double *computation_amount,
double *communication_amount,
double rate);
- xbt_dynar_t getRoute(WorkstationPtr src, WorkstationPtr dst);
ActionPtr communicate(WorkstationPtr src, WorkstationPtr dst, double size, double rate);
};
* Resource *
************/
-class WorkstationCLM03Lmm : public WorkstationLmm {
+class WorkstationCLM03 : public Workstation {
public:
- WorkstationCLM03Lmm(WorkstationModelPtr model, const char* name, xbt_dict_t properties, xbt_dynar_t storage, RoutingEdgePtr netElm, CpuPtr cpu);
+ WorkstationCLM03(WorkstationModelPtr model, const char* name, xbt_dict_t properties, xbt_dynar_t storage, RoutingEdgePtr netElm, CpuPtr cpu);
void updateState(tmgr_trace_event_t event_type, double value, double date);
* Action *
**********/
-class WorkstationCLM03ActionLmm : public WorkstationActionLmm {
-public:
- WorkstationCLM03ActionLmm(ModelPtr model, double cost, bool failed): Action(model, cost, failed), WorkstationActionLmm() {};
-};
#endif /* SURF_WORKSTATION_CLM03_HPP_ */