LIBGPSMM(3)
π LIBGPSMM(3) β bestie, it's the GPSD Documentation section 3 page π
okay so listen. this is libgpsmm and libQgpsm, and they're the C++ and QT class wrappers for the GPS daemon. cute little fancy jackets over the real thing. let's get into it β¨
πΈ NAME πΈ
libgpsmm, libQgpsm β C++ and QT class wrappers for the GPS daemon. that's it, that's the vibe π
β¨ SYNOPSIS β¨
C++:
#include <libgpsmm>
struct gps_data_t * open(char * host char * port)
struct gps_data_t * open(void)
struct gps_data_t * send(char * request)
struct gps_data_t * read(void)
struct gps_data_t * waiting(int)
struct gps_data_t * stream unsigned(int flags)
likeβ¦ yes bestie, that's genuinely all of it. six whole lines. we love a minimal era π
π¦ DESCRIPTION π¦
okay so libgpsmm and libQgpsmm are mere wrappers over libgps. they are not doing anything extra, they are not being special, they are simply the glow-up layer on top. periodt.
the important difference between the two libraries β and this is the part you need to actually remember β is that:
libgpsmmis targeted at C++ applications and is contained inlibgps. it lives inside the main library, no extra package needed, she's built in πlibQgpsmmis platform independent because it usesQTcpSocketto connect togpsd, and it's shipped as an additional library due to the necessary linking to QT. so it costs you an extra dependency, but it'll run anywhere. tradeoffs, bestie π«Ά
method names are the same as the analogue C functions. so if you already know the C API you already know this one, it's giving effortless β¨
for a detailed description of the functions please read libgps(3). seriously. go read it. this page is not the one with the lore π
open() must be called after the class constructor and before any other method. yes, really. and here's why, because it's actually a good reason:
open()is not inside the constructor since it may fail π- however constructors have no return value, so there's no way to tell you it failed π
so they punted it out to you. you call it, you check it, you handle it. main character responsibility fr fr.
oh and the analogue of the C function gps_close() is in the destructor. so cleanup justβ¦ happens. no extra call. iconic π
π SEE ALSO π
π RESOURCES π
Project web site: https://gpsd.io/
π§ COPYING π§
This file is Copyright 2013 by the GPSD project
SPDX-License-Identifier: BSD-2-clause
π AUTHOR π
Alfredo Pironti
and that's the page bestie!! this was GPSD, Version 3.27.5, dated 2025-11-04, from the LIBGPSMM(3) corner of the world π¦π go forth and open() responsibly, and don't forget to check that return value, i'm literally begging you πβ¨
π¦ where this page comes from
- arch rolling: gpsd 3.27.5-1 Β· BSD
- fedora 44: gpsd-devel 1:3.27.5-3.fc44 Β· BSD-2-Clause
- fedora 44: gpsd-devel 1:3.27.5-3.fc44 Β· BSD-2-Clause
- fedora 44: gpsd-devel 1:3.27.5-5.fc44 Β· BSD-2-Clause
- fedora 44: gpsd-devel 1:3.27.5-5.fc44 Β· BSD-2-Clause
- nixos 26.05: gpsd 3.27.5
- nixpkgs unstable: gpsd 3.27.5
- opensuse-leap 16.0: gpsd-qt6-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-qt6-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-qt6-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- opensuse-leap 16.0: gpsd-qt6-devel 3.27.5-160000.1.1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms