Le fournisseur spot aWATTar était le seul flux sortant du moteur (invariant 10). Il n'est plus compilé que sous `qmake CONFIG+=etm_spotmarket` ; la source reste dans l'arbre pour la synchronisation amont. Sans l'option (build livré) : - `spotmarketdataproviderawattar.*` hors de SOURCES/HEADERS, enregistrement sous `#ifdef ETM_SPOTMARKET` ; - aucun `QNetworkAccessManager` : le plugin et l'expérience de simulation passent par le même point, `SpotMarketBuild::creer()` ; - `SetSpotMarketConfiguration` refuse l'activation avec `EnergyErrorInvalidParameter` + `fault: SPOT_MARKET_NOT_IN_BUILD` (code, pas de phrase). Désactiver reste accepté ; - `planSpotMarketCharging()` est inerte : `enabled()` ne peut plus devenir vrai. Tests : - simulation `testSpotMarketIsOutOfTheBuild` ; contre-épreuve faite (un QNetworkAccessManager réintroduit fait échouer le test) ; - spotmarket `shippedBuildHasNoProvider`, sur le .so réel ; les 4 tests qui lisent la liste aWATTar sont sautés hors option et passent avec l'option ; - `testDecisionReasonRendering` : ligne de rendu du nouveau code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
656 B
C++
20 lines
656 B
C++
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
// Copyright (C) 2025 - 2026, Patrick Schurig / ETM PowerSync
|
|
#include "spotmarketbuild.h"
|
|
|
|
#include "../spotmarket/spotmarketmanager.h"
|
|
|
|
#include <QNetworkAccessManager>
|
|
|
|
SpotMarketManager *SpotMarketBuild::creer(QObject *parent)
|
|
{
|
|
#ifdef ETM_SPOTMARKET
|
|
QNetworkAccessManager *reseau = new QNetworkAccessManager(parent);
|
|
#else
|
|
// AUCUN objet réseau. Le pointeur nul n'est lu que par les fournisseurs aWATTar, qui ne
|
|
// sont pas compilés : un fournisseur injecté par un test apporte le sien.
|
|
QNetworkAccessManager *reseau = nullptr;
|
|
#endif
|
|
return new SpotMarketManager(reseau, parent);
|
|
}
|