aboutsummaryrefslogtreecommitdiffstats
path: root/src/4a-internals-hal/4a-internals-hal-alsacore-link.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/4a-internals-hal/4a-internals-hal-alsacore-link.c')
-rw-r--r--src/4a-internals-hal/4a-internals-hal-alsacore-link.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/4a-internals-hal/4a-internals-hal-alsacore-link.c b/src/4a-internals-hal/4a-internals-hal-alsacore-link.c
index b910899..7b2fd5f 100644
--- a/src/4a-internals-hal/4a-internals-hal-alsacore-link.c
+++ b/src/4a-internals-hal/4a-internals-hal-alsacore-link.c
@@ -102,8 +102,9 @@ int InternalHalGetCardInfo(afb_api_t apiHandle, json_object *requestJ, json_obje
return errorToReturn;
}
-int InternalHalSubscribeToAlsacoreEvent(afb_api_t apiHandle,
- json_object *subscribeQueryJ)
+int InternalHalSubscribeUnscubscribeToAlsacoreEvent(afb_api_t apiHandle,
+ json_object *subscribeQueryJ,
+ enum AlsacoreSubscribeUnsubscribeType subscriptionType)
{
int err = 0;
@@ -118,14 +119,14 @@ int InternalHalSubscribeToAlsacoreEvent(afb_api_t apiHandle,
if(afb_api_call_sync(apiHandle,
ALSACORE_API,
- ALSACORE_SUBSCRIBE_VERB,
+ (subscriptionType == ALSACORE_SUBSCRIPTION) ? ALSACORE_SUBSCRIBE_VERB : ALSACORE_UNSUBSCRIBE_VERB,
subscribeQueryJ,
&responseJ,
&returnedError,
&returnedInfo)) {
AFB_API_ERROR(apiHandle,
"Something went wrong during call to verb '%s' of api '%s' with error '%s' and info '%s'",
- ALSACORE_SUBSCRIBE_VERB,
+ (subscriptionType == ALSACORE_SUBSCRIPTION) ? ALSACORE_SUBSCRIBE_VERB : ALSACORE_UNSUBSCRIBE_VERB,
ALSACORE_API,
returnedError ? returnedError : "not returned",
returnedInfo ? returnedInfo : "not returned");
@@ -141,8 +142,9 @@ int InternalHalSubscribeToAlsacoreEvent(afb_api_t apiHandle,
return err;
}
-int InternalHalSubscribeToAlsacoreCardEvent(afb_api_t apiHandle,
- char *cardId)
+int InternalHalSubscribeUnscubscribeToAlsacoreCardEvent(afb_api_t apiHandle,
+ char *cardId,
+ enum AlsacoreSubscribeUnsubscribeType subscriptionType)
{
int err, wrapRet;
@@ -157,7 +159,7 @@ int InternalHalSubscribeToAlsacoreCardEvent(afb_api_t apiHandle,
return -1;
}
- err = InternalHalSubscribeToAlsacoreEvent(apiHandle, subscribeQueryJ);
+ err = InternalHalSubscribeUnscubscribeToAlsacoreEvent(apiHandle, subscribeQueryJ, subscriptionType);
if(err) {
AFB_API_ERROR(apiHandle,
"Error %i happened when tried to subscribe to %s card event",
@@ -171,6 +173,16 @@ int InternalHalSubscribeToAlsacoreCardEvent(afb_api_t apiHandle,
return 0;
}
+int InternalHalSubscribeToAlsacoreCardEvent(afb_api_t apiHandle, char *cardId)
+{
+ return InternalHalSubscribeUnscubscribeToAlsacoreCardEvent(apiHandle, cardId, ALSACORE_SUBSCRIPTION);
+}
+
+int InternalHalUnsubscribeFromAlsacoreCardEvent(afb_api_t apiHandle, char *cardId)
+{
+ return InternalHalSubscribeUnscubscribeToAlsacoreCardEvent(apiHandle, cardId, ALSACORE_UNSUBSCRIPTION);
+}
+
int InternalHalGetAlsaCtlInfo(afb_api_t apiHandle, char *cardId, struct InternalHalAlsaCtl *currentAlsaCtl, json_object **returnedDataJ)
{
int wrapRet;