From 317d1b6d9ff1109ed52b6ad4e0df1b6176e1d92b Mon Sep 17 00:00:00 2001 From: Benedikt Oswald Date: Mon, 17 Dec 2007 11:11:00 +0000 Subject: [PATCH] Definition of H5Fed C++ interface, class definition and implementation, first material. --- src/bindings/C++/H5Fed.cc | 52 ++++++++++++++++++++++++++++++++++++--- src/bindings/C++/H5Fed.hh | 45 +++++++++++++-------------------- 2 files changed, 65 insertions(+), 32 deletions(-) diff --git a/src/bindings/C++/H5Fed.cc b/src/bindings/C++/H5Fed.cc index 764788f..7458ec3 100644 --- a/src/bindings/C++/H5Fed.cc +++ b/src/bindings/C++/H5Fed.cc @@ -40,6 +40,12 @@ using namespace H5Fed; using namespace std; + +/*! + \defgroup h5fed_cpp_api H5Fed CPP API +*/ + + /** \brief implement constructor without arguments */ H5Fed::H5Fed() { @@ -58,7 +64,7 @@ H5Fed::H5Fed(std::string filename) /** \brief Set name of H5Fed file to be accessed */ -int H5Fed::filename(std::string filename) +H5FED_RETURN_CODE H5Fed::filename(std::string filename) { /** initialize internal variables */ filename_.erase(); @@ -75,9 +81,47 @@ std::string H5Fed::filename() } - - - +/*! + \ingroup h5fed_cpp_api + + Open file. This function is available in the paralell + and serial version. In the serial case \c comm may have any value. + + \return + \return + + \note + File is always opened in read/writer mode! + + \note + Implement as wrapper of \c H5_open_file()! +*/ +H5FED_RETURN_CODE H5Fed::open_file() +{ + return(OKCODE); +} + + +/*! + \ingroup h5fed_cpp_api + + Close file. This function is available in the paralell + and serial version. In the serial case \c comm may have + any value. + + \return + \return + + \note + File is always opened in read/writer mode! + + \note + Implement as wrapper of \c H5_open_file()! +*/ +H5FED_RETURN_CODE H5Fed::closeFile() +{ + return(OKCODE); +} diff --git a/src/bindings/C++/H5Fed.hh b/src/bindings/C++/H5Fed.hh index 53599b4..8167af6 100644 --- a/src/bindings/C++/H5Fed.hh +++ b/src/bindings/C++/H5Fed.hh @@ -48,8 +48,9 @@ namespace H5Fed { - const int ERRORCODE = -1; - const int OKCODE = 0; + /** \brief Define return codes */ + enum H5FED_RETURN_CODE{OKCODE,ERROR}; + class H5Fed @@ -57,14 +58,21 @@ namespace H5Fed public: /** \brief infrastructure routines */ - H5Fed(); /** \brief Constructor without argument */ - H5Fed(std::string filename); /** \brief Constructor without argument */ - ~H5Fed(); /** \brief Class destructor */ + H5Fed(); /** \brief Constructor without argument */ + H5Fed(std::string filename); /** \brief Constructor without argument */ + ~H5Fed(); /** \brief Class destructor */ + + H5FED_RETURN_CODE filename(std::string filename); /** \brief Set name of H5Fed file to be accessed */ + std::string filename(); /** \brief retrieve name of H5Fed file to be accessed */ + + /****** General routines *****************************************************/ + H5FED_RETURN_CODE open_file(); /** \brief open the file */ + H5FED_RETURN_CODE closeFile(); /** \brief close the file */ + + + /****** INQUIRY routines *****************************************************/ - int filename(std::string filename); /** \brief Set name of H5Fed file to be accessed */ - std::string filename(); /** \brief retrieve name of H5Fed file to be accessed */ - /** \brief book keeping */ protected: @@ -76,7 +84,7 @@ namespace H5Fed private: /** book keeping */ - std::string filename_; + std::string filename_; /** \brief Name of H5Fed file to be accessed */ @@ -84,25 +92,6 @@ namespace H5Fed }; - - - - - - - - - - - - - - - - - - - } #endif /** H5FED_HH */ \ No newline at end of file