Première tranche verticale : domaine circuit via DataProvider/API
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
#include "mock_bdd.h"
|
||||
|
||||
// ============================================================================
|
||||
// Valeurs fixes du POC - à modifier ici si besoin d'un autre scénario de test.
|
||||
// ============================================================================
|
||||
QVariant Bdd::requete_unique(const QString &req)
|
||||
{
|
||||
// --- Lectures (SELECT) utilisées par le chemin main.qml -> home_attente.qml -> home_accueil.qml ---
|
||||
|
||||
if (req.contains("Nom=\"Specifique_client\""))
|
||||
return QVariantList{ "0" }; // 0 = shipheart_specifique_client_tous -> mène à home_accueil.qml
|
||||
|
||||
if (req.contains("Nom=\"Theme\""))
|
||||
return QVariantList{ "0" }; // Thème 0 = "Original"
|
||||
|
||||
if (req.contains("Nom=\"Version_cm\""))
|
||||
return QVariantList{ "CM5" }; // Doit contenir "CM5" -> shipheart_generation_shipbase_v3
|
||||
|
||||
if (req.contains("Nom=\"Nom_du_bateau\""))
|
||||
return QVariantList{ "Bateau de test (POC WASM)" };
|
||||
|
||||
if (req.contains("Validation_economiseur"))
|
||||
return QVariantList{ "0" }; // Économiseur désactivé par défaut pour ce POC
|
||||
|
||||
// --- Écritures (UPDATE) : Veille, Synchro, New_bip, Theme (cas dépassement d'index) ---
|
||||
// Valeur de retour jamais utilisée par l'appelant dans ces cas -> valeur neutre.
|
||||
return QVariantList{ QString() };
|
||||
}
|
||||
|
||||
int Bdd::requete(const QString &req)
|
||||
{
|
||||
m_derniere_requete = req;
|
||||
|
||||
if (req.contains("Nom=\"Fichier_image_accueil\""))
|
||||
return 1; // 1 ligne de résultat "trouvée"
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
QVariant Bdd::lecture_ligne()
|
||||
{
|
||||
if (m_derniere_requete.contains("Nom=\"Fichier_image_accueil\""))
|
||||
return QVariantList{ "" }; // "" -> l'image par défaut est utilisée (cf home_accueil.qml)
|
||||
|
||||
return QVariantList{};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
#include <QVariantList>
|
||||
|
||||
// ============================================================================
|
||||
// Bdd (MOCK) - POC WebAssembly
|
||||
// ----------------------------------------------------------------------------
|
||||
// Bouchon de la classe Bdd réelle (bdd.h/bdd.cpp non disponibles à ce stade).
|
||||
// Ne se connecte à aucune base de données : reconnaît le texte de chaque
|
||||
// requête reçue et renvoie une valeur fixe cohérente avec le comportement
|
||||
// attendu par main.qml / Shipheart_page.qml / home_attente.qml / home_accueil.qml.
|
||||
//
|
||||
// Signatures alignées sur l'usage observé dans ces 4 fichiers QML :
|
||||
// - requete_unique(req) -> une seule valeur de résultat (SELECT ou UPDATE)
|
||||
// - requete(req)/lecture_ligne() -> requête à plusieurs lignes potentielles
|
||||
// (ici, une seule ligne utilisée : "Fichier_image_accueil")
|
||||
// ============================================================================
|
||||
class Bdd : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit Bdd(QObject *parent = nullptr) : QObject(parent) {}
|
||||
|
||||
Q_INVOKABLE QVariant requete_unique(const QString &req);
|
||||
|
||||
Q_INVOKABLE int requete(const QString &req);
|
||||
Q_INVOKABLE QVariant lecture_ligne();
|
||||
|
||||
private:
|
||||
QString m_derniere_requete;
|
||||
};
|
||||
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
// ============================================================================
|
||||
// Systeme (MOCK) - POC WebAssembly
|
||||
// ----------------------------------------------------------------------------
|
||||
// Bouchon de la classe Systeme réelle (systeme.h/systeme.cpp non disponibles
|
||||
// à ce stade). commande_shell() n'est appelée, dans les fichiers du POC, que
|
||||
// pour les installations "écran déporté" (synchro_repertoires_shiprs() dans
|
||||
// home_attente.qml) - hors scope du chemin ShipBase standard testé ici.
|
||||
// Bouchon neutre par sécurité, au cas où il serait tout de même invoqué.
|
||||
// ============================================================================
|
||||
class Systeme : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit Systeme(QObject *parent = nullptr) : QObject(parent) {}
|
||||
|
||||
Q_INVOKABLE QString commande_shell(const QString &commande, const QString &fichier_sortie)
|
||||
{
|
||||
Q_UNUSED(commande)
|
||||
Q_UNUSED(fichier_sortie)
|
||||
return QString();
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
#include <QObject>
|
||||
|
||||
// ============================================================================
|
||||
// TbMesuresModel (MOCK) - POC WebAssembly
|
||||
// ----------------------------------------------------------------------------
|
||||
// Bouchon minimal : dans le périmètre de ce POC (main.qml jusqu'à
|
||||
// home_accueil.qml), ce modèle n'est instancié qu'au niveau racine
|
||||
// (property TbMesuresModel tbmesuresModel : TbMesuresModel{}) et jamais
|
||||
// utilisé au-delà - un QObject vide suffit à ce stade.
|
||||
// ============================================================================
|
||||
class TbMesuresModel : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit TbMesuresModel(QObject *parent = nullptr) : QObject(parent) {}
|
||||
};
|
||||
Reference in New Issue
Block a user