diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-06-06 10:59:44 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-06-06 08:48:52 +0000 |
commit | a5da9bcbc5b3eb9a23cb97c8d3ef711c713e6c83 (patch) | |
tree | 215f7feb8accabb148a8a69e23397d5b3b0289ab /src/sm-pending.c | |
parent | 0c458cecd936c4263f46fe582afb91df7f5ed61c (diff) |
Add High Level APIsflounder_5.99.1flounder/5.99.15.99.1
* stream_close
key : stream_id
Calls disconnect function
* set_stream_state
key : stream_id
key : mute
value: 0 = unmute, 1 = mute
Calls connect when mute is set to 0,
then "stream_state_event" is published if success.
This event is same as asyncSetSourceState like here.
"event":"soundmanager\/stream_state_event",
"data":{
"handle":value1,
"sourceID":value2,
"sourceState":"on|off|paused",
"event_name":"ahl_stream_state_event",
"stream_id":value1,
"state_event":value
}
asyncSetSourceState is also published.
And when mute is set to 1, then calls disconnect.
"stream_id" is the returned value when application calls "stream_open".
Change-Id: Ib8a032ed2c407605b6015441eccbb7660d9932d8
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/sm-pending.c')
-rw-r--r-- | src/sm-pending.c | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/sm-pending.c b/src/sm-pending.c new file mode 100644 index 0000000..28a2382 --- /dev/null +++ b/src/sm-pending.c @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include <stdlib.h> +#include "sm-pending.h" + +struct pending* add_pending(struct pending *list, int source_id) +{ + struct pending* pd; + + if(list == NULL){ + pd = malloc(sizeof(struct pending)); + if(NULL == pd){ + AFB_WARNING("memory allocation error"); + return NULL; + } + pd->source.sourceID = source_id; + pd->next = NULL; + return pd; + } + else{ + list->next = add_pending(list->next, source_id); + return list; + } +} + +struct pending* get_pending(struct pending *list, int source_id){ + if(list == NULL){ + return NULL; + } + if(list->source.sourceID == source_id){ + return list; + } + else{ + struct pending* pd = get_pending(list->next, source_id); + return pd; + } +} + +struct pending* del_pending(struct pending* list, int source_id){ + struct pending* tmp; + if(list == NULL){ + return NULL; + } + + if(list->source.sourceID == source_id){ + tmp = list->next; + free(list); + return tmp; + } + else{ + list->next = del_pending(list->next, source_id); + return list; + } +} + +void del_all_pendings(struct pending *list){ + struct pending* tmp; + if(list != NULL){ + tmp = list->next; + free(list); + del_all_pendings(tmp); + } +}
\ No newline at end of file |