X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-writer%2Fwriter-internal.h;h=b7da4b763bcf846f9ab28a7735db2577c08c8868;hb=abd69417bcbf0c66afc5f94c2164397f8df7915f;hp=5c682dd857dac84ec577cd31852c7ec0364c0f03;hpb=273b65be02bbefbfefc39a71687c23220b74867f;p=babeltrace.git diff --git a/include/babeltrace/ctf-writer/writer-internal.h b/include/babeltrace/ctf-writer/writer-internal.h index 5c682dd8..b7da4b76 100644 --- a/include/babeltrace/ctf-writer/writer-internal.h +++ b/include/babeltrace/ctf-writer/writer-internal.h @@ -4,7 +4,7 @@ /* * BabelTrace - CTF Writer: Writer internal * - * Copyright 2013 EfficiOS Inc. + * Copyright 2013, 2014 Jérémie Galarneau * * Author: Jérémie Galarneau * @@ -27,61 +27,34 @@ * SOFTWARE. */ -#include #include -#include -#include #include #include #include #include -#include - -enum field_type_alias { - FIELD_TYPE_ALIAS_UINT5_T = 0, - FIELD_TYPE_ALIAS_UINT8_T, - FIELD_TYPE_ALIAS_UINT16_T, - FIELD_TYPE_ALIAS_UINT27_T, - FIELD_TYPE_ALIAS_UINT32_T, - FIELD_TYPE_ALIAS_UINT64_T, - NR_FIELD_TYPE_ALIAS, -}; +#include +#include struct bt_ctf_writer { - struct bt_ctf_ref ref_count; + struct bt_object base; int frozen; /* Protects attributes that can't be changed mid-trace */ + struct bt_ctf_trace *trace; GString *path; - uuid_t uuid; - int byte_order; int trace_dir_fd; int metadata_fd; - GPtrArray *environment; /* Array of pointers to environment_variable */ - GPtrArray *clocks; /* Array of pointers to bt_ctf_clock */ - GPtrArray *stream_classes; /* Array of pointers to bt_ctf_stream_class */ - GPtrArray *streams; /* Array of pointers to bt_ctf_stream */ - struct bt_ctf_field_type *trace_packet_header_type; - struct bt_ctf_field *trace_packet_header; - uint32_t next_stream_id; -}; - -struct environment_variable { - GString *name, *value; -}; - -struct metadata_context { - GString *string; - GString *field_name; - unsigned int current_indentation_level; }; -/* Checks that the string does not contain a reserved keyword */ BT_HIDDEN -int validate_identifier(const char *string); - -BT_HIDDEN -const char *get_byte_order_string(int byte_order); +void bt_ctf_writer_freeze(struct bt_ctf_writer *writer); +/* + * bt_ctf_writer_get_trace: Get a writer's associated trace. + * + * @param writer Writer instance. + * + * Return the writer's associated instance, NULL on error. + */ BT_HIDDEN -struct bt_ctf_field_type *get_field_type(enum field_type_alias alias); +struct bt_ctf_trace *bt_ctf_writer_get_trace(struct bt_ctf_writer *writer); #endif /* BABELTRACE_CTF_WRITER_WRITER_INTERNAL_H */