summaryrefslogtreecommitdiff
path: root/src/doc/qtivi/src/qtivi.qdoc
blob: f692bde3efcf9b4a1cc4064e9eb6f20cd6c6695c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/****************************************************************************
**
** Copyright (C) 2016 Pelagicore AG
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the QtIvi module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL-QTAS$
** Commercial License Usage
** Licensees holding valid commercial Qt Automotive Suite licenses may use
** this file in accordance with the commercial license agreement provided
** with the Software or, alternatively, in accordance with the terms
** contained in a written agreement between you and The Qt Company.  For
** licensing terms and conditions see https://www.qt.io/terms-conditions.
** For further information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
    \page qtivi-index.html
    \title Qt IVI
    \keyword QtIvi

    The Qt IVI (In-Vehicle Infotainment) module provides C++ classes and QML types
    for accessing vehicle features, as well as a core API for implementing
    new IVI features.

    The module is built around a pattern based on the separation of API facing the
    application developer, the so called \e {Feature}, and the code implementing it,
    the \e {Backend}. There can be multiple backends per feature and the Core module
    provides support for finding the corresponding backend in an easy-to-use way.

    Common use cases driving this separation are:

    \list
    \li \e {Early development}, where the UI can rely on a feature with a very basic backend
        implementation.
    \li \e {Testing / Simulation}, where the backends can be tested separately from the app and the
        app can be tested using a specialized testing backend.
    \li \e {Targets with different hardware configurations}, where certain parts of the system are
        represented by simulated backends while others use a real hardware integration.
    \li \e {Dynamically appearing services}, when services are available sometimes, but not always,
        meaning that backends come and go over time.
    \endlist

    The module provides an extendable set of reference APIs for automotive
    features. It can be used to develop automotive applications and to provide
    automotive features to Qt-based applications in a structured manner.

    \list
    \li \l{Using the Qt IVI Reference API}
    \li \l{Extending Qt IVI}
    \li \l{The Qt IVI Attribute System}
    \endlist

    \section1 Modules

    Qt IVI consists of the following C++ modules:

    \annotatedlist qtivi_modules

    \b {Qt IVI Vehicle Functions} provides interfaces to access vehicle
    features.

    \b {Qt IVI Core} provides core base classes for the Qt IVI features,
    and handles the discovery of Qt IVI backend plugins. Application
    developers do not need to use Qt IVI Core directly. It is only needed
    when implementing a new IVI feature, such as Qt IVI Vehicle Functions
    ClimateControl.

    The functionality provided by these modules is available to QML
    applications:

    \annotatedlist qtivi_qmlmodules

    \section1 Getting Started

    \list
      \li \l {Qt IVI Vehicle Functions C++ Classes#Getting Started}
             {Getting started with Qt IVI Vehicle Functions (C++)}
      \li \l {Qt IVI Vehicle Functions QML Types#Getting Started}
             {Getting started with Qt IVI Vehicle Functions (QML)}
    \endlist

    \section1 Reference

    \list
      \li \l {Qt IVI C++ Classes}
      \li \l {Qt IVI QML Types}
      \li \l {Qt IVI Examples}
    \endlist
*/