diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2017-10-02 16:22:02 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2017-10-11 13:33:02 +0900 |
commit | ce253994af37137d4c29221e7914f437c3dcb510 (patch) | |
tree | 3beed005e974e45d008089ffe67c9793c8bb1ee4 /src/sm-helper.h | |
parent | e483fae4992307f34b6a9926bfba8b2e0568ebe3 (diff) |
Add agl-service-soundmanager-2017
Add a new binding agl-service-soundmanager-2017. A image about this see JIRA SPEC-916
Packaging via cmake
[PatchSet3]
Pass to afb-binding version 2
Fix typo
Fix libsoundmanager bug
[PatchSet4]
Modified commit message
[PatchSet5]
Re-add root CMakeLists.txt
Prevent memory leak of json object
Bug-AGL: SPEC-926
Change-Id: I24c0280210777778c379ac7027f3d71fa28d6d85
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/sm-helper.h')
-rw-r--r-- | src/sm-helper.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/sm-helper.h b/src/sm-helper.h new file mode 100644 index 0000000..f6a3601 --- /dev/null +++ b/src/sm-helper.h @@ -0,0 +1,94 @@ +/* + * 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. + */ + +#ifndef AM_HELPER_H +#define AM_HELPER_H +#define _GNU_SOURCE +#define AFB_BINDING_VERSION 2 +#include <afb/afb-binding.h> +#include <stdint.h> +#include <glib.h> +//#include <errno.h> + +typedef enum REQ_ERROR +{ + REQ_FAIL = -1, + REQ_OK=0, + NOT_NUMBER, + OUT_RANGE +}REQ_ERROR; + +static const char* cmd_evlist[] = { + "volumeChanged", + "newMainConnection", + "removedMainConnection", + "sinkMuteStateChanged", + "mainConnectionStateChanged" +}; + +static const char* route_evlist[] = { + /* Routing event*/ + "setRoutingReady", + "setRoutingRundown", + "asyncConnect", + "asyncSetSourceState", + "asyncDisconnect" +}; + +struct sound_property_s{ + guint16 type; + gint16 value; +}; +struct availability_s{ + gint32 availability; + gint32 avalilable_reason; +}; +struct notification_config_s{ + gint32 type; + gint32 status; + gint16 parameter; +}; +struct main_sound_property_s{ + gint32 type; /* am_CustomMainSoundPropertyType_t */ + gint16 value; +}; + +struct domain_data{ + guint16 domainID; + gchar* name; + gchar* busname; + gchar* nodename; + gboolean early; + gboolean complete; + gint16 state; +}; + +REQ_ERROR get_value_uint16(const struct afb_req request, const char *source, uint16_t *out_id); +REQ_ERROR get_value_int16(const struct afb_req request, const char *source, int16_t *out_id); +REQ_ERROR get_value_int32(const struct afb_req request, const char *source, int32_t *out_id); +void sm_add_object_to_json_object(struct json_object* j_obj, int count, ...); +void sm_add_object_to_json_object_func(struct json_object* j_obj, const char* verb_name, int count, ...); +int sm_search_event_name_index(const char* value); +int sm_search_routing_event_name_index(const char* value); +GVariant* create_source_data(guint16 sourceID, guint16 domainID, const char* appname, guint16 sourceClassID, + gint32 sourceState, gint16 volume, gboolean visible, struct availability_s availables, + guint16 interrupt, struct sound_property_s soundPropertyList, gint32 connectionFormatList, + struct main_sound_property_s mainPropertyList, struct notification_config_s NConfRouting, + struct notification_config_s NConfCommand); +GVariant* create_domain_data(struct domain_data*); + + +#endif /*AM_HELPER_H*/
\ No newline at end of file |