lp:~lttng/babeltrace/trunk

Created by Ubuntu LTTng and last modified
Get this branch:
bzr branch lp:~lttng/babeltrace/trunk

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu LTTng
Project:
Babeltrace
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at https://git.efficios.com/babeltrace.git.

The next import is scheduled to run .

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 20 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 20 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 20 seconds — see the log

Recent revisions

5567. By Kienan Stewart

misc: Bump clang-format version to 19

Change-Id: Iea0436b9c2db45f3e518eae34142365c642d18c2
Signed-off-by: Kienan Stewart <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/15207
Reviewed-by: Simon Marchi <email address hidden>

5566. By .eepp

doc/internal: document `src/cpp-common/bt2`

This patch adds partial documentation for what's "internally public" in
`src/cpp-common/bt2`.

Documenting all the files, types, and functions would be a very tedious
task because it's equivalent to the effort of documenting the whole
libbabeltrace2 C API. That being said, most of the `bt2` namespace is
straightforward if you already know the libbabeltrace2 C API.

I documented what might be less obvious to understand, namely:

• In `all.dox`:

  ‣ Quick start to show how the C++ bindings work in general.
  ‣ Gneral terminology.
  ‣ Borrowed object wrapper, optional wrapper.
  ‣ Shared object, reference counting, creation.
  ‣ How to create a new wrapper class.
  ‣ C++ component class development: usage and internals.
  ‣ C++ plugin development.

• The `bt2::BorrowedObjectIterator` class template.

• The `bt2::BorrowedObjectProxy` class template.

• The `bt2::BorrowedObject` class template.

• The `bt2::OptionalBorrowedObject` class template.

• The whole `component-class-dev.hpp` header.

• The whole `error.hpp` header.

• Exception classes in `exc.hpp`.

• The bt2::internal::validateCreatedObjPtr() function.

• The `bt2::ConstMessageArray` class.

• The `bt2::SharedObject` class template.

• The `type-traits.hpp` header.

• The `wrap.hpp` header.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I0c22d7adef99b0b5f711ae6582ba2f947445ef03
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14037

5565. By .eepp

bt2::Graph: add user component class instantiation methods

This patch adds new templated bt2::Graph::addComponent() methods.

Those new ones are a combination of the existing addComponent() ones
and bt2::createComponentClass(), for example:

    const auto myComp = myGraph.addComponent<MyFilterComp>("meow",
                                                           params);

This is intended for simple use cases where you instantiate a component
class only once within the graph. Otherwise, it's still preferred to
create a component class first and then instantiate this one multiple
times with the non-templated bt2::Graph::addComponent() overload.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I3fa90761bb9c3622c2d18f3ea3b7adb96f5d371c
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14036

5564. By .eepp

Add bt2::createComponentClass(): create CC object from user CC

This patch:

• Adds `static constexpr` type() methods to `bt2::UserSourceComponent`,
  `bt2::UserFilterComponent`, and `bt2::UserSinkComponent`.

  Those can act as class tags for type traits, to discriminate a user
  component class for example.

• Removes the CommonSourceComponentClass::create(),
  CommonFilterComponentClass::create(), and
  CommonSinkComponentClass::create() static methods.

• Adds three versions of the bt2::createComponentClass() template.

  `std::enable_if` return types ensure the correct one is picked
  depending on what the type() method of the template parameter (a user
  component class) returns.

  For example:

      auto meowCompCls = bt2::createComponentClass<MeowFilter>();

  Tests are updated accorgindly.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I74d021eb6bd159ccea777bf0cfff1c5aa86382df
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14039

5563. By .eepp

bt2::UserComponent: add clock/trace class creation methods

It just makes sense to call `this->_createTraceClass()` or
`this->_createClockClass()` when you implement your own
C++ component class instead of going through `this->_selfComp()`.

Same spirit as bt2._UserComponent._create_trace_class() and
bt2._UserComponent._create_clock_class() in Python.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: Ib4229ad1c5dd430407a79061ae4fef2a50fd3222
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14035

5562. By .eepp

doc/internal: document `src/cpp-common/bt2c` (except `logging.hpp`)

This patch adds documentation for everything "internally public"
which the `src/cpp-common/bt2c` headers offer, except `logging.hpp`
which will be part of the logging topic.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I7f410ba1323f84dc433726ed16e65d4589b2c0f7
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14029

5561. By .eepp

doc/internal: document GLib stuff in `src/common` and `src/compat`

This patch adds documentation for everything "internally public" related
to GLib helpers which the `src/compat/glib.h` and `src/common/common.h`
headers offer.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I189daccd1c0814a893bd7ec66020263f050eac21
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14013

5560. By .eepp

doc/internal: document `src/common` (except `list.h` and GLib stuff)

This patch adds documentation for everything "internally public"
which the `src/common` headers offer, except:

`list.h`:
    We won't use this old API in the future, probably replace its
    existing usage with something like `std::list`, it's somewhat large,
    and I just won't spend the time now.

GLib helpers:
    I'll document those in its own topic because I want to include other
    related functions in there.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I6bacd5e3f22e0d153e1679c9411fd2d19fc4986b
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14012

5559. By .eepp

src/common/common.h: move private stuff to `common.c`

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I5cfb3ed3162d1ee27261abf6d8039daed3ee8c02
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14011

5558. By .eepp

Fix: src/common/macros.h: "push" 👉 "pop"

This mistake made some legitimate warnings escape because
`BT_DIAG_IGNORE_SHADOW` and `BT_DIAG_IGNORE_UNUSED_BUT_SET_VARIABLE`
effectively were active where they weren't supposed to.

On the other hand, with this change, some locations are missing a
`BT_DIAG_PUSH`/`BT_DIAG_IGNORE_SHADOW`/`BT_DIAG_POP` block. This patch
fixes those too.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I0b51346ef45899757e6a98dbba1cb7222acb30b8
Reviewed-on: https://review.lttng.org/c/babeltrace/+/14010
Reviewed-by: Simon Marchi <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers