• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeutils API Reference
  • KDE Home
  • Contact Us
 

kremotecontrol

  • sources
  • kde-4.12
  • kdeutils
  • kremotecontrol
  • libkremotecontrol
dbusaction.cpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010 Michael Zanetti <michael_zanetti@gmx.net>
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License along
15  with this program; if not, write to the Free Software Foundation, Inc.,
16  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 
18 */
19 
20 #include "dbusaction.h"
21 
22 DBusAction::DBusAction(const QString &button): Action(Action::DBusAction, button) {
23 
24 }
25 
26 DBusAction::DBusAction(): Action(Action::DBusAction) {
27 }
28 
29 QString DBusAction::application() const {
30  return m_application;
31 }
32 
33 void DBusAction::setApplication(const QString& application) {
34  m_application = application;
35 }
36 
37 QString DBusAction::node() const {
38  return m_node;
39 }
40 
41 void DBusAction::setNode(const QString& node) {
42  m_node = node;
43 }
44 
45 QString DBusAction::interface() const
46 {
47  return m_interface;
48 }
49 
50 void DBusAction::setInterface(const QString& interface)
51 {
52  m_interface = interface;
53 }
54 
55 Prototype DBusAction::function() const {
56  return m_function;
57 }
58 
59 void DBusAction::setFunction(const Prototype& function) {
60  m_function = function;
61 }
62 
63 QString DBusAction::name() const {
64  return m_application + QLatin1Char( ':' ) + m_node;
65 }
66 
67 QString DBusAction::description() const {
68  return m_function.name();
69 }
70 
71 void DBusAction::saveToConfig(KConfigGroup& config) {
72  Action::saveToConfig(config);
73  config.writeEntry("Application", m_application);
74  config.writeEntry("Node", m_node);
75  config.writeEntry("Interface", m_interface);
76  config.writeEntry("Function", m_function.name());
77  int i = 0; // GroupID for arguments
78  foreach(const Argument &arg, m_function.args()){
79  KConfigGroup argumentGroup(&config, QLatin1String( "Argument" ) + QString::number(i));
80  argumentGroup.writeEntry("Description", arg.description());
81  argumentGroup.writeEntry("Value", arg.value());
82  argumentGroup.writeEntry("Type", arg.value().typeName());
83  i++;
84  }
85 }
86 
87 void DBusAction::loadFromConfig(const KConfigGroup& config) {
88  Action::loadFromConfig(config);
89  m_application = config.readEntry("Application");
90  m_node = config.readEntry("Node");
91  if (!m_node.startsWith(QLatin1String("/"))) {
92  m_node.prepend(QLatin1String("/"));
93  }
94  m_interface = config.readEntry("Interface");
95  m_function = Prototype(config.readEntry("Function"));
96  QStringList argGroupList = config.groupList();
97  argGroupList.sort();
98  QList<Argument> argList;
99  foreach(const QString &argID, argGroupList){
100  KConfigGroup argumentGroup = KConfigGroup(&config, argID);
101  QVariant argValue = QVariant(QVariant::nameToType(argumentGroup.readEntry("Type").toLocal8Bit()));
102  argValue = argumentGroup.readEntry("Value", argValue);
103  QString description = argumentGroup.readEntry("Description");
104  Argument arg(argValue, description);
105  argList.append(arg);
106  }
107  m_function.setArgs(argList);
108 }
109 
110 Action* DBusAction::clone() const {
111  DBusAction *action = new DBusAction();
112  action->setApplication(m_application);
113  action->setAutostart(m_autostart);
114  action->setDestination(m_destination);
115  action->setInterface(m_interface);
116  action->setFunction(m_function);
117  action->setNode(m_node);
118  action->setRepeat(m_repeat);
119  action->setButton(m_button);
120  return action;
121 }
Argument
Definition: argument.h:27
DBusAction::m_node
QString m_node
Definition: dbusaction.h:61
DBusAction::loadFromConfig
virtual void loadFromConfig(const KConfigGroup &config)
Definition: dbusaction.cpp:87
Prototype::name
QString name() const
Definition: prototype.cpp:28
DBusAction::node
QString node() const
Definition: dbusaction.cpp:37
DBusAction::function
Prototype function() const
Definition: dbusaction.cpp:55
dbusaction.h
DBusAction::saveToConfig
virtual void saveToConfig(KConfigGroup &config)
Definition: dbusaction.cpp:71
DBusAction::setInterface
void setInterface(const QString &interface)
Definition: dbusaction.cpp:50
Action::loadFromConfig
virtual void loadFromConfig(const KConfigGroup &config)
Definition: action.cpp:94
DBusAction::clone
virtual Action * clone() const
Definition: dbusaction.cpp:110
Action::m_autostart
bool m_autostart
Definition: action.h:66
Action
Definition: action.h:30
Argument::description
QString description() const
Definition: argument.cpp:40
DBusAction::setApplication
void setApplication(const QString &application)
Definition: dbusaction.cpp:33
DBusAction
Definition: dbusaction.h:32
DBusAction::setFunction
void setFunction(const Prototype &function)
Definition: dbusaction.cpp:59
Action::setRepeat
void setRepeat(bool repeat)
Definition: action.cpp:49
Action::setButton
void setButton(const QString &button)
Definition: action.cpp:41
Prototype
Definition: prototype.h:28
DBusAction::m_application
QString m_application
Definition: dbusaction.h:60
Prototype::setArgs
void setArgs(const QList< Argument > &args)
Definition: prototype.cpp:36
Action::setDestination
void setDestination(ActionDestination destination)
Definition: action.cpp:65
DBusAction::m_interface
QString m_interface
Definition: dbusaction.h:62
Action::m_repeat
bool m_repeat
Definition: action.h:66
DBusAction::m_function
Prototype m_function
Definition: dbusaction.h:63
Action::setAutostart
void setAutostart(bool autostart)
Definition: action.cpp:57
DBusAction::interface
QString interface() const
Definition: dbusaction.cpp:45
Action::m_button
QString m_button
Definition: action.h:65
Prototype::args
QList< Argument > args() const
Definition: prototype.cpp:32
Action::saveToConfig
virtual void saveToConfig(KConfigGroup &config)
Definition: action.cpp:69
DBusAction::application
QString application() const
Definition: dbusaction.cpp:29
Action::m_destination
ActionDestination m_destination
Definition: action.h:67
Argument::value
QVariant value() const
Definition: argument.cpp:32
DBusAction::setNode
void setNode(const QString &node)
Definition: dbusaction.cpp:41
DBusAction::name
virtual QString name() const
Definition: dbusaction.cpp:63
DBusAction::description
virtual QString description() const
Definition: dbusaction.cpp:67
DBusAction::DBusAction
DBusAction()
Definition: dbusaction.cpp:26
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:07:43 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kremotecontrol

Skip menu "kremotecontrol"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeutils API Reference

Skip menu "kdeutils API Reference"
  • ark
  • filelight
  • kcalc
  • kcharselect
  • kdf
  • kfloppy
  • kgpg
  • kremotecontrol
  • ktimer
  • kwallet
  • superkaramba
  • sweeper

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal