#include "qimsysabstractipcobject.h"
class Object : public QimsysAbstractIpcObject
{
Q_OBJECT
Q_PROPERTY(int value READ value WRITE setValue)
Q_CLASSINFO("D-Bus Interface", "local.Object")
public:
Object(QObject *parent, QimsysAbstractIpcObject::Type type);
~Object();
virtual void init();
int value() const;
public slots:
void setValue(int value);
signals:
void valueChanged(int value);
protected:
QimsysAbstractIpcObject *server() const;
private:
class Private;
Private *d;
};
#include "object.h"
class Object::Private : private QObject
{
Q_OBJECT
public:
Private(Object *parent);
~Private();
void init();
private:
Object *q;
public:
static Object *server;
int value;
};
Object *ObjectPrivate::server = 0;
Object::Private::Private(Object *parent)
: QObject(parent)
, q(parent)
, value(0)
{
switch (q->type()) {
case Server:
server = q;
break;
case Client:
break;
}
}
Object::Private::~Private()
{
}
void Object::Private::init()
{
switch (q->type()) {
case Server:
break;
case Client:
connect(q->proxy(), SIGNAL(vlaueChanged(int)), q, SIGNAL(valueChanged(int)));
break;
}
}
Object::Object(QObject *parent, Type type)
: QimsysAbstractIpcObject(parent, type)
{
d = new Private(this);
}
Object::~Object()
{
delete d;
}
void Object::init()
{
QimsysAbstractIpcObject::init();
d->init();
}
QimsysAbstractIpcObject *Objectserver() const
{
return d->server;
}
getProp(Object, int, value)
setProp(Object, int, value, setValue)
#include "object.moc"