2 * Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #ifndef __AUL_SCREEN_CONNECTOR_H__
19 #define __AUL_SCREEN_CONNECTOR_H__
28 AUL_SCREEN_TYPE_WIDGET = 0x01,
29 AUL_SCREEN_TYPE_WATCH = 0x02,
30 AUL_SCREEN_TYPE_UI = 0x04,
31 AUL_SCREEN_TYPE_ALL = AUL_SCREEN_TYPE_WIDGET | AUL_SCREEN_TYPE_WATCH | AUL_SCREEN_TYPE_UI,
35 AUL_SCREEN_CONNECTOR_EVENT_TYPE_ADD,
36 AUL_SCREEN_CONNECTOR_EVENT_TYPE_REMOVE,
37 AUL_SCREEN_CONNECTOR_EVENT_TYPE_UPDATE,
38 } aul_screen_connector_event_type_e;
41 AUL_SCREEN_STATUS_RESUME,
42 AUL_SCREEN_STATUS_PRE_RESUME,
43 AUL_SCREEN_STATUS_PAUSE,
44 } aul_screen_status_e;
46 typedef void (*aul_screen_viewer_cb)(const char *appid,
47 const char *instance_id, const int pid,
48 const unsigned int surface_id,
49 aul_screen_connector_event_type_e event_type, void *data);
51 typedef struct aul_screen_viewer_s *aul_screen_viewer_h;
54 * This API is only for Appfw internally.
56 int aul_screen_connector_add_app_screen(const char *instance_id,
60 * This API is only for Appfw internally.
62 int aul_screen_connector_remove_app_screen(const char *instance_id);
65 * This API is only for Appfw internally.
67 int aul_screen_connector_send_update_request(const char *appid,
68 const char *instance_id);
71 * This API is only for Appfw internally.
73 int aul_screen_connector_add_screen_viewer(aul_screen_viewer_cb callback,
74 aul_screen_type_e type, bool priv,
75 void *data, aul_screen_viewer_h *handle);
78 * This API is only for Appfw internally.
80 int aul_screen_connector_remove_screen_viewer(aul_screen_viewer_h handle);
83 * This API is only for Appfw internally.
85 int aul_screen_connector_get_appid_by_surface_id(unsigned int surface_id,
89 * This API is only for Appfw internally.
91 int aul_screen_connector_get_instance_id_by_surface_id(unsigned int surface_id,
95 * This API is only for Appfw internally.
97 int aul_screen_connector_update_screen_viewer_status(aul_screen_status_e status,
98 unsigned int provider_surf);
104 #endif /* __AUL_SCREEN_CONNECTOR_H__ */