[Merge] lp:~mandel/dbus-cpp/provide-macros into lp:dbus-cpp
Thomas Voß
thomas.voss at canonical.com
Tue Jun 3 09:56:29 UTC 2014
Review: Needs Fixing
Thanks for the changes, one more minor niggle.
Diff comments:
> === added file 'include/core/dbus/macros.h'
> --- include/core/dbus/macros.h 1970-01-01 00:00:00 +0000
> +++ include/core/dbus/macros.h 2014-06-03 09:51:27 +0000
> @@ -0,0 +1,81 @@
> +/*
> + * Copyright © 2014 Canonical Ltd.
> + *
> + * This program is free software: you can redistribute it and/or modify it
> + * under the terms of the GNU Lesser General Public License version 3,
> + * as published by the Free Software Foundation.
> + *
> + * 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, see <http://www.gnu.org/licenses/>.
> + *
> + * Authored by: Thomas Voß <thomas.voss at canonical.com>
> + */
> +
> +#ifndef CORE_DBUS_MACROS_H_
> +#define CORE_DBUS_MACROS_H_
> +
> +#include <core/dbus/types/object_path.h>
> +
> +#include <chrono>
> +#include <string>
> +
> +#define SECONDS(seconds) std::chrono::seconds{seconds};
I think you can get rid of this one.
> +
> +#define DBUS_CPP_METHOD_WITH_TIMEOUT_DEF(Name, Itf, Timeout) \
> + 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{Timeout}; } \
> + };\
> +
> +#define DBUS_CPP_METHOD_DEF(Name, Itf) DBUS_CPP_METHOD_WITH_TIMEOUT_DEF(Name, Itf, 2000)
> +
> +#define DBUS_CPP_SIGNAL_DEF(Name, Itf, ArgType) \
> + struct Name \
> + { \
> + inline static std::string name() \
> + { \
> + return #Name; \
> + }; \
> + typedef Itf Interface; \
> + typedef ArgType ArgumentType; \
> + };\
> +
> +#define DBUS_CPP_READABLE_PROPERTY_DEF(Name, Itf, Type) \
> + 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; \
> + }; \
> +
> +#define DBUS_CPP_WRITABLE_PROPERTY_DEF(Name, Itf, Type) \
> + 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; \
> + }; \
> +
> +#endif // MPRIS_MACROS_H_
> +
>
--
https://code.launchpad.net/~mandel/dbus-cpp/provide-macros/+merge/221840
Your team Ubuntu Phablet Team is subscribed to branch lp:dbus-cpp.
More information about the Ubuntu-reviews
mailing list