#ifndef SIMGRID_S4U_ACTOR_HPP
#define SIMGRID_S4U_ACTOR_HPP
-#include "simgrid/simix.h"
+#include <xbt/base.h>
+#include <simgrid/simix.h>
namespace simgrid {
namespace s4u {
* \endverbatim
*
*/
-class Actor {
+XBT_PUBLIC_CLASS Actor {
friend Comm;
Actor(smx_process_t smx_proc);
public:
#define SIMGRID_S4U_ASYNC_HPP
#include <stdlib.h>
+#include <xbt/base.h>
#include <xbt/misc.h>
SG_BEGIN_DECL();
*
* This class is the ancestor of every asynchronous actions, that is, of actions that do take time in the simulated world.
*/
-class Async {
+XBT_PUBLIC_CLASS Async {
friend Comm;
protected:
Async();
#ifndef SIMGRID_S4U_COMM_HPP
#define SIMGRID_S4U_COMM_HPP
-#include "simgrid/s4u/async.hpp"
-#include "simgrid/s4u/mailbox.hpp"
+#include <xbt/base.h>
+#include <simgrid/s4u/async.hpp>
+#include <simgrid/s4u/mailbox.hpp>
namespace simgrid {
namespace s4u {
*
* Represents all asynchronous communications, that you can test or wait onto.
*/
-class Comm : public Async {
+XBT_PUBLIC_CLASS Comm : public Async {
Comm() : Async() {}
public:
virtual ~Comm();
#ifndef SIMGRID_S4U_ENGINE_HPP
#define SIMGRID_S4U_ENGINE_HPP
+#include <xbt/base.h>
+
namespace simgrid {
namespace s4u {
/** @brief Simulation engine
*
* This class is an interface to the simulation engine.
*/
-class Engine {
+XBT_PUBLIC_CLASS Engine {
public:
/** Constructor, taking the command line parameters of your main function */
Engine(int *argc, char **argv);
#include <boost/unordered_map.hpp>
#include <vector>
-#include "simgrid/simix.h"
+#include <xbt/base.h>
+#include <simgrid/simix.h>
namespace simgrid {
namespace s4u {
* They are located on @link{simgrid::s4u::Storage}, that are accessed from a given @link{simgrid::s4u::Host} through mountpoints.
* For now, you cannot change the mountpoints programatically, and must declare them from your platform file.
*/
-class File {
+XBT_PUBLIC_CLASS File {
public:
File(const char *fullpath, void* userdata);
~File();
#include <boost/unordered_map.hpp>
#include <vector>
+#include "xbt/base.h"
#include "simgrid/simix.h"
namespace simgrid {
* You can retrieve a particular host using @link{simgrid::s4u::Host.byName()},
* and actors can retrieve the host on which they run using @link{simgrid::s4u::Host.current()}.
*/
-class Host {
+XBT_PUBLIC_CLASS Host {
friend Actor;
friend File;
private:
#include <boost/unordered_map.hpp>
-#include "actor.hpp"
+#include <xbt/base.h>
+#include <simgrid/s4u/actor.hpp>
namespace simgrid {
namespace s4u {
* You can access any mailbox without any latency. The network delay are only related to the location of the
* sender and receiver.
*/
-class Mailbox {
+XBT_PUBLIC_CLASS Mailbox {
friend Comm;
private:
#define INCLUDE_SIMGRID_S4U_STORAGE_HPP_
#include <boost/unordered_map.hpp>
+#include "xbt/base.h"
#include "simgrid/simix.h"
namespace simgrid {
namespace s4u {
-class Storage {
+XBT_PUBLIC_CLASS Storage {
private:
Storage(std::string name, smx_storage_t inferior);
virtual ~Storage();