/usr/include/rds/server/rdsdaemonmanager.h is in librdsserver-dev 1.1.0-0ubuntu1.
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 | /***************************************************************************
* Copyright (C) 2011 by Resara LLC *
* brendan@resara.com *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 2 of the *
* License, or (at your option) any later version. *
* *
* This program 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
***************************************************************************/
#ifndef RDSDAEMONMANAGER_H
#define RDSDAEMONMANAGER_H
#include <RdsEntityManager>
#include <QxtPimpl>
#define RDS_REGISTER_DAEMON(type, name) static RdsDaemonRegister<type> rds_daemon_registry_##type (name);
class RdsDaemonManagerPrivate;
class RdsDaemonInstance;
/**
@author Chris Vickery <chris@resara.com>
*/
class RdsDaemonManager : public RdsEntityManager
{
Q_OBJECT;
QXT_DECLARE_PRIVATE(RdsDaemonManager);
QTRPC_SERVICEPROXY_PIMPL(RdsDaemonManager);
public:
RdsDaemonManager(QObject *parent = 0);
RdsDaemonManager(const RdsDaemonManager &other);
~RdsDaemonManager();
RdsDaemonManager& operator=(const RdsDaemonManager &other);
ReturnValue auth(QtRpc::AuthToken token);
ReturnValue listEntities(const QString &dn, bool loadmore) const;
public slots:
ReturnValue list() const;
ReturnValue stopService(const QString &name);
ReturnValue startService(const QString &name);
ReturnValue restartService(const QString &name);
ReturnValue reloadService(const QString &name);
ReturnValue reloadConfig(const QString &name);
};
class RdsDaemonContainer
{
Q_DISABLE_COPY(RdsDaemonContainer);
public:
RdsDaemonContainer(const QString& name);
virtual RdsDaemonInstance* getInstance() = 0;
};
template<typename T>
class RdsDaemonRegister : protected RdsDaemonContainer
{
RdsDaemonInstance* instance;
public:
RdsDaemonRegister(const QString &name)
: RdsDaemonContainer(name),
instance(0)
{
}
virtual RdsDaemonInstance* getInstance()
{
if (!instance)
instance = new T();
return instance;
}
};
#endif
|