Waking-Up offers a range of products to help applications developers connect to a TETRA infrastructure. In particular, the Airbus TCS (Tetra Connectivity Server) API is based on Microsoft COM technology, which makes it hard to connect to it using languages that do not natively support COM. This includes include Java, and even Microsoft .NET, since .NET Interop does not support the full range of COM features used by the TCS API.
.NET is not an approved development system for the TCS. Several teams have thought that “not approved” is not the same as “doesn’t work” and have decided to try it. A quick test shows that .NET program can log in to the TCS, but further into development, the solution breaks when it requests a list of TETRA objects from the API.
The NetTcs library is a thin COM layer that connects to the TCS using an approved development system, and then republishes the API in a form that is acceptable to .NET Interop.
The library is supplied with a further thin C# layer which exposes the API using familiar .NET structures, such as generic .NET List<>collections in the place of TCS lists. TCS names have been retained, so use of the library is intuitively obvious to a .NET developer familiar with the Airbus TCS API documentation.
The TetraBridge library is a .NET class library that surfaces TETRA functions in a provider agnostic form. The choice of infrastructure provider, including version, is specified as a parameter when starting a TETRA session.
Such a library will naturally evolve as it covers new features, new providers and new infrastructure versions. To protect your investment and ours, we maintain backwards compatibility for method calls and events that have already been published. A system of automated tests mean that we can quickly regression test against previous versions whenever we add to the library.