fix documentation temporary

This commit is contained in:
Simon Stürz 2015-08-04 20:27:06 +02:00 committed by Michael Zanetti
parent e358fbda71
commit 9ff00cb2cd
36 changed files with 89 additions and 110 deletions

View File

@ -4,7 +4,8 @@
\table 80%
\row \li \l{libguh} \li Common data types and plugin interfaces
\row \li \l{guh server} \li The guh server daemon implementation
\row \li \l{guhserver} \li The guh server daemon implementation
\row \li \l{Plugins} \li The device plugins of the guh server
\endtable
*/

View File

@ -12,7 +12,7 @@
\li \l{Device Plugins}{The Device Plugin API}
\li \l{Hardware Resources}{Hardware Resources}
\endlist
\li \l{guh server}
\li \l{guhserver}
\list
\li \l{guh Core}
\li \l{JSONRPC Interface}

View File

@ -1,17 +1,7 @@
/*!
\module server
\title guh server
The guh server is the instance that communicates with the hardware and provides a JSONRPC interface
for communicating with the UI. It consists of those parts:
\section3 guh core
\annotatedlist core
\section3 JSRONRPC Interface
\annotatedlist jsonrpc
\section3 Rules Engine
\annotatedlist rules
\namespace guhserver
\brief The namespace for the server.
\inmodule server
*/

View File

@ -10,13 +10,13 @@
A rule is composed by a set of \l{Event}{Events}, \l{State}{States} and \l{Action}{Actions}.
This diagram shows how rules are composed and interpreted by
the \l{RuleEngine}.
the \l{guhserver::RuleEngine}.
\image Rules_definition.svg "Rules definition"
A basic concept of a \l{Rule} is the trigger path. This is the path that defines when a \l{Rule}
A basic concept of a \l{guhserver::Rule} is the trigger path. This is the path that defines when a \l{guhserver::Rule}
is triggered for evaluation. Each element added on a trigger path (either red or blue) has the possibility to trigger the
\l{RuleEngine} to evaluate the complete rule and ultimately execute the defined \l{Action}{Actions} if the
\l{guhserver::RuleEngine} to evaluate the complete rule and ultimately execute the defined \l{Action}{Actions} if the
whole rule evaluates to true. Once the trigger path has been left (i.e. a black arrow is followed),
subsequent elements will still be evaluated when the rule is triggered, but they won't trigger the
evaluation themselves.

View File

@ -163,8 +163,8 @@
/*! \fn void DeviceManager::eventTriggered(const Event &event)
The DeviceManager will emit a \l{Event} described in \a event whenever a Device
creates one. Normally only \l{GuhCore} should connect to this and execute actions
after checking back with the \{RulesEngine}. Exceptions might be monitoring interfaces
creates one. Normally only \l{guhserver::GuhCore} should connect to this and execute actions
after checking back with the \{guhserver::RulesEngine}. Exceptions might be monitoring interfaces
or similar, but you should never directly react to this in a \l{DevicePlugin}.
*/
@ -187,8 +187,8 @@
#include <QStandardPaths>
#include <QDir>
/*! Constructs the DeviceManager with the given \a parent. There should only be one DeviceManager in the system created by \l{GuhCore}.
* Use \c GuhCore::instance()->deviceManager() instead to access the DeviceManager. */
/*! Constructs the DeviceManager with the given \a parent. There should only be one DeviceManager in the system created by \l{guhserver::GuhCore}.
* Use \c guhserver::GuhCore::instance()->deviceManager() instead to access the DeviceManager. */
DeviceManager::DeviceManager(QObject *parent) :
QObject(parent),
m_radio433(0)
@ -224,6 +224,7 @@ DeviceManager::~DeviceManager()
}
}
/*! Returns the list of search direcorys where \l{DevicePlugin} will be searched. */
QStringList DeviceManager::pluginSearchDirs()
{
QStringList searchDirs;
@ -234,6 +235,7 @@ QStringList DeviceManager::pluginSearchDirs()
return searchDirs;
}
/*! Returns the list of json objects containing the metadata of the installed plugins. */
QList<QJsonObject> DeviceManager::pluginsMetadata()
{
QList<QJsonObject> pluginList;

View File

@ -26,7 +26,7 @@
\ingroup devices
\inmodule libguh
An DeviceDescriptor describes an \l{Device} in order to match it with a \l{Rule}.
An DeviceDescriptor describes an \l{Device} in order to match it with a \l{guhserver::Rule}.
\sa Device
*/

View File

@ -26,9 +26,9 @@
\ingroup types
\inmodule libguh
An EventDescriptor describes an \l{Event} in order to match it with a \l{Rule}.
An EventDescriptor describes an \l{Event} in order to match it with a \l{guhserver::Rule}.
\sa Event, EventType, Rule
\sa Event, EventType, guhserver::Rule
*/
#include "eventdescriptor.h"

View File

@ -26,7 +26,7 @@
\ingroup types
\inmodule libguh
An ParamDescriptor describes a \l{Param} in order to match it with a \l{Rule}.
An ParamDescriptor describes a \l{Param} in order to match it with a \l{guhserver::yRule}.
\sa Param, ParamType
*/

View File

@ -21,15 +21,15 @@
/*!
\class RuleAction
\brief Describes an action for a \l{Rule}.
\brief Describes an action for a \l{guhserver::Rule}.
\ingroup types
\inmodule libguh
A RuleAction describes a special form of an \l{Action} for a \l{Rule}. The main difference is
the \l{RuleActionParam}, which allows to use an EventTypeId within a \l{Rule} to execute this \l{RuleAction}.
A RuleAction describes a special form of an \l{Action} for a \l{guhserver::Rule}. The main difference is
the \l{RuleActionParam}, which allows to use an EventTypeId within a \l{guhserver::Rule} to execute this \l{RuleAction}.
\sa Rule, RuleActionParam,
\sa guhserver::Rule, RuleActionParam,
*/
#include "ruleaction.h"

View File

@ -29,7 +29,7 @@
A RuleActionParam allows rules to take over an \l{Event} parameter into a rule
\l{RuleAction}.
\sa Rule, RuleAction,
\sa guhserver::Rule, RuleAction,
*/
#include "ruleactionparam.h"

View File

@ -26,9 +26,9 @@
\ingroup types
\inmodule libguh
An StateDescriptor describes a \l{State} in order to match it with a \l{Rule}.
An StateDescriptor describes a \l{State} in order to match it with a \l{guhserver::Rule}.
\sa State, Rule
\sa State, guhserver::Rule
*/

View File

@ -28,12 +28,12 @@
This plugin allows to receive UDP packages over a certain UDP port and generates an \l{Event} if the message content matches
the \l{Param} command.
\note This plugin is ment to be combined with a \l{Rule}.
\note This plugin is ment to be combined with a \l{guhserver::Rule}.
\section3 Example
If you create an UDP Commander on port 2323 and with the command \c{"Light 1 ON"}, following command will trigger an \l{Event} in guh
and allows you to connect this \l{Event} with a \l{Rule}.
and allows you to connect this \l{Event} with a \l{guhserver::Rule}.
\note In this example guh is running on \c localhost

View File

@ -20,7 +20,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*!
\class GuhCore
\class guhserver::GuhCore
\brief The main entry point for the Guh Server and the place where all the messages are dispatched.
\ingroup core
@ -30,69 +30,69 @@
instantiate, set up and connect all the other components.
*/
/*! \enum GuhCore::RunningMode
/*! \enum guhserver::GuhCore::RunningMode
\value RunningModeApplication
Guh runns as application.
\value RunningModeService
Guh is started as service (daemon).
*/
/*! \fn void GuhCore::eventTriggered(const Event &event);
/*! \fn void guhserver::GuhCore::eventTriggered(const Event &event);
This signal is emitted when an \a event happend.
*/
/*! \fn void GuhCore::deviceStateChanged(Device *device, const QUuid &stateTypeId, const QVariant &value);
/*! \fn void guhserver::GuhCore::deviceStateChanged(Device *device, const QUuid &stateTypeId, const QVariant &value);
This signal is emitted when the \l{State} of a \a device changed. The \a stateTypeId parameter describes the
\l{StateType} and the \a value parameter holds the new value.
*/
/*! \fn void GuhCore::deviceRemoved(const DeviceId &deviceId);
/*! \fn void guhserver::GuhCore::deviceRemoved(const DeviceId &deviceId);
This signal is emitted when a \l{Device} with the given \a deviceId was removed.
*/
/*! \fn void GuhCore::deviceAdded(Device *device);
/*! \fn void guhserver::GuhCore::deviceAdded(Device *device);
This signal is emitted when a \a device was added to the system.
*/
/*! \fn void GuhCore::deviceParamsChanged(Device *device);
/*! \fn void guhserver::GuhCore::deviceParamsChanged(Device *device);
This signal is emitted when the \l{ParamList}{Params} of a \a device have been changed.
*/
/*! \fn void GuhCore::actionExecuted(const ActionId &id, DeviceManager::DeviceError status);
/*! \fn void guhserver::GuhCore::actionExecuted(const ActionId &id, DeviceManager::DeviceError status);
This signal is emitted when the \l{Action} with the given \a id is finished.
The \a status of the \l{Action} execution will be described as \l{DeviceManager::DeviceError}{DeviceError}.
*/
/*! \fn void GuhCore::devicesDiscovered(const DeviceClassId &deviceClassId, const QList<DeviceDescriptor> deviceDescriptors);
/*! \fn void guhserver::GuhCore::devicesDiscovered(const DeviceClassId &deviceClassId, const QList<DeviceDescriptor> deviceDescriptors);
This signal is emitted when the discovery of a \a deviceClassId is finished. The \a deviceDescriptors parameter describes the
list of \l{DeviceDescriptor}{DeviceDescriptors} of all discovered \l{Device}{Devices}.
\sa discoverDevices()
*/
/*! \fn void GuhCore::deviceSetupFinished(Device *device, DeviceManager::DeviceError status);
/*! \fn void guhserver::GuhCore::deviceSetupFinished(Device *device, DeviceManager::DeviceError status);
This signal is emitted when the setup of a \a device is finished. The \a status parameter describes the
\l{DeviceManager::DeviceError}{DeviceError} that occurred.
*/
/*! \fn void GuhCore::deviceEditFinished(Device *device, DeviceManager::DeviceError status);
/*! \fn void guhserver::GuhCore::deviceEditFinished(Device *device, DeviceManager::DeviceError status);
This signal is emitted when the edit request of a \a device is finished. The \a status of the edit request will be
described as \l{DeviceManager::DeviceError}{DeviceError}.
*/
/*! \fn void GuhCore::pairingFinished(const PairingTransactionId &pairingTransactionId, DeviceManager::DeviceError status, const DeviceId &deviceId);
/*! \fn void guhserver::GuhCore::pairingFinished(const PairingTransactionId &pairingTransactionId, DeviceManager::DeviceError status, const DeviceId &deviceId);
The DeviceManager will emit a this Signal when the pairing of a \l{Device} with the \a deviceId and \a pairingTransactionId is finished.
The \a status of the pairing will be described as \l{DeviceManager::DeviceError}{DeviceError}.
*/
/*! \fn void GuhCore::ruleRemoved(const RuleId &ruleId);
/*! \fn void guhserver::GuhCore::ruleRemoved(const RuleId &ruleId);
This signal is emitted when a \l{Rule} with the given \a ruleId was removed.
*/
/*! \fn void GuhCore::ruleAdded(const Rule &rule);
/*! \fn void guhserver::GuhCore::ruleAdded(const Rule &rule);
This signal is emitted when a \a rule was added to the system.
*/
/*! \fn void GuhCore::ruleConfigurationChanged(const Rule &rule);
/*! \fn void guhserver::GuhCore::ruleConfigurationChanged(const Rule &rule);
This signal is emitted when the configuration of \a rule changed.
*/

View File

@ -19,11 +19,11 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*!
\class HttpReply
\class guhserver::HttpReply
\brief Represents a reply of the guh webserver.
\ingroup types
\inmodule libguh
\ingroup core
\inmodule server
This class holds the header and the payload data of a network reply and represents a response
from the guh webserver.
@ -32,7 +32,7 @@
*/
/*! \enum HttpReply::HttpStatusCode
/*! \enum guhserver::HttpReply::HttpStatusCode
This enum type specifies the status code of a HTTP webserver reply.
@ -72,7 +72,7 @@
...
*/
/*! \enum HttpReply::HttpHeaderType
/*! \enum guhserver::HttpReply::HttpHeaderType
This enum type specifies the known type of a header in a HTTP webserver reply.
@ -96,7 +96,7 @@
...
*/
/*! \enum HttpReply::Type
/*! \enum guhserver::HttpReply::Type
*/
@ -106,6 +106,8 @@
#include <QPair>
#include <QDebug>
namespace guhserver {
/*! Construct a HttpReply with the given \a statusCode. */
HttpReply::HttpReply(QObject *parent) :
QObject(parent),
@ -352,3 +354,5 @@ void HttpReply::timeout()
m_timedOut = true;
emit finished();
}
}

View File

@ -29,6 +29,8 @@
// Note: RFC 7231 HTTP/1.1 Semantics and Content -> http://tools.ietf.org/html/rfc7231
namespace guhserver {
class HttpReply: public QObject
{
Q_OBJECT
@ -128,7 +130,8 @@ public slots:
signals:
void finished();
};
}
#endif // HTTPREPLY_H

View File

@ -23,6 +23,7 @@
#include <QUrlQuery>
namespace guhserver {
HttpRequest::HttpRequest() :
m_rawData(QByteArray()),
@ -217,3 +218,5 @@ QDebug operator<<(QDebug debug, const HttpRequest &httpRequest)
debug << "-----------------------------------" << "\n";
return debug;
}
}

View File

@ -26,6 +26,8 @@
#include <QString>
#include <QHash>
namespace guhserver {
class HttpRequest
{
public:
@ -81,4 +83,5 @@ private:
QDebug operator<< (QDebug debug, const HttpRequest &httpRequest);
}
#endif // HTTPREQUEST_H

View File

@ -204,7 +204,6 @@ void qtServiceLogDebug(QtMsgType type, const char* msg)
\sa startupType()
*/
namespace guhserver {
/*!
Creates a controller object for the service with the given
@ -1114,4 +1113,4 @@ void QtServiceBase::processCommand(int /*code*/)
\reimp
*/
}

View File

@ -60,8 +60,6 @@
# define QT_QTSERVICE_EXPORT
#endif
namespace guhserver {
class QtServiceControllerPrivate;
class QT_QTSERVICE_EXPORT QtServiceController
@ -190,6 +188,4 @@ private:
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QtServiceBase::ServiceFlags)
}
#endif // QTSERVICE_H

View File

@ -44,8 +44,6 @@
#include <QStringList>
#include "qtservice.h"
namespace guhserver {
class QtServiceControllerPrivate
{
Q_DECLARE_PUBLIC(QtServiceController)
@ -86,6 +84,4 @@ public:
class QtServiceSysPrivate *sysd;
};
}
#endif

View File

@ -60,8 +60,6 @@
#include <QProcess>
#include <QStringList>
namespace guhserver {
static QString encodeName(const QString &name, bool allowUpper = false)
{
QString n = name.toLower();
@ -474,5 +472,3 @@ void QtServiceBase::setServiceFlags(QtServiceBase::ServiceFlags flags)
if (d_ptr->sysd)
d_ptr->sysd->serviceFlags = flags;
}
}

View File

@ -62,8 +62,6 @@
#include <QDebug>
#endif
namespace guhserver {
typedef SERVICE_STATUS_HANDLE(WINAPI*PRegisterServiceCtrlHandler)(const wchar_t*,LPHANDLER_FUNCTION);
static PRegisterServiceCtrlHandler pRegisterServiceCtrlHandler = 0;
typedef BOOL(WINAPI*PSetServiceStatus)(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS);
@ -943,5 +941,3 @@ void QtServiceBase::setServiceFlags(QtServiceBase::ServiceFlags flags)
if (d_ptr->sysd)
d_ptr->sysd->setServiceFlags(flags);
}
}

View File

@ -45,8 +45,6 @@
#include <string.h>
#include <unistd.h>
namespace guhserver {
#ifndef SUN_LEN
#define SUN_LEN(ptr) ((size_t)(((struct sockaddr_un *) 0)->sun_path) \
+strlen ((ptr)->sun_path))
@ -93,4 +91,3 @@ void QtUnixServerSocket::close()
}
}
}

View File

@ -43,8 +43,6 @@
#include <QTcpServer>
namespace guhserver {
class QtUnixServerSocket : public QTcpServer
{
Q_OBJECT
@ -59,6 +57,4 @@ private:
QString path_;
};
}
#endif

View File

@ -50,8 +50,6 @@
+strlen ((ptr)->sun_path))
#endif
namespace guhserver {
QtUnixSocket::QtUnixSocket(QObject *parent)
: QTcpSocket(parent)
{
@ -79,4 +77,3 @@ bool QtUnixSocket::connectTo(const QString &path)
return ret;
}
}

View File

@ -43,8 +43,6 @@
#include <QTcpSocket>
namespace guhserver {
class QtUnixSocket : public QTcpSocket
{
Q_OBJECT
@ -54,5 +52,4 @@ public:
bool connectTo(const QString &path);
};
}
#endif

View File

@ -28,10 +28,11 @@
#include "restresource.h"
#include "httpreply.h"
class HttpRequest;
namespace guhserver {
class HttpRequest;
class DeviceClassesResource : public RestResource
{
Q_OBJECT

View File

@ -28,10 +28,10 @@
#include "restresource.h"
#include "httpreply.h"
class HttpRequest;
namespace guhserver {
class HttpRequest;
class DevicesResource: public RestResource
{
Q_OBJECT

View File

@ -28,10 +28,10 @@
#include "restresource.h"
#include "httpreply.h"
class HttpRequest;
namespace guhserver {
class HttpRequest;
class LogsResource : public RestResource
{
Q_OBJECT

View File

@ -28,10 +28,10 @@
#include "restresource.h"
#include "httpreply.h"
class HttpRequest;
namespace guhserver {
class HttpRequest;
class PluginsResource : public RestResource
{
Q_OBJECT

View File

@ -32,12 +32,13 @@
#include "rulesresource.h"
#include "logsresource.h"
class HttpRequest;
class HttpReply;
class QSslConfiguration;
namespace guhserver {
class HttpRequest;
class HttpReply;
class RestServer : public QObject
{
Q_OBJECT

View File

@ -28,10 +28,11 @@
#include "restresource.h"
#include "httpreply.h"
class HttpRequest;
namespace guhserver {
class HttpRequest;
class RulesResource : public RestResource
{
Q_OBJECT

View File

@ -28,10 +28,10 @@
#include "restresource.h"
#include "httpreply.h"
class HttpRequest;
namespace guhserver {
class HttpRequest;
class VendorsResource : public RestResource
{
Q_OBJECT

View File

@ -20,7 +20,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*!
\class Rule
\class guhserver::Rule
\brief This class represents a rule.
\ingroup core

View File

@ -20,7 +20,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*!
\class RuleEngine
\class guhserver::RuleEngine
\brief The Engine that evaluates \l{Rule}{Rules} and finds
\l{Action}{Actions} to be executed.
@ -33,20 +33,20 @@
\sa Event, EventDescriptor, Rule, RuleAction
*/
/*! \fn void RuleEngine::ruleAdded(const Rule &rule)
/*! \fn void guhserver::RuleEngine::ruleAdded(const Rule &rule)
Will be emitted whenever a new \l{Rule} is added to this Engine.
The \a rule parameter holds the entire new rule.*/
/*! \fn void RuleEngine::ruleRemoved(const RuleId &ruleId)
/*! \fn void guhserver::RuleEngine::ruleRemoved(const RuleId &ruleId)
Will be emitted whenever a \l{Rule} is removed from this Engine.
\a ruleId holds the id of the removed rule. You should remove any references
or copies you hold for this rule.*/
/*! \fn void RuleEngine::ruleConfigurationChanged(const Rule &rule)
/*! \fn void guhserver::RuleEngine::ruleConfigurationChanged(const Rule &rule)
Will be emitted whenever a \l{Rule} changed his enable/disable status.
The parameter \a rule holds the changed rule.*/
/*! \enum RuleEngine::RuleError
/*! \enum guhserver::RuleEngine::RuleError
\value RuleErrorNoError
No error happened. Everything is fine.
\value RuleErrorInvalidRuleId
@ -71,7 +71,7 @@
One of the RuleActionParams type does not match with the corresponding EventParam type.
*/
/*! \enum RuleEngine::RemovePolicy
/*! \enum guhserver::RuleEngine::RemovePolicy
\value RemovePolicyCascade
Remove the whole \l{Rule}.
\value RemovePolicyUpdate

View File

@ -31,14 +31,14 @@
#include <QSslConfiguration>
#include <QSslKey>
class HttpRequest;
class HttpReply;
// Note: Hypertext Transfer Protocol (HTTP/1.1) from the Internet Engineering Task Force (IETF):
// https://tools.ietf.org/html/rfc7231
namespace guhserver {
class HttpRequest;
class HttpReply;
class WebServer : public QTcpServer
{
Q_OBJECT