Beispiel #1
0
/**
 * \brief Create a new +OmlWriter+
 * \param file_name the destination file
 * \return a new +OmlWriter+
 */
OmlWriter*
text_writer_new(OmlOutStream* out_stream)
{
  assert(out_stream != NULL);

  OmlTextWriter* self = (OmlTextWriter *)xmalloc(sizeof(OmlTextWriter));
  memset(self, 0, sizeof(OmlTextWriter));
  //pthread_mutex_init(&self->lock, NULL);

  self->bufferedWriter = bw_create(out_stream->write, out_stream, omlc_instance->max_queue, 0);
  self->out_stream = out_stream;

  self->meta = meta;
  self->header_done = header_done;
  self->row_start = row_start;
  self->row_end = row_end;
  self->out = row_cols;
  self->close = close;


  return (OmlWriter*)self;
}
Beispiel #2
0
/** Create a new OmlBinWriter
 * \param out_stream OmlOutStream into which the data should be written
 *
 * \return a pointer to the new OmlBinWriter cast as an OmlWriter
 *
 * \see BufferedWriter
 */
OmlWriter*
bin_writer_new(OmlOutStream* out_stream)
{
  assert(out_stream != NULL);

  OmlBinWriter* self = (OmlBinWriter *)oml_malloc(sizeof(OmlBinWriter));
  memset(self, 0, sizeof(OmlBinWriter));

  self->bufferedWriter = bw_create(out_stream,
      omlc_instance->max_queue, 0);
  self->out_stream = out_stream;

  self->meta = owb_meta;
  self->header_done = owb_header_done;
  self->row_start = owb_row_start;
  self->row_end = owb_row_end;
  self->out = owb_row_cols;
  self->close = owb_close;

  self->msgtype = OMB_DATA_P; // Short packets.

  return (OmlWriter*)self;
}