diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-05-05 11:37:24 +0900 |
---|---|---|
committer | 坂本 貴史 <o-takashi@sakamocchi.jp> | 2022-05-05 16:09:50 +0900 |
commit | 6efd86a53b55f3f6af422c17da152d393cba05d0 (patch) | |
tree | 6600947fdd28b86611b1fbc801c4305ba4f27111 | |
parent | 11f1294466b534fa1dbd456809e939d4ca138d52 (diff) | |
download | libhinoko-6efd86a53b55f3f6af422c17da152d393cba05d0.tar.gz |
fw_iso_ctx: code refactoring for state initialization
The state structure is initialized in inheritance object classes.
This commit adds helper function to initialize it.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
-rw-r--r-- | src/fw_iso_ctx.c | 5 | ||||
-rw-r--r-- | src/fw_iso_ctx_private.c | 11 | ||||
-rw-r--r-- | src/fw_iso_ctx_private.h | 2 | ||||
-rw-r--r-- | src/fw_iso_rx_multiple.c | 4 | ||||
-rw-r--r-- | src/fw_iso_rx_single.c | 4 | ||||
-rw-r--r-- | src/fw_iso_tx.c | 4 |
6 files changed, 24 insertions, 6 deletions
diff --git a/src/fw_iso_ctx.c b/src/fw_iso_ctx.c index aede531..4a9f4d6 100644 --- a/src/fw_iso_ctx.c +++ b/src/fw_iso_ctx.c @@ -149,10 +149,9 @@ static void hinoko_fw_iso_ctx_class_init(HinokoFwIsoCtxClass *klass) static void hinoko_fw_iso_ctx_init(HinokoFwIsoCtx *self) { - HinokoFwIsoCtxPrivate *priv = - hinoko_fw_iso_ctx_get_instance_private(self); + HinokoFwIsoCtxPrivate *priv = hinoko_fw_iso_ctx_get_instance_private(self); - priv->fd = -1; + fw_iso_ctx_state_init(priv); } gboolean fw_iso_ctx_handle_event_real(HinokoFwIsoCtx *inst, const union fw_cdev_event *event, diff --git a/src/fw_iso_ctx_private.c b/src/fw_iso_ctx_private.c index ba803b9..4754834 100644 --- a/src/fw_iso_ctx_private.c +++ b/src/fw_iso_ctx_private.c @@ -7,6 +7,17 @@ #include <sys/mman.h> /** + * fw_iso_ctx_state_init: + * @state: A [struct@FwIsoCtxState]. + * + * Initialize structure for state of isochronous context. + */ +void fw_iso_ctx_state_init(struct fw_iso_ctx_state *state) +{ + state->fd = -1; +} + +/** * fw_iso_ctx_state_allocate: * @state: A [struct@FwIsoCtxState]. * @path: A path to any Linux FireWire character device. diff --git a/src/fw_iso_ctx_private.h b/src/fw_iso_ctx_private.h index 64597b4..dee46eb 100644 --- a/src/fw_iso_ctx_private.h +++ b/src/fw_iso_ctx_private.h @@ -43,6 +43,8 @@ struct fw_iso_ctx_state { #define STOPPED_SIGNAL_NEME "stopped" +void fw_iso_ctx_state_init(struct fw_iso_ctx_state *state); + gboolean fw_iso_ctx_state_allocate(struct fw_iso_ctx_state *state, const char *path, HinokoFwIsoCtxMode mode, HinokoFwScode scode, guint channel, guint header_size, GError **error); diff --git a/src/fw_iso_rx_multiple.c b/src/fw_iso_rx_multiple.c index 88fc809..d677da1 100644 --- a/src/fw_iso_rx_multiple.c +++ b/src/fw_iso_rx_multiple.c @@ -125,7 +125,9 @@ static void hinoko_fw_iso_rx_multiple_class_init(HinokoFwIsoRxMultipleClass *kla static void hinoko_fw_iso_rx_multiple_init(HinokoFwIsoRxMultiple *self) { - return; + HinokoFwIsoRxMultiplePrivate *priv = hinoko_fw_iso_rx_multiple_get_instance_private(self); + + fw_iso_ctx_state_init(&priv->state); } static void fw_iso_rx_multiple_stop(HinokoFwIsoCtx *inst) diff --git a/src/fw_iso_rx_single.c b/src/fw_iso_rx_single.c index ccacfaf..f13ac1f 100644 --- a/src/fw_iso_rx_single.c +++ b/src/fw_iso_rx_single.c @@ -84,7 +84,9 @@ static void hinoko_fw_iso_rx_single_class_init(HinokoFwIsoRxSingleClass *klass) static void hinoko_fw_iso_rx_single_init(HinokoFwIsoRxSingle *self) { - return; + HinokoFwIsoRxSinglePrivate *priv = hinoko_fw_iso_rx_single_get_instance_private(self); + + fw_iso_ctx_state_init(&priv->state); } static void fw_iso_rx_single_stop(HinokoFwIsoCtx *inst) diff --git a/src/fw_iso_tx.c b/src/fw_iso_tx.c index f682fee..2adcf86 100644 --- a/src/fw_iso_tx.c +++ b/src/fw_iso_tx.c @@ -75,7 +75,9 @@ static void hinoko_fw_iso_tx_class_init(HinokoFwIsoTxClass *klass) static void hinoko_fw_iso_tx_init(HinokoFwIsoTx *self) { - return; + HinokoFwIsoTxPrivate *priv = hinoko_fw_iso_tx_get_instance_private(self); + + fw_iso_ctx_state_init(&priv->state); } static void fw_iso_tx_stop(HinokoFwIsoCtx *inst) |