|
Wireshark 4.7.0
The Wireshark network protocol analyzer
|
Go to the source code of this file.
Classes | |
| class | SparkleBridge |
Typedefs | |
| typedef void(* | sparkle_update_attention_callback_t) (void) |
| typedef void(* | sparkle_postpone_relaunch_callback_t) (void(*proceed) (void *ctx), void *ctx) |
| typedef void(* | sparkle_will_relaunch_callback_t) (void) |
C wrapper for the macOS Sparkle update framework.
Sparkle (https://sparkle-project.org/) is the standard macOS framework for automatic software updates, similar to WinSparkle on Windows. Its native API is Objective-C / Swift, so this thin C bridge exposes the two operations Wireshark needs — initialize and check-for-updates — as plain C functions that can be called from the platform-independent C++ code in software_update.cpp.
The corresponding implementation lives in sparkle_bridge.m (Objective-C). ".m" files are the Objective-C equivalent of ".cpp" files; CMake compiles them with the Objective-C compiler on macOS automatically.
Why a bridge? Qt/C++ code cannot directly call Objective-C APIs. This header provides a C linkage boundary so that software_update.cpp can call into the Sparkle framework without knowing any Objective-C specifics. A similar pattern is used on Windows with the WinSparkle C API.
Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs
SPDX-License-Identifier: GPL-2.0-or-later
| typedef void(* sparkle_update_attention_callback_t) (void) |
Callback invoked when the user has engaged with the update alert (clicked the gentle reminder, interacted with the Sparkle UI, etc.). The callee should hide any custom reminder UI at this point.