Skip to content

Commit 36d88eb

Browse files
dbus-c++: Fixed build issues (microsoft#14620)
Co-authored-by: Sreenivasulu Malavathula <[email protected]>
1 parent 69440b7 commit 36d88eb

File tree

2 files changed

+80
-1
lines changed

2 files changed

+80
-1
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
diff --git a/include/dbus-c++/types.h b/include/dbus-c++/types.h
2+
index 044e72b..7b3108f 100644
3+
--- a/include/dbus-c++/types.h
4+
+++ b/include/dbus-c++/types.h
5+
@@ -89,13 +89,7 @@ public:
6+
}
7+
8+
template <typename T>
9+
- operator T() const
10+
- {
11+
- T cast;
12+
- MessageIter ri = _msg.reader();
13+
- ri >> cast;
14+
- return cast;
15+
- }
16+
+ operator T() const;
17+
18+
private:
19+
20+
@@ -316,7 +310,7 @@ struct type< Struct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
21+
}
22+
};
23+
24+
-} /* namespace DBus */
25+
+extern DXXAPI DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Variant &val);
26+
27+
inline DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Invalid &)
28+
{
29+
@@ -551,6 +545,8 @@ inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Signature
30+
return ++iter;
31+
}
32+
33+
+extern DXXAPI DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Variant &val);
34+
+
35+
template<typename E>
36+
inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, std::vector<E>& val)
37+
{
38+
@@ -644,7 +640,16 @@ inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Struct<T1,
39+
return ++iter;
40+
}
41+
42+
-extern DXXAPI DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Variant &val);
43+
+template <typename T>
44+
+inline DBus::Variant::operator T() const
45+
+{
46+
+ T cast;
47+
+ DBus::MessageIter ri = _msg.reader();
48+
+ ri >> cast;
49+
+ return cast;
50+
+}
51+
+
52+
+} /* namespace DBus */
53+
54+
#endif//__DBUSXX_TYPES_H
55+
56+
diff --git a/src/types.cpp b/src/types.cpp
57+
index d414a3e..70f9ac0 100644
58+
--- a/src/types.cpp
59+
+++ b/src/types.cpp
60+
@@ -34,7 +34,7 @@
61+
#include "message_p.h"
62+
#include "internalerror.h"
63+
64+
-using namespace DBus;
65+
+namespace DBus {
66+
67+
Variant::Variant()
68+
: _msg(CallMessage()) // dummy message used as temporary storage for variant data
69+
@@ -104,3 +104,4 @@ MessageIter &operator >> (MessageIter &iter, Variant &val)
70+
return ++iter;
71+
}
72+
73+
+} /* namespace DBus */

SPECS-EXTENDED/dbus-c++/dbus-c++.spec

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Name: dbus-c++
44
Version: 0.9.0
5-
Release: 23%{?dist}
5+
Release: 24%{?dist}
66
Summary: Native C++ bindings for D-Bus
77

88
License: LGPLv2+
@@ -21,6 +21,7 @@ Patch3: dbus-c++-macro_collision.patch
2121
Patch4: dbus-c++-threading.patch
2222
# https://sourceforge.net/p/dbus-cplusplus/patches/19/
2323
Patch5: dbus-c++-writechar.patch
24+
Patch6: dbus-c++-template-operators.patch
2425

2526
BuildRequires: gcc
2627
BuildRequires: gcc-c++
@@ -68,6 +69,7 @@ sed -i 's/libtoolize --force --copy/libtoolize -if --copy/' bootstrap
6869
%patch 3 -p1 -b .collision
6970
%patch 4 -p1 -b .threading
7071
%patch 5 -p1 -b .writechar
72+
%patch 6 -p1 -b .operators
7173

7274
%build
7375
autoreconf -vfi
@@ -109,6 +111,10 @@ find $RPM_BUILD_ROOT -name '*.la' -print -delete
109111
%{_libdir}/pkgconfig/*
110112

111113
%changelog
114+
* Fri Apr 04 2025 Sreenivasulu Malavathula <[email protected]> - 0.9-0-24
115+
- Fixed build Issues (license: MIT)
116+
- License verified
117+
112118
* Tue Jan 12 2021 Joe Schmitt <[email protected]> - 0.9.0-23
113119
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
114120
- Disable ecore support

0 commit comments

Comments
 (0)