summaryrefslogtreecommitdiffstats
path: root/plugins/alsa/alsa-transaction.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/alsa/alsa-transaction.h')
-rw-r--r--plugins/alsa/alsa-transaction.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/alsa/alsa-transaction.h b/plugins/alsa/alsa-transaction.h
index a0af0ae..dd6e91b 100644
--- a/plugins/alsa/alsa-transaction.h
+++ b/plugins/alsa/alsa-transaction.h
@@ -13,7 +13,8 @@ typedef void (*AlsaTransactionDestructor) (struct SoftMixerT_ *, void*);
typedef struct {
const char * uid;
struct SoftMixerT_* mixer;
- struct cds_list_head list;
+ struct cds_list_head item_list; // list of items
+ struct cds_list_head transaction_node; // node in a list of transactions
} AlsaMixerTransaction;
typedef struct {
@@ -24,10 +25,14 @@ typedef struct {
extern AlsaMixerTransaction * AlsaMixerTransactionNew(struct SoftMixerT_ * api, const char*);
+extern void AlsaMixerTransactionDelete(AlsaMixerTransaction * transaction);
+
extern void AlsaMixerTransactionDataListDestroy(AlsaMixerTransaction*);
extern bool AlsaMixerTransactionObjectAdd(AlsaMixerTransaction*, void * object, AlsaTransactionDestructor destructor);
+extern void AlsaMixerTransactionObjectForget(AlsaMixerTransaction* list, void * object);
+
extern void AlsaMixerTransactionDoCleanup(AlsaMixerTransaction*);
extern bool AlsaMixerTransactionVerbCreate(AlsaMixerTransaction*);