Newer
Older
Podhorszki, Norbert
committed
/*
* Distributed under the OSI-approved Apache License, Version 2.0. See
* accompanying file Copyright.txt for details.
*
Podhorszki, Norbert
committed
* ADIOS1Writer.h
* Class to write files using old adios 1.x library.
Podhorszki, Norbert
committed
*
* Created on: Mar 27, 2017
* Author: Norbert Podhorszki pnorbert@ornl.gov
Podhorszki, Norbert
committed
*/
#ifndef ADIOS2_ENGINE_ADIOS1_ADIOS1WRITER_H_
#define ADIOS2_ENGINE_ADIOS1_ADIOS1WRITER_H_
Podhorszki, Norbert
committed
#include "adios2/ADIOSConfig.h"
#include "adios2/core/Engine.h"
Podhorszki, Norbert
committed
{
class ADIOS1Writer : public Engine
{
public:
/**
* Constructor for Writer writes in ADIOS 1.x BP format
* @param name unique name given to the engine
* @param accessMode
* @param mpiComm
* @param method
* @param debugMode
*/
ADIOS1Writer(IO &adios, const std::string &name, const Mode openMode,
StepStatus BeginStep(StepMode mode, const float timeoutSeconds = 0.f) final;
/**
* Closes a single transport or all transports
* @param transportIndex, if -1 (default) closes all transports, otherwise
* it
* closes a transport in m_Transport[transportIndex]. In debug mode the
* latter
* is bounds-checked.
*/
void Close(const int transportIndex = -1) final;
Podhorszki, Norbert
committed
private:
void Init() final;
void InitParameters() final;
void InitTransports() final;
void DoPutSync(Variable<T> &variable, const T *values) final; \
void DoPutDeferred(Variable<T> &variable, const T *values) final;
ADIOS2_FOREACH_TYPE_1ARG(declare_type)
#undef declare_type
Podhorszki, Norbert
committed
};
Podhorszki, Norbert
committed
#endif /* ADIOS2_ENGINE_ADIOS1_ADIOS1WRITER_H_ */