Skip to content

Source: MoonCloudModule.h

MoonCloudIdentity

Pseudonymous, and salted apart from the MQTT and Home Assistant ids.

Functions

Return Name Description
void installationId inline Write the installation id into out, which must hold one more character than the id.

installationId

inline

inline void installationId(char * out)

Write the installation id into out, which must hold one more character than the id.

Variables

Return Name Description
constexpr size_t kInstallationIdChars constexpr Characters written by installationId, excluding the terminator.
constexpr char kMoonCloudSalt constexpr Changing this re-identifies every installation in the world exactly once, so it keeps the spelling it shipped with.

kInstallationIdChars

constexpr

constexpr size_t kInstallationIdChars = 32

Characters written by installationId, excluding the terminator.


kMoonCloudSalt

constexpr

constexpr char kMoonCloudSalt = "projectMM/MoonStats/v1"

Changing this re-identifies every installation in the world exactly once, so it keeps the spelling it shipped with.

MoonCloudModule

class MoonCloudModule
src/core/system/MoonCloudModule.h:21

Inherits: MoonModule

The container for everything MoonLight does with a server we run.

It holds no controls and does no work of its own. Each thing MoonCloud does is a child with its own consent: Stats, Talk, and Sync to come. A user who wants a joint lightshow has not agreed to usage reporting.

Public Methods

virtual inline bool respectsEnabled() const override : Always runs: the children carry the real consent, so disabling the container is ambiguous.

inline bool post(const char * path, const char * body) const : The one outbound call, over HTTPS alone since the address is a compiled-in constant.

Public Static Attributes

constexpr uint32_t kTimeoutMs = 4000 : How long an outbound call may take before it is abandoned.