| Wireshark 4.7.3 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
Classes | Typedefs
sparkle_bridge.h File Reference

Go to the source code of this file.

## Classes
class | SparkleBridge
| C++ wrapper for the Sparkle update framework. More...

## 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)

## Detailed Description

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 Documentation

## ◆ sparkle_update_attention_callback_t

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.