当前位置: 首页>>代码示例>>C++>>正文


C++ QServiceManager::loadInterface方法代码示例

本文整理汇总了C++中QServiceManager::loadInterface方法的典型用法代码示例。如果您正苦于以下问题:C++ QServiceManager::loadInterface方法的具体用法?C++ QServiceManager::loadInterface怎么用?C++ QServiceManager::loadInterface使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QServiceManager的用法示例。


在下文中一共展示了QServiceManager::loadInterface方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: runtime_error

ActivityTsModel::ActivityTsModel(QObject *parent) : 
QObject(parent),
mMonitor(0),
mAfManager(0) , 
mMaxItems(10)
{
    {
        QServiceManager serviceManager;
        mAfManager = serviceManager.loadInterface(KActivityManager);
        if (mAfManager) {
            mAfManager->setParent(this);
        } else {
            throw std::runtime_error("Cannot create critical com.nokia.qt.activities.ActivityManager service");
        }
    }
    
    {
        XQSettingsManager crManager;
        QVariant itemsNumberVariant = crManager.readItemValue(XQCentralRepositorySettingsKey(KTsDeviceDialogUid, KItemsLimit), XQSettingsManager::TypeInt);
        if (!itemsNumberVariant.isNull()) {
            int number = itemsNumberVariant.toInt();
            if (number > 0) {
                mMaxItems = number;
            }
        }
    }
    
    connect(mAfManager, SIGNAL(dataChanged()), SLOT(getActivities()));
    connect(mAfManager, SIGNAL(thumbnailReady(QPixmap,void*)), SLOT(convertScreenshotToThumbnail(QPixmap,void*)));
    
    getActivities();
}
开发者ID:kuailexs,项目名称:symbiandump-mw1,代码行数:32,代码来源:activitytsmodel.cpp

示例2: addWidget

/*!
    Adds widget \a widgetUri utilizing service interface and invokeMethod call
*/
int HsBookmarkPublishClient::addWidget(QString Title, QString Url)
{   
    // find interface IHomeScreenClient from service hshomescreenclientplugin 
    QServiceManager manager;
    QServiceFilter filter("com.nokia.symbian.IHomeScreenClient");
    filter.setServiceName("hshomescreenclientplugin");
    QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces(filter);
    QVariantHash params;
    QString iconFileName;
    params["bookmarkTitle"] = Title;
    params["bookmarkUrl"] = Url;
    params["faviconPath"] = BEDROCK_PROVISIONING::BedrockProvisioning::createBedrockProvisioning()->valueAsString("DataBaseDirectory");

    if(interfaces.isEmpty()) {
        QServiceManager::Error error = manager.error();
        return FAILURE;
    }
    
    // Retrieve the favicon and check its exsistance
    QIcon icon = QWebSettings::iconForUrl(Url);
    if (!icon.isNull())
        iconFileName = getIconFileName(Url);
        
    params["faviconFileName"] = iconFileName;
    
    saveFavicon(Url, iconFileName);
    
    QObject* service = manager.loadInterface(interfaces.first());

    // access service's addWidget function
    bool retVal = false;
    bool ret = QMetaObject::invokeMethod( 
        service, 
        "addWidget",
        Qt::DirectConnection,
        Q_RETURN_ARG(bool, retVal),
        Q_ARG(QString,mWidgetUri),
        Q_ARG(QVariantHash,params));   
        
    if(!ret){
        // invokeMethod returned error
        return FAILURE;
    }
    if(!retVal){
        // addWidget returned error
        return FAILURE;
    }
    
    return SUCCESS;
}
开发者ID:cdaffara,项目名称:symbiandump-ossapps,代码行数:53,代码来源:hsbookmarkpublishclient.cpp

示例3: init

void ToDoTool::init()
{
    bool ok;
    QString interfaceName = QInputDialog::getText(this, tr("ToDoTool"), tr("Specify Notes Manager interface:"),
                                                  QLineEdit::Normal, "com.nokia.qt.examples.NotesManager", &ok);
    if (ok) {
        QServiceInterfaceDescriptor desc = serviceManager->interfaceDefault(interfaceName);

        if (desc.isValid()) {
            QServiceManager mgr;
            notesManager = mgr.loadInterface(desc);

            if (notesManager)
                notesManager->setParent(this);
            
            bool connect;
            QMetaObject::invokeMethod(notesManager, "init", Q_RETURN_ARG(bool, connect));
            if (connect) {
                currentNote = 1;
                searchWord = "";    
                refreshList();

                addButton->setEnabled(true);
                deleteButton->setEnabled(true);
                searchButton->setEnabled(true);
                nextButton->setEnabled(true);
                prevButton->setEnabled(true);

                QObject::connect(notesManager, SIGNAL(soundAlarm(QDateTime)), 
                        this, SLOT(soundAlarm(QDateTime))); 
            } else {
                QMessageBox msgBox;
                msgBox.setWindowTitle(tr("ToDoTool"));
                msgBox.setText("Unable to access notes manager database\n in current or home directory");
                msgBox.exec();
            }
        } else {
开发者ID:Esclapion,项目名称:qt-mobility,代码行数:37,代码来源:sfwnotes.cpp


注:本文中的QServiceManager::loadInterface方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。