Skip to content

Version 2.0.0 release

Compare
Choose a tag to compare
@takaswie takaswie released this 29 May 04:45
· 337 commits to master since this release

A new major version of libhinawa is released. The release includes refactoring and code cleanup to dismiss obsoleted stuffs added by period of version 1, toward better language bindings such as Python 3 and Rust. Some points are listed below for losses of backward compatibility against version 1.

  • HinawaFwUnit
    • This gobject class is dropped. Instead, HinawaFwNode should be used to communicate to the node on IEEE 1394 bus.
  • HinawaFwReq/HinawaFwResp/HinawaFwFcp
    • Any API with arguments for HinawaFwUnit is dropped. Instead, use APIs with arguments for HinawaFwNode.
    • Any API with arguments for GByteArray is dropped. Instead, use APIs with arguments for guint8(buffer) and gsize(buffer length).
  • HinawaSndEfw/HinawaSndDice
    • Any API with arguments for GArray is dropped. Instead, use APIs with arguments for guint32(buffer) and gsize(buffer length).
  • I/O thread
    • No thread is launched internally for event dispatcher. Instead, retrieve GSource from HinawaFwNode and HinawaSndUnit and use it with GMainContext for event dispatcher. When no dispatcher runs, timeout occurs for any transaction.
  • Notifier thread
    • No thread is launched internally for GObject signal notifier. Instead, implement another thread for your notifier by your own and delegate any transaction into it. This is required to prevent I/O thread to be stalled because of waiting for an additional event of the transaction.

The namespace of GIR bumps up to 3.0 to reflect the losses of backward compatibility.