Music Hub  ..
A session-wide music playback service
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
macros.h File Reference
#include <core/dbus/types/object_path.h>
#include <chrono>
#include <string>
+ Include dependency graph for macros.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SECONDS(seconds)   std::chrono::seconds{seconds};
 
#define METHOD(Name, Itf, Timeout)
 
#define SIGNAL(Name, Itf, ArgType)
 
#define READABLE_PROPERTY(Name, Itf, Type)
 
#define WRITABLE_PROPERTY(Name, Itf, Type)
 

Macro Definition Documentation

#define METHOD (   Name,
  Itf,
  Timeout 
)
Value:
struct Name \
{ \
typedef Itf Interface; \
inline static const std::string& name() \
{ \
static const std::string s{#Name}; \
return s; \
} \
inline static const std::chrono::milliseconds default_timeout() { return std::chrono::milliseconds{2000}; } \
};\

Definition at line 29 of file macros.h.

#define READABLE_PROPERTY (   Name,
  Itf,
  Type 
)
Value:
struct Name \
{ \
inline static std::string name() \
{ \
return #Name; \
}; \
typedef Itf Interface; \
typedef Type ValueType; \
static const bool readable = true; \
static const bool writable = false; \
}; \

Definition at line 52 of file macros.h.

#define SECONDS (   seconds)    std::chrono::seconds{seconds};

Definition at line 27 of file macros.h.

#define SIGNAL (   Name,
  Itf,
  ArgType 
)
Value:
struct Name \
{ \
inline static std::string name() \
{ \
return #Name; \
}; \
typedef Itf Interface; \
typedef ArgType ArgumentType; \
};\

Definition at line 41 of file macros.h.

#define WRITABLE_PROPERTY (   Name,
  Itf,
  Type 
)
Value:
struct Name \
{ \
inline static std::string name() \
{ \
return #Name; \
}; \
typedef Itf Interface; \
typedef Type ValueType; \
static const bool readable = true; \
static const bool writable = true; \
}; \

Definition at line 65 of file macros.h.