本文整理汇总了C++中QDBusInterface::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ QDBusInterface::isValid方法的具体用法?C++ QDBusInterface::isValid怎么用?C++ QDBusInterface::isValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDBusInterface
的用法示例。
在下文中一共展示了QDBusInterface::isValid方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onShowHideDock
void SystemMenu::onShowHideDock()
{
//qDebug() << "SYSMENU SHOW/HIDE DOCK";
int f = 0;
QAction *action = qobject_cast<QAction *>(sender());
if (app->dock->dockState == Dockbar::Normal) {
action->setText("Turn Hiding Off");
app->dock->setAutoHide(true);
f = 1;
} else if (app->dock->dockState == Dockbar::Hidden) {
//app->dock->animateShow();
app->dock->setAutoHide(false);
action->setText("Turn Hiding On");
f = 0;
}
// Notify AnticoDeluxe WM for changing dock size
QDBusInterface *iface = new QDBusInterface("org.freedesktop.AnticoPref",
"/", "org.freedesktop.AnticoPref.WMCtrl",
QDBusConnection::sessionBus(), this);
if (!iface->isValid())
qDebug() << "NOT VALID INTERFACE" << qPrintable(QDBusConnection::sessionBus().lastError().message());
else
iface->call("callFunction", 30, f);
}
示例2: quitApplicationsOverDBus
void quitApplicationsOverDBus()
{
QDBusConnection connection = QDBusConnection::sessionBus();
QDBusConnectionInterface *bus = connection.interface();
const QStringList services = bus->registeredServiceNames();
foreach (const QString &service, services) {
if (service.startsWith(QLatin1String("org.freedesktop.DBus")) || service.startsWith(QLatin1Char(':'))) {
continue;
}
QDBusInterface *iface = new QDBusInterface(service,
QLatin1String("/MainApplication"),
QLatin1String("org.kde.KApplication"),
connection);
if (!iface->isValid()) {
if (verbose) {
fprintf(stderr, "invalid interface of service %s\n", service.toLatin1().data());
}
continue;
}
iface->call("quit");
if (iface->lastError().isValid()) {
if (verbose) {
fprintf(stderr, "killing %s with result\n", iface->lastError().message().toLatin1().data());
}
}
delete iface;
}
}
示例3: onChangeDevices
void SoundPref::onChangeDevices()
{
// Notify AnticoDeluxe WM for changing sound devices
QDBusInterface *iface = new QDBusInterface("org.freedesktop.AnticoDeluxe",
"/", "org.freedesktop.AnticoDeluxe.WMCtrl",
QDBusConnection::sessionBus(), this);
if (!iface->isValid())
qDebug() << "NOT VALID INTERFACE" << qPrintable(QDBusConnection::sessionBus().lastError().message());
else {
iface->call("changeSoundDevices", mixerCard, mixerDevice);
}
}
示例4: service
static QDBusInterface *searchSkypeDBusInterface()
{
const QString service(QStringLiteral("com.Skype.API"));
const QString path(QStringLiteral("/com/Skype"));
QDBusInterface *interface = new QDBusInterface(service, path, QString(), QDBusConnection::sessionBus());
if (!interface->isValid()) {
delete interface;
interface = new QDBusInterface(service, path, QString(), KDBusConnectionPool::threadConnection());
}
return interface;
}
示例5: searchSkypeDBusInterface
static QDBusInterface* searchSkypeDBusInterface()
{
const QLatin1String service( "com.Skype.API" );
const QLatin1String path( "/com/Skype" );
QDBusInterface *interface = new QDBusInterface( service, path, QString(), QDBusConnection::systemBus() );
if ( !interface->isValid() ) {
delete interface;
interface = new QDBusInterface( service, path, QString(), Akonadi::DBusConnectionPool::threadConnection() );
}
return interface;
}
示例6: onShowHideVolumeCtrl
void SoundPref::onShowHideVolumeCtrl()
{
// Notify AnticoDeluxe WM for show / hide volume control
QDBusInterface *iface = new QDBusInterface("org.freedesktop.AnticoDeluxe",
"/", "org.freedesktop.AnticoDeluxe.WMCtrl",
QDBusConnection::sessionBus(), this);
if (!iface->isValid())
qDebug() << "NOT VALID INTERFACE" << qPrintable(QDBusConnection::sessionBus().lastError().message());
else {
iface->call("showSoundVolumeCtrl", ui.showCtrlChk->isChecked());
}
saveSettings();
}
示例7: onVolumeFeedback
void SoundPref::onVolumeFeedback()
{
// Notify AnticoDeluxe WM for playing volume feedback
QDBusInterface *iface = new QDBusInterface("org.freedesktop.AnticoDeluxe",
"/", "org.freedesktop.AnticoDeluxe.WMCtrl",
QDBusConnection::sessionBus(), this);
if (!iface->isValid())
qDebug() << "NOT VALID INTERFACE" << qPrintable(QDBusConnection::sessionBus().lastError().message());
else {
iface->call("soundVolumeFeedback", ui.sndVolFeedbackChk->isChecked());
}
saveSettings();
}
示例8: dbusaction
ActionReply Helper::dbusaction(const QVariantMap& args)
{
ActionReply reply;
QDBusMessage dbusreply;
// Get arguments to method call
QString service = args["service"].toString();
QString path = args["path"].toString();
QString interface = args["interface"].toString();
QString method = args["method"].toString();
QList<QVariant> argsForCall = args["argsForCall"].toList();
QDBusConnection systembus = QDBusConnection::systemBus();
QDBusInterface *iface = new QDBusInterface (service,
path,
interface,
systembus,
this);
if (iface->isValid())
dbusreply = iface->callWithArgumentList(QDBus::AutoDetect, method, argsForCall);
delete iface;
// Error handling
if (method != "Reexecute")
{
if (dbusreply.type() == QDBusMessage::ErrorMessage)
{
reply.setErrorCode(ActionReply::DBusError);
reply.setErrorDescription(dbusreply.errorMessage());
}
}
// Reload systemd daemon to update the enabled/disabled status
if (method == "EnableUnitFiles" || method == "DisableUnitFiles" || method == "MaskUnitFiles" || method == "UnmaskUnitFiles")
{
// systemd does not update properties when these methods are called so we
// need to reload the systemd daemon.
iface = new QDBusInterface ("org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
systembus,
this);
dbusreply = iface->call(QDBus::AutoDetect, "Reload");
delete iface;
}
// return a reply
return reply;
}
示例9: unregisterAgent
bool QBluetoothPasskeyAgent_Private::unregisterAgent(const QString &localAdapter,
const QString &addr)
{
QString bluezAdapter = "/org/bluez";
if (!localAdapter.isNull()) {
bluezAdapter.append("/");
bluezAdapter.append(localAdapter);
}
QDBusInterface *iface = new QDBusInterface("org.bluez",
bluezAdapter,
"org.bluez.Security",
QDBusConnection::systemBus());
if (!iface->isValid())
return false;
QString bluezMethod;
QVariantList args;
QString path = m_name;
path.prepend('/');
args << path;
if (addr.isNull()) {
bluezMethod = "UnregisterDefaultPasskeyAgent";
}
else {
bluezMethod = "UnregisterPasskeyAgent";
args << addr;
}
QDBusReply<void> reply = iface->callWithArgumentList(QDBus::Block,
bluezMethod, args);
if (!reply.isValid()) {
handleError(reply.error());
return false;
}
return true;
}
示例10: mgrIface
QString
BTAdaptor::adapterPath ()
{
// Get the Bluez manager dbus interface
QDBusInterface mgrIface ("org.bluez", "/", "org.bluez.Manager", QDBusConnection::systemBus ());
if (!mgrIface.isValid ())
{
qWarning() << "Unable to get bluez manager iface";
return "";
}
// Fetch the default bluetooth adapter
QDBusReply<QDBusObjectPath> reply = mgrIface.call (QLatin1String ("DefaultAdapter"));
QString adapterPath = reply.value ().path ();
qDebug() << "Bluetooth adapter path:" << adapterPath;
return adapterPath;
}
示例11: main
int main (int argc, char *argv[]) {
QApplication app (argc, argv);
QStringList args = app.arguments ();
if (!args.isEmpty ()) args.pop_front (); // The command itself
qputenv ("DESKTOP_STARTUP_ID", qgetenv ("STARTUP_ID_COPY")); // for startup notifications (set via rkward.desktop)
qputenv ("STARTUP_ID_COPY", "");
// Parse arguments that need handling in the wrapper
bool usage = false;
QStringList debugger_args;
QStringList file_args;
bool reuse = false;
bool warn_external = true;
QString r_exe_arg;
int debug_level = 2;
for (int i=0; i < args.size (); ++i) {
if (args[i] == "--debugger") {
args.removeAt (i);
while (i < args.size ()) {
QString arg = args.takeAt (i);
if (arg == "--") break;
debugger_args.append (arg);
}
if (debugger_args.isEmpty ()) usage = true;
} else if (args[i] == "--r-executable") {
if ((i+1) < args.size ()) {
r_exe_arg = args.takeAt (i + 1);
} else usage = true;
args.removeAt (i);
--i;
} else if (args[i] == "--debug-level") {
if ((i+1) < args.size ()) {
debug_level = args[i+1].toInt ();
}
} else if (args[i] == "--reuse") {
reuse = true;
} else if (args[i] == "--nowarn-external") {
warn_external = false;
} else if (args[i].startsWith ("--")) {
// all RKWard and KDE options (other than --reuse) are of the for --option <value>. So skip over the <value>
i++;
} else {
QUrl url (args[i]);
if (url.isRelative ()) {
file_args.append (QDir::current ().absoluteFilePath (url.toLocalFile ()));
} else {
file_args.append (args[i]);
}
}
}
if (reuse) {
if (!QDBusConnection::sessionBus ().isConnected ()) {
if (debug_level > 2) qDebug ("Could not connect to session dbus");
} else {
QDBusInterface iface (RKDBUS_SERVICENAME, "/", "", QDBusConnection::sessionBus ());
if (iface.isValid ()) {
QDBusReply<void> reply = iface.call ("openAnyUrl", file_args, warn_external);
if (!reply.isValid ()) {
if (debug_level > 2) qDebug ("Error while placing dbus call: %s", qPrintable (reply.error ().message ()));
return 1;
}
return 0;
}
}
}
// MacOS may need some path adjustments, first
#ifdef Q_WS_MAC
QString oldpath = qgetenv ("PATH");
if (!oldpath.contains (INSTALL_PATH)) {
//ensure that PATH is set to include what we deliver with the bundle
qputenv ("PATH", QString ("%1/bin:%1/sbin:%2").arg (INSTALL_PATH).arg (oldpath).toLocal8Bit ());
if (debug_level > 3) qDebug ("Adjusting system path to %s", qPrintable (qgetenv ("PATH")));
}
// ensure that RKWard finds its own packages
qputenv ("R_LIBS", R_LIBS);
QProcess::execute ("launchctl", QStringList () << "load" << "-w" << INSTALL_PATH "/Library/LaunchAgents/org.freedesktop.dbus-session.plist");
#endif
// Locate KDE and RKWard installations
QString kde4_config_exe = findExeAtPath ("kde4-config", QDir::currentPath ());
if (kde4_config_exe.isNull ()) kde4_config_exe = findExeAtPath ("kde4-config", app.applicationDirPath ());
if (kde4_config_exe.isNull ()) kde4_config_exe = findExeAtPath ("kde4-config", QDir (app.applicationDirPath ()).filePath ("KDE/bin"));
if (kde4_config_exe.isNull ()) {
#ifdef Q_WS_WIN
QStringList syspath = QString (qgetenv ("PATH")).split (';');
#else
QStringList syspath = QString (qgetenv ("PATH")).split (':');
#endif
for (int i = 0; i < syspath.size (); ++i) {
kde4_config_exe = findExeAtPath ("kde4-config", syspath[i]);
if (!kde4_config_exe.isNull ()) break;
}
}
if (kde4_config_exe.isNull ()) {
QMessageBox::critical (0, "Could not find KDE installation", "The KDE installation could not be found (kde4-config). When moving / copying RKWard, make sure to copy the whole application folder, or create a shorcut / link, instead.");
exit (1);
//.........这里部分代码省略.........
示例12: data
QVariant UnitModel::data(const QModelIndex & index, int role) const
{
if (!index.isValid())
return QVariant();
if (role == Qt::DisplayRole)
{
if (index.column() == 0)
return unitList->at(index.row()).load_state;
else if (index.column() == 1)
return unitList->at(index.row()).active_state;
else if (index.column() == 2)
return unitList->at(index.row()).sub_state;
else if (index.column() == 3)
return unitList->at(index.row()).id;
}
else if (role == Qt::ForegroundRole)
{
const KColorScheme scheme(QPalette::Normal);
if (unitList->at(index.row()).active_state == "active")
return scheme.foreground(KColorScheme::PositiveText);
else if (unitList->at(index.row()).active_state == "failed")
return scheme.foreground(KColorScheme::NegativeText);
else if (unitList->at(index.row()).active_state == "-")
return scheme.foreground(KColorScheme::InactiveText);
else
return QVariant();
}
else if (role == Qt::ToolTipRole)
{
QString selUnit = unitList->at(index.row()).id;
QString selUnitPath = unitList->at(index.row()).unit_path.path();
QString selUnitFile = unitList->at(index.row()).unit_file;
QString toolTipText;
toolTipText.append("<FONT COLOR=white>");
toolTipText.append("<b>" + selUnit + "</b><hr>");
// Create a DBus interface
QDBusConnection bus("");
if (!userBus.isEmpty())
bus = QDBusConnection::connectToBus(userBus, "org.freedesktop.systemd1");
else
bus = QDBusConnection::systemBus();
QDBusInterface *iface;
// Use the DBus interface to get unit properties
if (!selUnitPath.isEmpty())
{
// Unit has a valid path
iface = new QDBusInterface ("org.freedesktop.systemd1",
selUnitPath,
"org.freedesktop.systemd1.Unit",
bus);
if (iface->isValid())
{
// Unit has a valid unit DBus object
toolTipText.append(i18n("<b>Description: </b>"));
toolTipText.append(iface->property("Description").toString());
toolTipText.append(i18n("<br><b>Unit file: </b>"));
toolTipText.append(iface->property("FragmentPath").toString());
toolTipText.append(i18n("<br><b>Unit file state: </b>"));
toolTipText.append(iface->property("UnitFileState").toString());
qulonglong ActiveEnterTimestamp = iface->property("ActiveEnterTimestamp").toULongLong();
toolTipText.append(i18n("<br><b>Activated: </b>"));
if (ActiveEnterTimestamp == 0)
toolTipText.append("n/a");
else
{
QDateTime timeActivated;
timeActivated.setMSecsSinceEpoch(ActiveEnterTimestamp/1000);
toolTipText.append(timeActivated.toString());
}
qulonglong InactiveEnterTimestamp = iface->property("InactiveEnterTimestamp").toULongLong();
toolTipText.append(i18n("<br><b>Deactivated: </b>"));
if (InactiveEnterTimestamp == 0)
toolTipText.append("n/a");
else
{
QDateTime timeDeactivated;
timeDeactivated.setMSecsSinceEpoch(InactiveEnterTimestamp/1000);
toolTipText.append(timeDeactivated.toString());
}
}
delete iface;
}
else
{
// Unit does not have a valid unit DBus object
// Retrieve UnitFileState from Manager object
iface = new QDBusInterface ("org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
//.........这里部分代码省略.........