本文整理汇总了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();
}
示例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;
}
示例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 {