aboutsummaryrefslogtreecommitdiffstats
path: root/src/doc/qtivi/src/ivigenerator/getting-started.qdoc
blob: 0249f2cbe13e39960640421e419be765e3685222 (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
/****************************************************************************
**
** Copyright (C) 2018 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 gettingstartedivigenerator.html
\title Getting Started Using the Qt IVI Generator

This guide explains how to get started with the Qt IVI Generator.
The generator is used to generate source code from an IDL file. It supports
multiple templates to select what kind of code should be generated.

The Qt IVI Generator can be found inside the \c bin folder of your Qt installation.
If it is not available, please make sure all prerequisites listed in the qmake
configuration summary are met. See \l {Configuration} for more information on how
Qt IVI can be configured.

\section1 Basics

The generator takes an IDL file as input for generating its source code. The
following code shows a minimal IDL file:

\code
module my.idl 1.0

interface MyInterface {
    property int value;
    void increment();
    signal valueIncremented(int newValue);
}
\endcode

The IDL pretty much self-explanatory: it defines a new module (namespace)
\e my.idl in version \e 1.0. Inside there should be an interface called \e MyInterface.
The interface provides a property storing a value and a function to increment and notify
the user. The \l {QFace IDL syntax} page provides a more detailed documentation about the IDL.

Using the previously defined IDL file, the \l {frontend-template}{frontend} template can be used to generate
a library providing an implementation of \e MyInterface. The generated class will use the
\l {Dynamic backend System} provided by Qt IVI for an abstraction of \e frontend and \e backend code.

The actual implementation of the class behavior is done inside a \e backend plugin. A very basic
backend plugin can be generated by using the \l {backend-simulator-template}{backend_simulator} template. For more information
how Qt locates and loads its plugins, please see \l {How to Create Qt Plugins} {here}.

For more in-depth information, the \l {Qt IVI Generator Example} comes with a step by step documentation.
*/

/*
This provides ideas on how this page should be extended in the future.

\section1 Generating a complete qt module
\section1 Extending the autogenerator
\section1 Android Deployment
*/