diff options
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.c | 26 |
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; |