/*!
 Parses requested docml file section and reflects its contents in the
 object state.
 \param documentName Identifies document to parse.
 \return Document loader instance containing parsed
    objects for requested \documentName.
 */
QSharedPointer<HbDocumentLoader> HsMenuViewBuilder::parseDocument(
    const QString &documentBaseName)
{
    HSMENUTEST_FUNC_ENTRY("HsMenuViewBuilder::parseDocument");

    bool loadStatusOk = false;

    QSharedPointer<HbDocumentLoader> loader(new HbDocumentLoader());

    const QString documentFullName = DOCUMENT_NAME_PREFIX +
                                     documentBaseName +
                                     DOCUMENT_NAME_EXT;
    const QObjectList loadedObjects =
        loader->load(documentFullName, &loadStatusOk);

    mLoadedObjects |= loadedObjects.toSet();

    Q_ASSERT_X(loadStatusOk,
               documentFullName.toLatin1().data(),
               "Error while loading docml file.");

    HSMENUTEST_FUNC_EXIT("HsMenuViewBuilder::parseDocument");

    return loader;
}