feat: add support for string_view as D-Bus type
This commit is contained in:
1 parent
d856969051
commit
f15c260750
5 files changed
+39
-3
No files matched your search
@@ -119,7 +119,7 @@ namespace my {
|
||||
|
||||
template <>
|
||||
struct sdbus::signature_of<my::Struct>
|
||||
: sdbus::signature_of<sdbus::Struct<int, std::string, std::list<double>>>
|
||||
: sdbus::signature_of<sdbus::Struct<int, std::string, std::list<double>>>
|
||||
{};
|
||||
|
||||
/*-------------------------------------*/
|
||||
@@ -204,6 +204,21 @@ TEST(AMessage, CanCarryASimpleInteger)
|
||||
ASSERT_THAT(dataRead, Eq(dataWritten));
|
||||
}
|
||||
|
||||
TEST(AMessage, CanCarryAStringAsAStringView)
|
||||
{
|
||||
auto msg = sdbus::createPlainMessage();
|
||||
|
||||
const std::string_view dataWritten = "Hello";
|
||||
|
||||
msg << dataWritten;
|
||||
msg.seal();
|
||||
|
||||
std::string dataRead;
|
||||
msg >> dataRead;
|
||||
|
||||
ASSERT_THAT(dataRead, Eq(dataWritten));
|
||||
}
|
||||
|
||||
TEST(AMessage, CanCarryAUnixFd)
|
||||
{
|
||||
auto msg = sdbus::createPlainMessage();
|
||||
|
||||
@@ -85,6 +85,7 @@ namespace
|
||||
TYPE(double)HAS_DBUS_TYPE_SIGNATURE("d")
|
||||
TYPE(const char*)HAS_DBUS_TYPE_SIGNATURE("s")
|
||||
TYPE(std::string)HAS_DBUS_TYPE_SIGNATURE("s")
|
||||
TYPE(std::string_view)HAS_DBUS_TYPE_SIGNATURE("s")
|
||||
TYPE(sdbus::BusName)HAS_DBUS_TYPE_SIGNATURE("s")
|
||||
TYPE(sdbus::InterfaceName)HAS_DBUS_TYPE_SIGNATURE("s")
|
||||
TYPE(sdbus::MemberName)HAS_DBUS_TYPE_SIGNATURE("s")
|
||||
@@ -122,10 +123,11 @@ namespace
|
||||
>,
|
||||
sdbus::Signature,
|
||||
sdbus::UnixFd,
|
||||
const char*
|
||||
const char*,
|
||||
std::string_view
|
||||
>
|
||||
>;
|
||||
TYPE(ComplexType)HAS_DBUS_TYPE_SIGNATURE("a{t(a{ya(oanbva{is})}ghs)}")
|
||||
TYPE(ComplexType)HAS_DBUS_TYPE_SIGNATURE("a{t(a{ya(oanbva{is})}ghss)}")
|
||||
|
||||
typedef ::testing::Types< bool
|
||||
, uint8_t
|
||||
@@ -138,6 +140,7 @@ namespace
|
||||
, double
|
||||
, const char*
|
||||
, std::string
|
||||
, std::string_view
|
||||
, sdbus::BusName
|
||||
, sdbus::InterfaceName
|
||||
, sdbus::MemberName
|
||||
|
||||
Reference in new issue
Block a user