#ifndef __JDAQMODULEIDENTIFIER_IO__
#define __JDAQMODULEIDENTIFIER_IO__

#include "km3net-dataformat/online/JDAQModuleIdentifier.hh"

#include "JIO/JSerialisable.hh"

/**
 * \author mdejong
 */
namespace KM3NETDAQ {

  /**
   * Get size of type.
   *
   * \return               number of bytes
   */
  template<>
  inline size_t getSizeof<JDAQModuleIdentifier>()
  {
    return sizeof(JDAQModuleIdentifier::id);
  }


  /**
   * Read module identifier from input.
   *
   * \param  in             reader
   * \param  module         module identifier
   * \return                rader
   */
  inline JReader& operator>>(JReader& in, JDAQModuleIdentifier& module)
  {
    in >> module.id;

    return in;
  }


  /**
   * Write module identifier to output.
   *
   * \param  out           writer
   * \param  module        module identifier
   * \return               writer
   */
  inline JWriter& operator<<(JWriter& out, const JDAQModuleIdentifier& module)
  {
    out << module.id;

    return out;
  }
}

#endif