alsa-gobject: obsolete abstract class for snd_seq_queue_timer structure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



alsa-project/alsa-gobject pull request #30 was opened from takaswie:

In UAPI of Linux sound subsystem, `snd_seq_queue_timer` structure includes union member.

Current implementation of ALSASeq uses abstract class (ALSASeqQueueTimer) and concrete class (ALSASeqQueueTimerAlsa) to represent variation corresponding to each of union member. However, the design pattern is not convenient for some language bindings.

For example, in Rust language, class-based inheritance is not supported. Gtk-rs project produces mechanism to upcast/downcast between super/sub classes and handles GObject class system. In my opinion, the code to upcast/downcast is a bit complicated to handle derivatives.

This patchset obsoletes usage of abstract class for ALSASeq. The target is ALSASeqQueueTimer. ALSASeqQueueTimerDataAlsa is newly defined to retrieve data for the case of ALSATimer and the inherited ALSASeqQueueTimerAlsa is deleted.

Request URL   : https://github.com/alsa-project/alsa-gobject/pull/30
Patch URL     : https://github.com/alsa-project/alsa-gobject/pull/30.patch
Repository URL: https://github.com/alsa-project/alsa-gobject



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux