The iTV middleware.
Preface and License
Guilherme F. Lima <>


Ginga is the reference implementation of the Brazilian iTV middleware. The workhorse of Ginga is a C++ library called libginga. This document describes the architecture of libginga and its external and internal APIs.

Documentation License

Copyright (C) 2018 PUC-Rio/Laboratorio TeleMidia

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the "GNU Free Documentation License" file as part of this distribution.

Libginga APIs

What we call the external API is the interface exposed by libginga to application programmers. The external API is contained in a single header file, ginga.h, which is installed together with the library.

What we call the internal API is the set of components and interfaces used internally by libginga. The internal API is not exposed to application programmers and should only be used by programmers that want to modify libginga itself.