// Copyright (c) 2006-2017 THALES. All Rights Reserved. // All the information contained in this file remain the sole and exclusive // property of THALES and shall not be disclosed by the recipient to a third // party without the prior consent of THALES. /*! \file pixrad_remote_storage.h Abstract: This module defines the PixRad Remote Storage API. It includes : - the prototypes of the functions that manages remote storage on the detector. */ #ifndef PIXRAD_REMOTE_STORAGE_H #define PIXRAD_REMOTE_STORAGE_H #include "pixrad-rs-types.h" #if defined(WIN32) #if defined(PIXRAD_EXPORTS) #define PIXRAD_REMOTE_STORAGE_API __declspec(dllexport) #else #define PIXRAD_REMOTE_STORAGE_API __declspec(dllimport) #endif #else #define PIXRAD_REMOTE_STORAGE_API __attribute__((visibility("default"))) #endif #ifdef __cplusplus extern "C" { #endif /* Prototypes of PixRad Remote Storage exported fonctions */ //! List files in a given directory. /*! \param sessionId : [in] active session id \param remotePath : [in] remote path of the directory to list \param list : [out] file list structure \return ERR_SUCCESS if successfull else error code */ PIXRAD_REMOTE_STORAGE_API rs_error_status TED_PixRad_RemoteStorageListDirectory( const unsigned int& sessionId, const char* remotePath, PxFileList& list ); //! Upload a file to the remote storage. /*! \param sessionId : [in] active session id \param localPath : [in] local storage path of the file to upload \param remotePath : [in] destination path on the remote storage \param progressCallbackProc : [in] callback for transfer progression notifications \param customData : [in] arbitrary parameter passed when the callback is called \return ERR_SUCCESS if successfull else error code */ PIXRAD_REMOTE_STORAGE_API rs_error_status TED_PixRad_RemoteStorageUploadFile( const unsigned int& sessionId, const char* localPath, const char* remotePath, progressCallback_t progressCallbackProc = 0, void* customData = 0 ); //! Download a file from the remote storage. /*! \param sessionId : [in] active session id \param remotePath : [in] remote path of the file to download \param localPath : [in] destination path on the local storage \param progressCallbackProc : [in] callback for transfer progression notifications \param customData : [in] arbitrary parameter passed when the callback is called \return ERR_SUCCESS if successfull else error code */ PIXRAD_REMOTE_STORAGE_API rs_error_status TED_PixRad_RemoteStorageDownloadFile( const unsigned int& sessionId, const char* remotePath, const char* localPath, progressCallback_t progressCallbackProc = 0, void* customData = 0 ); //! Delete a file from the remote storage. /*! \param sessionId : [in] active session id \param remotePath : [in] remote path of the file to delete \return ERR_SUCCESS if successfull else error code */ PIXRAD_REMOTE_STORAGE_API rs_error_status TED_PixRad_RemoteStorageRemoveFile( const unsigned int& sessionId, const char* remotePath ); //! Rename a file on the remote storage. /*! \param sessionId : [in] active session id \param currentRemotePath : [in] current remote path of the file to rename \param newRemotePath : [in] new remote path of the file to rename \return ERR_SUCCESS if successfull else error code */ PIXRAD_REMOTE_STORAGE_API rs_error_status TED_PixRad_RemoteStorageRenameFile( const unsigned int& sessionId, const char* currentRemotePath, const char* newRemotePath ); //! Create a directory on the remote storage. /*! \param sessionId : [in] active session id \param dirPath : [in] remote path of the directory to create \return ERR_SUCCESS if successfull else error code */ PIXRAD_REMOTE_STORAGE_API rs_error_status TED_PixRad_RemoteStorageCreateDirectory( const unsigned int& sessionId, const char* dirPath ); //! Delete a directory from the remote storage. /*! \param sessionId : [in] active session id \param dirPath : [in] remote path of the directory to delete \return ERR_SUCCESS if successfull else error code */ PIXRAD_REMOTE_STORAGE_API rs_error_status TED_PixRad_RemoteStorageRemoveDirectory( const unsigned int& sessionId, const char* dirPath ); #ifdef __cplusplus } #endif #endif //PIXRAD_REMOTE_STORAGE_H