Skip to content
Snippets Groups Projects
FilePointer.h 988 B
Newer Older
wfg's avatar
wfg committed
/*
 * Distributed under the OSI-approved Apache License, Version 2.0.  See
 * accompanying file Copyright.txt for details.
 *
wfg's avatar
wfg committed
 *
 *  Created on: Jan 6, 2017
 *      Author: wfg
 */

#ifndef FILEPOINTER_H_
#define FILEPOINTER_H_
/// \cond EXCLUDE_FROM_DOXYGEN
wfg's avatar
wfg committed
#include <stdio.h> // FILE*
#include "ADIOSConfig.h"
wfg's avatar
wfg committed
#include "core/Transport.h"

namespace adios
{
 * Class that defines a transport method using C file pointer (FP) to streams
 * FILE*
wfg's avatar
wfg committed
 */
class FilePointer : public Transport
wfg's avatar
wfg committed
{

public:
    FilePointer(MPI_Comm mpiComm, const bool debugMode);
    void Open(const std::string &name, const std::string accessMode);
    void SetBuffer(char *buffer, std::size_t size);
    void Write(const char *buffer, std::size_t size);
wfg's avatar
wfg committed

private:
    FILE *m_File = NULL; ///< C file pointer
} // end namespace transport
} // end namespace
#endif /* FILEPOINTER_H_ */