STFishFinder API  API version 0.0.0, Documentation version 3 -PRELIMINARY-
Wrappers
To accommodate a wide variety of platforms, the STFishFinder API is written in C++11. For universal compatibility, all public interfaces of the API use simple types, C-style pointer references, and types provided by the API library. C++ exceptions are caught within the API functions, then translated and returned as error codes.

In order to provide a complete set of APIs for a given platform, it is necessary to augment the STFishFinder API with a wrapper layer that:
  1. is written in the predominant language for the given platform,
  2. hides the STFishFinder API behind a thin layer that translates its native C++-based interface into one that employs types and conventions appropriate to the given platform, and
  3. provides connective functionality to certain system libraries provided in the given platform.
For example:
  • for iOS, an Objective-C++ wrapper is provided that uses the Cocoa frameworks for connectivity to Wi-Fi services. The wrapper translates STFishFinder error codes to NSError objects.
  • in Android, the wrapper shall be written in Java, and use the Android SDK. The STFishFinder API shall be built using the Android NDK.
  • in Windows, the STFishFinder API shall be built as a native static library. The wrapper shall be written in managed C++/CLI, and uses the .NET Framework to provide connectivity to Wi-Fi or SerialPort interfaces.

The following sections discuss the Fish Finder API wrappers for various platforms: