/** \ingroup msg_file_management
* \brief Opens the file whose name is the string pointed to by path
*
- * \param mount is the mount point where find the file is located
* \param fullpath is the file location on the storage
* \param data user data to attach to the file
*
return priv->fullpath;
}
+/**
+ * \ingroup msg_file_management
+ * \brief Move a file to another location on the *same mount point*.
+ *
+ */
+msg_error_t MSG_file_move (msg_file_t fd, const char* fullpath)
+{
+ msg_file_priv_t priv = MSG_file_priv(fd);
+ return simcall_file_move(priv->simdata->smx_file, fullpath);
+}
-/*
+/**
+ * \ingroup msg_file_management
+ * \brief Copy a file to another location on a remote host.
+ * \param fd : the file to move
+ * \param host : the remote host where the file has to be copied
+ * \param fullpath : the complete path destination on the remote host
+ * \return If successful, the function returns MSG_OK. Otherwise, it returns
+ * MSG_TASK_CANCELED.
+ */
+msg_error_t MSG_file_rcopy (msg_file_t file, msg_host_t host, const char* fullpath)
+{
+ msg_file_priv_t file_priv = MSG_file_priv(file);
+ return simcall_file_rcopy(file_priv->simdata->smx_file, host, fullpath);
+}
+
+/**
+ * \ingroup msg_file_management
+ * \brief Move a file to another location on a remote host.
+ * \param fd : the file to move
+ * \param host : the remote host where the file has to be moved
+ * \param fullpath : the complete path destination on the remote host
+ * \return If successful, the function returns MSG_OK. Otherwise, it returns
+ * MSG_TASK_CANCELED.
+ */
+msg_error_t MSG_file_rmove (msg_file_t file, msg_host_t host, const char* fullpath)
+{
+ msg_file_priv_t file_priv = MSG_file_priv(file);
+ msg_error_t res = simcall_file_rcopy(file_priv->simdata->smx_file, host, fullpath);
+ simcall_file_unlink(file_priv->simdata->smx_file);
+ return res;
+}
+
+/**
* \brief Destroys a file (internal call only)
*/
void __MSG_file_destroy(msg_file_priv_t file) {
return xbt_lib_get_elm_or_null(storage_lib, name);
}
-/*
+/**
* \brief Destroys a storage (internal call only)
*/
void __MSG_storage_destroy(msg_storage_priv_t storage) {
return SIMIX_storage_get_size(storage);
}
-/**
- * \ingroup msg_storage_management
- *
- * \brief Rename the file in the contents of its associated storage.
- */
-msg_error_t MSG_storage_file_rename(msg_storage_t storage, const char* src, const char* dest)
-{
- simcall_storage_file_rename(storage, src, dest);
- return MSG_OK;
-}
-
-/**
- * \ingroup msg_storage_management
- * \brief Move a file to another location. Depending on the values of dest, dest, mount,
- * and fullname, this move can be local or remote and, within a host, on the same
- * mounted disk or between mounted disks.
- *
- */
-msg_error_t MSG_storage_file_move (msg_file_t fd, msg_host_t dest, char* mount, char* fullname)
-{
- THROW_UNIMPLEMENTED;
- return MSG_OK;
-}
-
/** \ingroup msg_storage_management
*
* \brief Returns the host name the storage is attached to