/** * \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; }
/** 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; }