本文整理汇总了C++中QServiceManager::findInterfaces方法的典型用法代码示例。如果您正苦于以下问题:C++ QServiceManager::findInterfaces方法的具体用法?C++ QServiceManager::findInterfaces怎么用?C++ QServiceManager::findInterfaces使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QServiceManager
的用法示例。
在下文中一共展示了QServiceManager::findInterfaces方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: reloadInterfaceImplementationsList
void ServiceBrowser::reloadInterfaceImplementationsList()
{
QString serviceName;
if (servicesListWidget->currentItem()
&& servicesListWidget->currentItem() != showAllServicesItem) {
serviceName = servicesListWidget->currentItem()->text();
interfacesGroup->setTitle(tr("Interfaces implemented by %1").arg(serviceName));
} else {
interfacesGroup->setTitle(tr("All interface implementations"));
}
QServiceManager *manager = serviceManager;
if (serviceName.endsWith(" (system)")) {
serviceName.chop(9);
manager = systemManager;
}
QList<QServiceInterfaceDescriptor> descriptors = manager->findInterfaces(serviceName);
attributesListWidget->clear();
interfacesListWidget->clear();
for (int i=0; i<descriptors.count(); i++) {
if (descriptors[i].scope() != manager->scope() && !serviceName.isEmpty())
continue;
QString text = QString("%1 %2.%3")
.arg(descriptors[i].interfaceName())
.arg(descriptors[i].majorVersion())
.arg(descriptors[i].minorVersion());
QServiceInterfaceDescriptor defaultInterfaceImpl
= manager->interfaceDefault(descriptors[i].interfaceName());
if (serviceName.isEmpty()) {
text += " (" + descriptors[i].serviceName() + ")";
if (descriptors[i].scope() == QService::SystemScope) {
text += tr(" (system");
defaultInterfaceImpl = systemManager->interfaceDefault(descriptors[i].interfaceName());
if (descriptors[i] == defaultInterfaceImpl)
text += tr(" default)");
else
text += ")";
defaultInterfaceImpl = QServiceInterfaceDescriptor();
}
}
if (descriptors[i] == defaultInterfaceImpl)
text += tr(" (default)");
QListWidgetItem *item = new QListWidgetItem(text);
item->setData(Qt::UserRole, qVariantFromValue(descriptors[i]));
interfacesListWidget->addItem(item);
}
defaultInterfaceButton->setEnabled(false);
}
示例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: filter
FtuFirstTimeUse::FtuFirstTimeUse(QObject* aParent) :
QObject(aParent),
mRuntime(NULL)
{
QDEBUG("FTU::FtuFirstTimeUse::FtuFirstTimeUse");
registerServicePlugins();
QServiceManager manager;
QServiceFilter filter(ftuRuntimeUri);
QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces(
filter);
QDEBUG("ftu: found " << interfaces.count()
<< " instances of runtime";)
if(interfaces.count() > 0){