X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=doc%2Fapi%2Flibbabeltrace2%2Fdox%2Fmain-page.dox;fp=doc%2Fapi%2Flibbabeltrace2%2Fdox%2Fmain-page.dox;h=22c1e5d38a6bec6d705eee1a341706bdfa4daa34;hp=0000000000000000000000000000000000000000;hb=43c59509042845f8d42c3e99ec74d45fa2dc0908;hpb=1cda4ff4025e4b3f7bd2a861baa51d2113c4cbf9
diff --git a/doc/api/libbabeltrace2/dox/main-page.dox b/doc/api/libbabeltrace2/dox/main-page.dox
new file mode 100644
index 00000000..22c1e5d3
--- /dev/null
+++ b/doc/api/libbabeltrace2/dox/main-page.dox
@@ -0,0 +1,124 @@
+/*!
+@mainpage Välkommen!
+
+@note
+This documentation (text and illustrations) is licensed under a
+Creative
+Commons Attribution-ShareAlike 4.0 International license.
+
+Welcome to the
+\bt_api (libbabeltrace2) documentation!
+
+To get an idea of how to use the libbabeltrace2 API, have a look at
+the \ref guides "guides" and \ref examples "examples".
+That being said, we recommend that you read the \ref api-fund to
+understand what the API expects exactly.
+
+If you are developing a \bt_name \bt_plugin or an application which
+uses libbabeltrace2, we recommend that you
+\ref guide-build-bt2-dev "build the \bt_name library for development".
+
+@section main-bt2-nutshell \bt_name in a nutshell
+
+\bt_name
+is an open-source software project by
+EfficiOS; its purpose is to
+process or convert
+traces.
+
+The \bt_name project contains:
+
+- A library, libbabeltrace2, which all the other parts rely on.
+
+ libbabeltrace2 offers a
+ C99 interface.
+
+ This documentation is about libbabeltrace2's API.
+
+- A command-line program, \bt_cli, which can convert and manipulate
+ traces.
+
+- Python 3 bindings which offer a Pythonic interface of
+ libbabeltrace2.
+
+- "Standard" plugins which ship with the project.
+
+ Common Trace Format (CTF) input
+ and output, plain text input and output, and various utilities are
+ part of those plugins.
+
+With the \bt_name library, you can:
+
+- Write custom \ref api-comp-cls-src "source",
+ \ref api-comp-cls-flt "filter", \ref api-comp-cls-sink "sink"
+ component classes which you can package as \bt_p_plugin.
+
+ Component classes are instantiated as \bt_p_comp within a trace
+ processing \bt_graph and components are assembled to accomplish a
+ trace manipulation or conversion job.
+
+- Load \bt_p_plugin, instantiate their component classes within a
+ trace processing \bt_graph, connect the components as needed, and
+ run the graph to accomplish a trace manipulation or conversion job.
+
+ This is what the \bt_cli CLI tool's
+ convert
+ and
+ run
+ commands do, for example.
+
+A trace processing \bt_graph contains connected components. The specific
+component topology determines the trace processing task to realize.
+
+@image html basic-convert-graph.png "A conversion graph, a specific trace processing graph."
+
+Between the components of a trace processing graph, \bt_p_msg flow from
+\bt_p_oport to \bt_p_iport following the configured \bt_p_conn through
+\bt_p_msg_iter. There are many types of messages, chief amongst which is
+the \bt_ev_msg.
+
+With libbabeltrace2, you can also \ref api-qexec "query" some specific
+object from a component class (for example, the available LTTng live sessions
+of an LTTng relay daemon).
+This is what the \bt_cli CLI tool's
+query
+command does, for example.
+
+Make sure to read \bt_man{babeltrace2-intro,7}
+to learn even more about the \bt_name project and its core concepts.
+
+@section main-contents What's in this documentation?
+
+