summaryrefslogtreecommitdiff
path: root/include/dbus-c++/interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/dbus-c++/interface.h')
-rw-r--r--include/dbus-c++/interface.h87
1 files changed, 44 insertions, 43 deletions
diff --git a/include/dbus-c++/interface.h b/include/dbus-c++/interface.h
index 58b8de0..9e3106f 100644
--- a/include/dbus-c++/interface.h
+++ b/include/dbus-c++/interface.h
@@ -33,15 +33,16 @@
#include "message.h"
-namespace DBus {
+namespace DBus
+{
//todo: this should belong to to properties.h
struct DXXAPI PropertyData
{
- bool read;
- bool write;
- std::string sig;
- Variant value;
+ bool read;
+ bool write;
+ std::string sig;
+ Variant value;
};
typedef std::map<std::string, PropertyData> PropertyTable;
@@ -58,18 +59,18 @@ class DXXAPI AdaptorBase
{
public:
- virtual const ObjectAdaptor *object() const = 0 ;
+ virtual const ObjectAdaptor *object() const = 0 ;
protected:
- InterfaceAdaptor *find_interface(const std::string &name);
+ InterfaceAdaptor *find_interface(const std::string &name);
- virtual ~AdaptorBase()
- {}
+ virtual ~AdaptorBase()
+ {}
- virtual void _emit_signal(SignalMessage &) = 0;
+ virtual void _emit_signal(SignalMessage &) = 0;
- InterfaceAdaptorTable _interfaces;
+ InterfaceAdaptorTable _interfaces;
};
/*
@@ -85,35 +86,35 @@ class DXXAPI ProxyBase
{
public:
- virtual const ObjectProxy *object() const = 0 ;
+ virtual const ObjectProxy *object() const = 0 ;
protected:
- InterfaceProxy *find_interface(const std::string &name);
+ InterfaceProxy *find_interface(const std::string &name);
+
+ virtual ~ProxyBase()
+ {}
- virtual ~ProxyBase()
- {}
+ virtual Message _invoke_method(CallMessage &) = 0;
- virtual Message _invoke_method(CallMessage &) = 0;
-
- virtual bool _invoke_method_noreply(CallMessage &call) = 0;
+ virtual bool _invoke_method_noreply(CallMessage &call) = 0;
- InterfaceProxyTable _interfaces;
+ InterfaceProxyTable _interfaces;
};
class DXXAPI Interface
{
public:
-
- Interface(const std::string &name);
-
- virtual ~Interface();
- inline const std::string &name() const;
+ Interface(const std::string &name);
+
+ virtual ~Interface();
+
+ inline const std::string &name() const;
private:
- std::string _name;
+ std::string _name;
};
/*
@@ -121,7 +122,7 @@ private:
const std::string &Interface::name() const
{
- return _name;
+ return _name;
}
/*
@@ -133,25 +134,25 @@ class DXXAPI InterfaceAdaptor : public Interface, public virtual AdaptorBase
{
public:
- InterfaceAdaptor(const std::string &name);
+ InterfaceAdaptor(const std::string &name);
- Message dispatch_method(const CallMessage &);
+ Message dispatch_method(const CallMessage &);
- void emit_signal(const SignalMessage &);
+ void emit_signal(const SignalMessage &);
- Variant *get_property(const std::string &name);
+ Variant *get_property(const std::string &name);
- void set_property(const std::string &name, Variant &value);
+ void set_property(const std::string &name, Variant &value);
- virtual IntrospectedInterface * introspect() const
- {
- return NULL;
- }
+ virtual IntrospectedInterface *introspect() const
+ {
+ return NULL;
+ }
protected:
- MethodTable _methods;
- PropertyTable _properties;
+ MethodTable _methods;
+ PropertyTable _properties;
};
/*
@@ -163,17 +164,17 @@ class DXXAPI InterfaceProxy : public Interface, public virtual ProxyBase
{
public:
- InterfaceProxy(const std::string &name);
+ InterfaceProxy(const std::string &name);
- Message invoke_method(const CallMessage &);
+ Message invoke_method(const CallMessage &);
- bool invoke_method_noreply(const CallMessage &call);
+ bool invoke_method_noreply(const CallMessage &call);
- bool dispatch_signal(const SignalMessage &);
+ bool dispatch_signal(const SignalMessage &);
protected:
- SignalTable _signals;
+ SignalTable _signals;
};
# define register_method(interface, method, callback) \
@@ -185,7 +186,7 @@ protected:
InterfaceAdaptor::_properties[ #variable ].write = can_write; \
InterfaceAdaptor::_properties[ #variable ].sig = type; \
variable.bind(InterfaceAdaptor::_properties[ #variable ]);
-
+
# define connect_signal(interface, signal, callback) \
InterfaceProxy::_signals[ #signal ] = \
new ::DBus::Callback< interface, void, const ::DBus::SignalMessage &>(this, & interface :: callback);