Switch to glibmm 2.68 which has been released one year ago and is the
first stable release in the glibmm-2.68 ABI series:
https://gitlab.gnome.org/GNOME/glibmm/-/blob/2.68.2/NEWS

As TimeVal is not available with glibmm 2.68, use DateTime

Signed-off-by: Fabrice Fontaine <fontaine.fabr...@gmail.com>
---
 README                                             |  2 +-
 bindings/cxx/classes.cpp                           | 14 +++++++-------
 bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp |  4 ++--
 bindings/cxx/libsigrokcxx.pc.in                    |  2 +-
 configure.ac                                       |  2 +-
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/README b/README
index 768c8ca2..d6f0b8e3 100644
--- a/README
+++ b/README
@@ -63,7 +63,7 @@ Requirements for the C++ bindings:
  - doxygen (required for building the bindings, not only for C++ API docs!)
  - graphviz (optional, only needed for the C++ API docs)
  - Python (2 or 3) executable (development files are not needed)
- - glibmm-2.4 (>= 2.32.0)
+ - glibmm-2.68 (>= 2.68.0)
 
 Requirements for the Python bindings:
 
diff --git a/bindings/cxx/classes.cpp b/bindings/cxx/classes.cpp
index f9f79273..f78c550c 100644
--- a/bindings/cxx/classes.cpp
+++ b/bindings/cxx/classes.cpp
@@ -287,12 +287,12 @@ shared_ptr<UserDevice> Context::create_user_device(
                default_delete<UserDevice>{}};
 }
 
-shared_ptr<Packet> Context::create_header_packet(Glib::TimeVal start_time)
+shared_ptr<Packet> Context::create_header_packet(Glib::DateTime start_time)
 {
        auto header = g_new(struct sr_datafeed_header, 1);
        header->feed_version = 1;
-       header->starttime.tv_sec = start_time.tv_sec;
-       header->starttime.tv_usec = start_time.tv_usec;
+       header->starttime.tv_sec = start_time.to_unix();
+       header->starttime.tv_usec = start_time.get_microsecond();
        auto packet = g_new(struct sr_datafeed_packet, 1);
        packet->type = SR_DF_HEADER;
        packet->payload = header;
@@ -1154,11 +1154,11 @@ int Header::feed_version() const
        return _structure->feed_version;
 }
 
-Glib::TimeVal Header::start_time() const
+Glib::DateTime Header::start_time() const
 {
-       return Glib::TimeVal(
-               _structure->starttime.tv_sec,
-               _structure->starttime.tv_usec);
+       Glib::DateTime time;
+       time.create_now_utc(_structure->starttime.tv_sec);
+       return time;
 }
 
 Meta::Meta(const struct sr_datafeed_meta *structure) :
diff --git a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp 
b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp
index 97e54e17..d090c379 100644
--- a/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp
+++ b/bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp
@@ -274,7 +274,7 @@ public:
        std::shared_ptr<UserDevice> create_user_device(
                std::string vendor, std::string model, std::string version);
        /** Create a header packet. */
-       std::shared_ptr<Packet> create_header_packet(Glib::TimeVal start_time);
+       std::shared_ptr<Packet> create_header_packet(Glib::DateTime start_time);
        /** Create a meta packet. */
        std::shared_ptr<Packet> create_meta_packet(
                std::map<const ConfigKey *, Glib::VariantBase> config);
@@ -711,7 +711,7 @@ public:
        /* Feed version number. */
        int feed_version() const;
        /* Start time of this session. */
-       Glib::TimeVal start_time() const;
+       Glib::DateTime start_time() const;
 private:
        explicit Header(const struct sr_datafeed_header *structure);
        ~Header();
diff --git a/bindings/cxx/libsigrokcxx.pc.in b/bindings/cxx/libsigrokcxx.pc.in
index 10a92f2d..ce5198d0 100644
--- a/bindings/cxx/libsigrokcxx.pc.in
+++ b/bindings/cxx/libsigrokcxx.pc.in
@@ -6,7 +6,7 @@ includedir=@includedir@
 Name: libsigrokcxx
 Description: C++ bindings for libsigrok
 URL: http://www.sigrok.org
-Requires: libsigrok glibmm-2.4
+Requires: libsigrok glibmm-2.68
 Version: @SR_PACKAGE_VERSION@
 Libs: -L${libdir} -lsigrokcxx
 Libs.private: -lm
diff --git a/configure.ac b/configure.ac
index 424b0002..81f92469 100644
--- a/configure.ac
+++ b/configure.ac
@@ -407,7 +407,7 @@ AS_IF([test "x$HAVE_CXX11" != x1],
        [SR_APPEND([sr_cxx_missing], [', '], ['C++11'])])
 
 # The C++ bindings need glibmm.
-SR_PKG_CHECK([glibmm], [SR_PKGLIBS_CXX], [glibmm-2.4 >= 2.32.0])
+SR_PKG_CHECK([glibmm], [SR_PKGLIBS_CXX], [glibmm-2.68 >= 2.68.0])
 AS_IF([test "x$sr_have_glibmm" != xyes],
        [SR_APPEND([sr_cxx_missing], [', '], [glibmm])])
 
-- 
2.33.0



_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to