Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

Module concept

Modules

A module is a selection of projects (also called components) which form a logical group based on a limited number of features to which they contribute. A module can contain libraries, plug-ins, applications and server components.

To ensure binary compatibility libraries have not been broken up into smaller parts than what was already possible in previous versions of Qt Extended. Therefore some libraries contain classes for which the actual backend implementation is part of another module. The most noteable examples are classes (such as QSoftMenuBar) in libqtopia which is part of the Base module (and therefore is part of all builds). The QSoftMenuBar backend is provided by QSoftMenuBarProvider which is part of the UI module. The underlying assumption is that if a device wouldn't require the UI module there would either not be a use for QSoftMenuBar or a new backend would be provided.

The content of each module is defined by a module_<name-of-module>.pri project file in <qt-extended-dir>/src. The class documentation has been extended to indicate a classes membership.

The smallest possible out-of-the-box configuration that can be created via the Qt Extended configure script looks like this:

    $QPEDIR/configure -device xyz

The above command line assumes that the device xyz doesn't add any additional modules. If the -device parameter is left out the build system automatically selects the reference device profile (see <qt-extended-dir>/devices/reference) which enables almost every single module.

Such a base build only includes Qt and the Base module. It has a significantly reduced footprint compared to previous Qtopia platform builds. With the exception of the Help application it does not contain any applications and provides a basis for most embedded multiprocess solutions. Please note that even a base build can be further minimized if required.

Server components

As part of the modularization effort in Qt Extended 4.4 the server has been split up into several subprojects. This enables a more flexible configuration when it comes to selecting only necessary components. Each server subproject forms an independent component and can be defined and selected like any other type of project. Examples of such server subprojects and their inclusion into the various modules can be found in the module_<name-of-module>*.pri project selection files.

The Qt Extended build system builds each server component into a (static) library. During the final linking of the server binary all existing server component libraries are merged into one single binary. The most minimalistic Qt Extended server build must contain $QPEDIR/src/server/core_server and $QPEDIR/src/server/main.

Module summary

The subsequent picture gives a visual summary of all modules. Note that although the Cell and IPComms are technically based on the Telephony module it is not required to select Telephony when selecting the Cell or IPComms module. The Qt Extended build system resolves those dependencies automatically and thus presents a simplified selection mechanism.

"Module Overview"

The Development Tools and QtUiTest module contribute towards the Qt Extended development environment (debugging and testing purposes) and wouldn't usually be part of the device image.

Cross-dependencies

As mentioned earlier modules do not depend on each other. Each module can function independently. However the presence of one module can influence the content of another module. An example of such cross-dependency can be found in the Pim module which provides the Contacts application. If Qt Extended would be configured to use the Pim module only the Contact application would manage the user's list of contacts. However together with the Telephony module the Contacts application enables additional features such as the ability to directly dial a contact phone number. This is possible because the Dialer service is part of the Telephony module. If for instance the Bluetooth module were to be enabled the Contact application can transfer PIM entries to other devices via Bluetooth.

To facilitate the above mentioned selection process some components are members of several modules. An example would be libqtopiapim which is part of the Pim, Telephony, UI and Messaging module. The documentation for each class states to which module it belongs.

Applications

Each module contains a set of applications. This section presents a matrix of the most common Qt Extended applications and how they are sorted into the various modules:

ApplicationModuleApplicationModule
AppearanceUIMessages (qtmail)Messaging
Bluetooth applicationsBluetoothMessageServerMessaging
CalculatorEssentialsPackageManagerPkgManagement
CalendarPimPhoneNetworksCell
CallForwardingCellPhone simulatorDevelopment Tools
CameraEssentialsPhotoEditEssentials
ClockEssentialsPIM SynchronizationPim
ContactsPimPowermanagementEssentials
DRM browserDrmQt Extended ServerBase
GamesGamesRingProfileTelephony
GTalkSettingsIPCommsSecurityMonitorPkgManagement
HelpBrowserBaseSystemInformationEssentials
HomeScreenUISystemTimeEssentials
Infrared file transferInfraredTasksPim
InternetConnectivityTelepathyAgentIPComms
LanguageEssentialsTheme editiorBase
LoggingDevelopment ToolsTextEditEssentials
MediaplayerMediaValue Space explorerDevelopment Tools
MediaRecorderPimWordsInputMethods
MediaServerMediaWorldTimeEssentials

[Previous: Qt Extended Modules] [Qt Extended Modules] [Next: Building modules]

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 53
  2. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  3. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. La rubrique Qt a besoin de vous ! 1
Page suivante

Le Qt Quarterly au hasard

Logo

XQuery et la météo

Qt Quarterly est la revue trimestrielle proposée par Nokia et à destination des développeurs Qt. Ces articles d'une grande qualité technique sont rédigés par des experts Qt. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt qtextended4.4
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web