Previous | Contents | Next

Chapter 1: Tclnotmuch Objects

This chapter describes the objects made available by Tclnotmuch which, of course, reflect those implied by the Notmuch library API.

1.1 Overview of Objects

The underlying Notmuch library is build on a hierarchical memory allocator called talloc, and in the API all objects are effectively part of a top-level database object (perhaps indirectly).

This means that as soon as an API object is deleted, all underlying derived API objects such as queries, messages, message, and tags will be freed by the Notmuch library as well. Accessing these objects through the API may lead to segfaults or other unexpected behaviour.

Tclnotmuch provides a set of TclOO objects to wrap and (at least sometimes) simplify the use of the Notmuch API objects. One obvious simplification is to deal with the possible errors mentioned in the previous paragraph by recording dependencies between objects.

1.2 The Database Object

Comments to