diff --git a/src/xswiftbus/dbusmessage.cpp b/src/xswiftbus/dbusmessage.cpp index 0ebe33968..1f695b8c8 100644 --- a/src/xswiftbus/dbusmessage.cpp +++ b/src/xswiftbus/dbusmessage.cpp @@ -61,17 +61,17 @@ namespace XSwiftBus return dbus_message_get_serial(m_message); } - std::string CDBusMessage::getInterfaceName() const + string_view CDBusMessage::getInterfaceName() const { return dbus_message_get_interface(m_message); } - std::string CDBusMessage::getObjectPath() const + string_view CDBusMessage::getObjectPath() const { return dbus_message_get_path(m_message); } - std::string CDBusMessage::getMethodName() const + string_view CDBusMessage::getMethodName() const { return dbus_message_get_member(m_message); } diff --git a/src/xswiftbus/dbusmessage.h b/src/xswiftbus/dbusmessage.h index 1fb4c66ef..8b6b61028 100644 --- a/src/xswiftbus/dbusmessage.h +++ b/src/xswiftbus/dbusmessage.h @@ -12,10 +12,23 @@ #include "dbus/dbus.h" #include #include +#if defined(_MSC_VER) +#include +#elif defined(__clang__) +#include +#else +#include +#endif namespace XSwiftBus { + #if defined(_MSC_VER) || defined(__clang__) + using std::string_view; + #else + using std::experimental::string_view; + #endif + //! DBus Message class CDBusMessage { @@ -45,13 +58,13 @@ namespace XSwiftBus dbus_uint32_t getSerial() const; //! Get the called interface name - std::string getInterfaceName() const; + string_view getInterfaceName() const; //! Get the called object path - std::string getObjectPath() const; + string_view getObjectPath() const; //! Get the called method name - std::string getMethodName() const; + string_view getMethodName() const; //! Begin writing argument void beginArgumentWrite(); diff --git a/src/xswiftbus/xswiftbus.pro b/src/xswiftbus/xswiftbus.pro index 6e257839d..f549a8d10 100644 --- a/src/xswiftbus/xswiftbus.pro +++ b/src/xswiftbus/xswiftbus.pro @@ -5,6 +5,8 @@ TEMPLATE = lib CONFIG += shared plugin CONFIG -= qt +CONFIG += c++17 + INCLUDEPATH += $$EXTERNALSROOT/common/include/XPLM LIBS += -levent_core -ldbus-1