/usr/include/soprano/dbusexportmodel.h is in libsoprano-dev 2.9.4+dfsg1-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | /*
* This file is part of Soprano Project.
*
* Copyright (C) 2008 Sebastian Trueg <trueg@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef _SOPRANO_SERVER_DBUS_EXPORT_MODEL_H_
#define _SOPRANO_SERVER_DBUS_EXPORT_MODEL_H_
#include "filtermodel.h"
#include "soprano_export.h"
namespace Soprano {
namespace Server {
/**
* \class DBusExportModel dbusexportmodel.h Soprano/Server/DBusExportModel
*
* \brief Exports a %Soprano Model via D-Bus.
*
* DBusExportModel is a FilterModel like any other. As such,
* it can occure anywhere in a stack of models. However,
* the model exported via D-Bus is actually the FilterModel::parentModel,
* not the DBusExportModel itself. Thus, subclassing DBusExportModel
* to modify the behaviour of methods called via D-Bus does not
* make sense. Instead stack the DBusExportModel on top of
* your own custom FilterModel.
*
* For creating a simple %Soprano D-Bus server see
* ServerCore::registerAsDBusObject.
*
* The interface exported can be accessed via Client::DBusModel.
*
* DBusExportModel automatically makes use of a Util::AsyncModel as
* parent model to create delayed D-Bus replies. If the parent model
* is not a Util::AsyncModel all calls will be performed syncroneously.
*
* \author Sebastian Trueg <trueg@kde.org>
*
* \sa \ref soprano_server_dbus
*
* \since 2.1
*/
class SOPRANO_SERVER_EXPORT DBusExportModel : public FilterModel
{
Q_OBJECT
public:
/**
* Create a new D-Bus export model.
* \param model The parent model which should be exported.
*/
DBusExportModel( Model* model = 0 );
/**
* Destructor.
*/
~DBusExportModel();
/**
* Register the model under the given D-Bus object path.
* \sa QDBusConnection::registerObject
*/
bool registerModel( const QString& dbusObjectPath );
/**
* Unregister the model from D-Bus.
* \sa QDBusConnection::unregisterObject
*/
void unregisterModel();
/**
* The path this model is exported on.
* This is an empty string if the model is not exported.
*/
QString dbusObjectPath() const;
private:
class Private;
Private* const d;
};
}
}
#endif
|