C

Qt Quick Ultralite Automotive Cluster Demo

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
#ifndef CANBUSSERVICE_H
#define CANBUSSERVICE_H
#include <qul/object.h>
#include <qul/singleton.h>
#include <qul/property.h>
#include <qul/timer.h>

struct ConnectivityService : Qul::Singleton<ConnectivityService>
{
    enum ClusterMode { NoneMode, IntroMode, NormalMode, SportMode };

    enum CurrentMenu { None, Media, Navigation, Phone, Mode, CarStatus, LastTrip, MenuCount };

    Qul::Property<ConnectivityService::ClusterMode> clusterMode;
    Qul::Property<ConnectivityService::CurrentMenu> currentMenu;
    Qul::Property<bool> mediaPlayback;
    Qul::Property<bool> enableDriveModeChange;
    Qul::Property<bool> ongoingCall;

    Qul::Timer pendingDataTimer;

    ConnectivityService();

    void sendHeartBeat();
};

#endif // CANBUSSERVICE_H