From bb9d43e21b66b8b337ba983bec96305469912bf2 Mon Sep 17 00:00:00 2001 From: "SukHyung, Kang" Date: Thu, 14 Jan 2016 08:06:28 +0900 Subject: [PATCH] add doc files for API reference Change-Id: Ide12f95e26b51aca848f6c7dd206f224a6c69b5e Signed-off-by: SukHyung, Kang --- doc/appfw_alarm_doc.h | 65 +++++ doc/appfw_app_common_doc.h | 84 ++++++ doc/appfw_app_control_doc.h | 34 +++ doc/appfw_app_doc.h | 324 ++++++++++++++++++++++++ doc/appfw_event_doc.h | 276 ++++++++++++++++++++ doc/appfw_i18n_doc.h | 45 ++++ doc/appfw_preference_doc.h | 44 ++++ doc/appfw_resource_manager_doc.h | 81 ++++++ doc/images/capi_appfw_application_lifecycle.png | Bin 0 -> 30482 bytes doc/images/capi_appfw_application_package.png | Bin 0 -> 8295 bytes doc/images/capi_appfw_application_resource.png | Bin 0 -> 26662 bytes doc/images/capi_appfw_application_states.png | Bin 0 -> 32111 bytes 12 files changed, 953 insertions(+) create mode 100755 doc/appfw_alarm_doc.h create mode 100755 doc/appfw_app_common_doc.h create mode 100755 doc/appfw_app_control_doc.h create mode 100755 doc/appfw_app_doc.h create mode 100755 doc/appfw_event_doc.h create mode 100755 doc/appfw_i18n_doc.h create mode 100755 doc/appfw_preference_doc.h create mode 100755 doc/appfw_resource_manager_doc.h create mode 100755 doc/images/capi_appfw_application_lifecycle.png create mode 100755 doc/images/capi_appfw_application_package.png create mode 100755 doc/images/capi_appfw_application_resource.png create mode 100755 doc/images/capi_appfw_application_states.png diff --git a/doc/appfw_alarm_doc.h b/doc/appfw_alarm_doc.h new file mode 100755 index 0000000..3504336 --- /dev/null +++ b/doc/appfw_alarm_doc.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_ALARM_DOC_H__ +#define __TIZEN_APPFW_ALARM_DOC_H__ + + /** + * @ingroup CAPI_APPLICATION_MODULE + * @defgroup CAPI_ALARM_MODULE Alarm + * @brief The @ref CAPI_ALARM_MODULE API allows setting an "alarm clock" for the delivery of a notification at some point in the future. + * + * @section CAPI_ALARM_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_ALARM_MODULE_OVERVIEW Overview + * Mobile devices typically give constant access to information from various sources. Some of this information is best delivered + * through alarms - the most obvious case is a calendar scheduling application which lets you know when a meeting is about to start. + * Alarms are certainly better than actively waiting in a loop. They are also better than putting an interface to sleep because they do not + * block your main UI thread. Use of alarms helps build smooth user experiences and implements unattended data synchronization tasks. + * If an application is installed after setting the alarm, your alarm is cancelled automatically.\n + * When the alarm is expired, Alarm Manager will turn on LCD to prohibit background jobs. + * If you want to use alarm API without turning on LCD, you can use alarm_schedule_after_delay(). + * + * There are 3 ways to set an alarm. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
FUNCTIONDESCRIPTION
alarm_schedule_once_after_delay()Sets an alarm to be triggered at specific time once
alarm_schedule_once_at_date()Sets an alarm to be triggered after specific delay once
alarm_schedule_with_recurrence_week_flag()Sets an alarm to be triggered at specific time with recurrent days of the week(can repeat on days of the week)
alarm_schedule_after_delay()Sets an alarm to be triggered after specific time(Since 2.4, this api does not support exact period and delay for minimizing the wakeups of the device. The system can adjust when the alarm expires.)
+ * \n + * + */ + +#endif /* __TIZEN_APPFW_ALARM_DOC_H__ */ diff --git a/doc/appfw_app_common_doc.h b/doc/appfw_app_common_doc.h new file mode 100755 index 0000000..d91cd20 --- /dev/null +++ b/doc/appfw_app_common_doc.h @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_APP_COMMON_DOC_H__ +#define __TIZEN_APPFW_APP_COMMON_DOC_H__ + + /** + * @ingroup CAPI_APPLICATION_MODULE + * @defgroup CAPI_APP_COMMON_MODULE App Common + * @brief The @ref CAPI_APP_COMMON_MODULE API provides functions to getting information about the application. + * + * @addtogroup CAPI_APP_COMMON_MODULE + * + * @section CAPI_APP_COMMON_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_APP_COMMON_MODULE_OVERVIEW Overview + * + * The App common API provides common apis that can be used at UI application and Service application. + * This API provides interfaces for getting information about the application. + * + * @subsection CAPI_APPLICATION_MODULE_PACKAGE Application Package + * The Tizen native application consists of structured directories to manage the application executable file, library files, resource files, and data. + * When you build the application, the Tizen SDK packages those as an application package for distribution. + * + * @image html capi_appfw_application_package.png "Application package" + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
DirectoriesDescription
<package id>The fully qualified name of an application (such as org.tizen.calculator).
binThe executable file of the application.
libThe application library files
resThe root directory in which all resource files are located.\n + * The application cannot write and modify any resource files
dataThe root directory in which an application's private data is located.\n + * The application can read and write its own data files in the application's data directory.
shared/The shared directory for sharing with other applications.
+ * + * @subsection CAPI_APPLICATION_MODULE_GET_INFORMATION Getting Information About the Application + * The API provides functions for obtaining an application's package name and absolute path to specified resources + * like Image, Sound, Video, UI layout (EDJ), and so on. + * It also provides functions to : + * - Get the current orientation of the device + * - Get the Internal/External root folders which are shared among all applications + * + */ + +#endif /* __TIZEN_APPFW_APP_COMMON_DOC_H__ */ diff --git a/doc/appfw_app_control_doc.h b/doc/appfw_app_control_doc.h new file mode 100755 index 0000000..150dda0 --- /dev/null +++ b/doc/appfw_app_control_doc.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_APP_CONTROL_DOC_H__ +#define __TIZEN_APPFW_APP_CONTROL_DOC_H__ + + /** + * @ingroup CAPI_APPLICATION_MODULE + * @defgroup CAPI_APP_CONTROL_MODULE App Control + * @brief The @ref CAPI_APP_CONTROL_MODULE API provides functions to launch other applications. + * + * @section CAPI_APP_CONTROL_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_APP_CONTROLMODULE_OVERVIEW Overview + * Platform Application Controls + * + */ + +#endif /* __TIZEN_APPFW_APP_CONTROL_DOC_H__ */ diff --git a/doc/appfw_app_doc.h b/doc/appfw_app_doc.h new file mode 100755 index 0000000..6da6fac --- /dev/null +++ b/doc/appfw_app_doc.h @@ -0,0 +1,324 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_APP_DOC_H__ +#define __TIZEN_APPFW_APP_DOC_H__ + +/** +* @ingroup CAPI_APPLICATION_FRAMEWORK +* @defgroup CAPI_APPLICATION_MODULE Application +* +* @addtogroup CAPI_APPLICATION_MODULE +* +* @brief The @ref CAPI_APPLICATION_MODULE API provides functions to manage the main event loop, the application's state change events, basic system events, +* and get information about the application. +* +* +* @section CAPI_APPLICATION_MODULE_HEADER Required Header +* \#include +* +* @section CAPI_APPLICATION_MODULE_OVERVIEW Overview +* +* The Application API handles an application state change or system events and provides mechanisms that launch other applications. +* +* The Tizen native application is similar to a conventional Linux application, but has some additional features optimized for mobile +* devices, which may have constraints such as relatively small screen sizes and lack of system resources compared to a larger system. +* For example, for power management reasons, the application may wish to take actions to reduce usage when it finds out that it had its display window +* covered over by another application's window. State change events are delivered so that this is possible. +* +* The Application API provides interfaces for the following three categories: +* - Starting or exiting the main event loop (mandatory for every Tizen native application) +* - Registering callbacks for application state change events +* - Registering callbacks for basic system events +* +* @subsection CAPI_APPLICATION_MODULE_EVENT_LOOP Event Loop +* For an application to operate successfully, it must receive events from the platform. +* For this, it needs to start the main event loop - this is mandatory for all Tizen native applications. +* The ui_app_main() function is used to start the event loop. +* Before calling this function, you should set up the #ui_app_lifecycle_callback_s structure which is passed to the function (see the following sections). +* +* @subsection CAPI_APPLICATION_MODULE_STATE_CHANGE_EVENT Registering Callbacks for Application State Change Events +* The application state change events include the following: +*

+* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +*
State Description
app_create_cb() Hook to take necessary actions before the main event loop starts. +* Your UI generation code should be placed here so that you do not miss any events from your application UI. +*
app_pause_cb() Hook to take necessary actions when an application becomes invisible. +* For example, you might wish to release memory resources so other applications can use these resources. +* It is important not to starve the application in front, which is interacting with the user. +*
app_resume_cb() Hook to take necessary actions when an application becomes visible. +* If anything is relinquished in app_pause_cb() but is necessary to resume +* the application, it must be re-allocated here. +*
app_terminate_cb() Hook to take necessary actions when your application is terminating. +* Your application should release all resources, especially any +* allocations and shared resources must be freed here so other running applications can fully use these shared resources. +*
app_control_cb() Hook to take necessary actions when your application called by another application. +* When the application gets launch request, this callback function is called. +* The application can get information about what is to be performed by using App Control API from app_control handle. +*
+* +* For further explanation of application state changes, see the @ref CAPI_APPLICATION_MODULE_STATES_TRANSITIONS section. +* +* @subsection CAPI_APPLICATION_MODULE_SYSTEM_EVENT Registering Callbacks for System Events +* The system event callbacks can be registered using ui_app_add_event_handler(). Multiple system event callbacks can be registered. +* The basic system event includes the following: +*

+* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +*
System event types Description
APP_EVENT_LOW_MEMORY The system memory is running low. +* Recommended actions are as follows: +* - Action 1. Save data in main memory to persistent memory/storage +* to avoid data loss in case the Tizen platform Low Memory Killer kills your application to get more free memory. +* The explanation of how Low Memory Killer behaves is here(link), but basically if the low memory notice does not lead to enough +* memory being freed, something will be killed. Release cached data in main memory to secure more free memory. +*
APP_EVENT_LOW_BATTERY The battery power is running low. +* Recommended actions are as follows: +* - Action 1. Save data in main memory to persistent memory/storage to avoid sudden loss of data in case power goes off completely. +* - Action 2. Stop heavy CPU consumption or power consumption activities to save remaining power. +*
APP_EVENT_DEVICE_ORIENT The orientation of device is changed. +* Recommended action is as follows: change display orientation to match display orientation +*
APP_EVANG_LANGUAGE_CHANGED The language setting is changed. +* Recommended action: refresh the display into the new language +*
APP_EVENT_REGION_FORMAT_CHANGED The region format setting changed. +* Region change means a different time zone; the application UI may need to update the time to reflect the time zone change. +*
APP_EVENT_SUSPENDED_STATE_CHANGED The suspended state is changed. +* The application will enter to the suspended state, or exited from the state. Do the necessary action before or after the suspended; the application shall not respond to requests of the other modules. +*
+* +* @subsection CAPI_APPLICATION_MODULE_STATES_TRANSITIONS The Application States and Transitions +* The Tizen native application can be in one of the several different states. Typically, the application is launched by the user from the Launcher, or by +* another application. As the application is starting, app_create_cb() is executed, and then the main event loop starts. After executing event loop, app_control_cb() and app_resume_cb() will be invoked. +* The application now normally becomes the front-most window, with focus. When the application loses the front-most/focus status, the app_pause_cb() callback is invoked. There +* are many scenarios for your application to go into the pause state, which means your application is not terminated, but is running in the background: +* - A new application is launched from the request of your application +* - The user requests to go to the home screen +* - A system event occurs and it causes a resident application with higher priority (e.g. a phone call is received) to become active, and hides +* your application temporarily +* - An alarm went off for another application so it now becomes the top-most window and hides your application +* +* Since Tizen 2.4, the application on the background goes in to a suspended state. In the suspended state, the application process is executed with limited CPU resources. In other words, the platform does +* not allow the running of the background applications. +* +* When your application becomes visible again, the app_resume_cb() callback is invoked. Some possible scenarios for your application to become visible are: +* - Another application requests your application to run (perhaps the Task Navigator which shows all running applications and lets +* the user select any app to run) +* - All applications on top of your application in the window stack finish +* - An alarm is going off for your application so it becomes the top-most window and hides other applications +* +* When your application starts exiting, the app_pause_cb() callback is invoked if the application is visible, and then the app_terminate_cb() callback is invoked. Possible scenarios to start termination of your application are: +* - Your application itself requests to exit by calling ui_app_exit() to terminate the event loop +* - The Low Memory Killer is killing your application in a low memory situation. +* +* Note that a service application doesn't have UI, so the service application doesn't have Paused state. +* +* Application state changes are managed by the underlying framework. +* Refer to the following state diagram to see the possible transitions: +* @image html capi_appfw_application_states.png "Application states" +*

+* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +* +*
State Description
READY The application is launched.
CREATED The application starts the main loop.
RUNNING The application is running and visible to the user.
PAUSED The application is running but invisible to the user.
TERMINATED The application is terminated
+* +* The Application API defines five states with their corresponding transition handlers. +* The state transition is notified through the state transition callback function, +* whether the application is created, is running, is paused, is resumed, or is terminated. +* And the application has to perform a specific task that is appropriate to those state changes. +* +* @image html capi_appfw_application_lifecycle.png "General application lifecycle" +* +* @subsection CAPI_APPLICATION_MODULE_HOW_TO_START How to start the Tizen native application +* An application can be launched by the user from the Launcher or by another application. +* +* Regardless of how an application is launched, the Application Framework starts an application by creating a new process and calls +* the entry point of the application. Like a conventional Linux application, the main function of its application is the entry point. +* In the Tizen application, the main task is to hand over control to the Application Framework by calling the ui_app_main() function. +* @code +* bool app_create(void *user_data) +* { +* // Hook to take necessary actions before the main event loop starts +* // Initialize UI resources and application's data +* // If this function returns @c true, the main loop of the application starts +* // If this function returns @c false, the application is terminated +* return true; +* } +* +* void app_control(app_control_h app_control, void *user_data) +* { +* // Handle the launch request +* } +* +* void app_pause(void *user_data) +* { +* // Take necessary actions when the application becomes invisible +* } +* +* void app_resume(void *user_data) +* { +* // Take necessary actions when the application becomes visible. +* } +* +* void app_terminate(void *user_data) +* { +* // Release all resources +* } +* +* int main(int argc, char *argv[]) +* { +* struct appdata ad; +* +* ui_app_lifecycle_callback_s event_callback = {0,}; +* +* event_callback.create = app_create; +* event_callback.terminate = app_terminate; +* event_callback.pause = app_pause; +* event_callback.resume = app_resume; +* event_callback.app_control = app_control; +* +* memset(&ad, 0x0, sizeof(struct appdata)); +* +* return ui_app_main(argc, argv, &event_callback, &ad); +* } +* @endcode +* +* The ui_app_main() function initializes the application and then starts the main loop. +* +* The ui_app_main() function takes four parameters and uses them to initialize the application. +* The @a argc and @a argv parameters contain the values from the Application Framework, so that you should never have to change the values. +* The third parameter is a state transition handler that is responsible for managing the state +* transitions that the application goes through while it is running. The fourth parameter is the application data to be passed to each state handler. +* +* When ui_app_main() is first invoked, the application moves from the ready state to the created state. +* The application has to initialize itself. +* +* During this transition, the Application Framework calls the application's app_create_cb() state transition callback function just +* before the application enters the main loop. Within the registered app_create_cb() callback function, you should initialize the +* application's resources and create the main window. +* +* If the app_create_cb() callback function returns @c false, the application moves to the terminated state.\n +* If the app_create_cb() callback function returns @c true, the application enters the main loop. +* +* @subsection CAPI_APPLICATION_MODULE_LAUNCH_OPTIONS Handling the launch options +* The Application Framework calls the application's app_control_cb() callback function just after the application enters the main loop. +* This callback function is passed to the app_control containing the reason due to which the application is launched. +* For example, the application might be launched to open a file to handle the request that has been sent by another application. +* In all of these cases, the application is responsible for checking the contents of the app_control and responding appropriately. The contents +* of the app_control can be empty in situations where the application is launched by the user from the Launcher. +* +* @code +* static void app_control(app_control_h app_control, void *user_data) +* { +* struct appdata *ad = (struct appdata *)user_data; +* char *operation; +* char *uri; +* char *mime_type; +* +* app_control_get_operation(app_control, operation); +* +* if (!strcmp(operation, SERVICE_OPERATION_VIEW)) +* { +* app_control_get_uri(app_control, &uri); +* app_control_get_mime(app_control, &mime_type); +* +* if (uri && !strcmp(mime_type, "image/jpg")) +* { +* display_image_file(ad, uri); // display a specific image file +* } +* } +* +* if (ad->win) +* elm_win_activate(ad->win); +* +* } +* @endcode +* +*/ + +#endif /* __TIZEN_APPFW_APP_DOC_H__ */ diff --git a/doc/appfw_event_doc.h b/doc/appfw_event_doc.h new file mode 100755 index 0000000..54bf3ba --- /dev/null +++ b/doc/appfw_event_doc.h @@ -0,0 +1,276 @@ +/* + * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_EVENT_DOC_H__ +#define __TIZEN_APPFW_EVENT_DOC_H__ + + /** + * @ingroup CAPI_APPLICATION_MODULE + * @defgroup CAPI_EVENT_MODULE Event + * @brief The @ref CAPI_EVENT_MODULE API provides functions to serve publication and subscription of event. + * + * @section CAPI_EVENT_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_EVENT_MODULE_OVERVIEW Overview + * + * The @ref CAPI_EVENT_MODULE API provides functions to broadcast user-defined event. + * - event_publish_app_event() + * - event_publish_trusted_app_event() + * If you want to send an event to trusted application, you can use event_publish_trusted_app_event() API. Only applications which have same signature with sender application can receive the event. + * + * The @ref CAPI_EVENT_MODULE API provides functions to add and remove the event handler for event subscription. + * The event handler's function will be called when the interested event occurs. + * Adding multiple event handlers to one event is possible. + * + * There are two types event. + * - User-Event is user-defined event. + * - System-Event is pre-defined platform event. See definitions for system event. NOTE: You can't receive the system-event which is not supported on the target device, even if you register event handler for that event. Some system-events require the privilege. (Refer to @ref CAPI_EVENT_MODULE_PRIVILEGED_SYSTEM_EVENT) + * + * The type of event data is bundle type. + * - For System-Event, see definitions for key and value of system event. + * + * @subsection CAPI_EVENT_MODULE_EVENT_FORMAT The name-format of User-Event. + * The format of User-Event's name MUST be "event.{sender's appid}.{user-defined name}", unless the API calls using event_name will be failed. + * The {user-defined name} have some restrictions. + * - Must have length of Min 1 byte and Max 127 bytes. + * - Must only contain the characters("[A~Z][a~z][0~9]_") and not begin with a digit. + * For example, + * "event.org.tizen.testapp.user_event_1". + * + * @subsection CAPI_EVENT_MODULE_LAUNCH_ON_EVENT Launch-On-Event (Service Application only) + * Service application can be launched by event triggering. + * For Launch-On-Event, + * - The APP_CONTROL_OPERATION_LAUNCH_ON_EVENT must be defined in the manifest file. + * - The uri name represents event name and the format is "event://{event name"}". + * For uri example, + * "event://tizen.system.event.battery_charger_status". (System-Event) + * - The APP_CONTROL_OPERATION_LAUNCH_ON_EVENT can not be requested via app_control_send_launch_request(). + * + * How to know the triggered event after launch by event triggering. + * - You can get the event name and data in the first called app_control_cb which is called after 'Created' of application states. + * @code + * static void + * app_control(app_control_h app_control, void *data) + * { + * //check "launch on event" + * int ret = 0; + * const char *event_uri = "event://tizen.system.event.battery_charger_status"; + * char *operation = NULL; + * char *uri = NULL; + * char *event_value = NULL; + * + * ret = app_control_get_operation(app_control, &operation); + * if (ret == APP_CONTROL_ERROR_NONE && operation && + * strcmp(operation, APP_CONTROL_OPERATION_LAUNCH_ON_EVENT) == 0) { + * ret = app_control_get_uri(app_control, &uri); + * if (ret == APP_CONTROL_ERROR_NONE && uri) { + * if (strncmp(uri, event_uri, strlen(event_uri) + 1) == 0) { + * ret = app_control_get_extra_data(app_control, "battery_charger_status", &event_value); + * if (ret == APP_CONTROL_ERROR_NONE && event_value) { + * free(event_value); + * } + * } + * free(uri); + * } + * free(operation); + * } + * } + * @endcode + * - Use event_add_event_handler() API in the first called app_control_cb for further subscription of that event. + * + * NOTE : Only several of System-Events support Launch-On-Event. + * The System-Events and their Conditions which support Launch-On-Event are listed in the table below. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
NameCondition
SYSTEM_EVENT_BATTERY_CHARGER_STATUSWhen Charger CONNECTED
SYSTEM_EVENT_USB_STATUSWhen Usb CONNECTED
SYSTEM_EVENT_EARJACK_STATUSWhen Earjack CONNECTED
SYSTEM_EVENT_INCOMMING_MSGWhen MSG_TYPE & MSG_ID exist
+ * + * @subsection CAPI_EVENT_MODULE_PRIVILEGED_SYSTEM_EVENT Privileged System-Events. + * There are some system-events which need the privilege for normal operation. + * You can know these privileged system-events from the 'privilege' comment of the definition of each system-event. + * If you try to add event handler for these events without privilege, you will get EVENT_ERROR_PERMISSION_DENIED return when you use the API for adding event handler. + * Also, If you declare app_control operation and uri in the manifest file for these events to enable 'Launch On Event' without privilege, there will be no real launch. + * + * @subsection CAPI_EVENT_MODULE_SYSTEM_EVENT Supported System-Events. + * The supported system-event's name, keys and values of each event are listed in the table below. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
NameKeyValue
SYSTEM_EVENT_BATTERY_CHARGER_STATUSEVENT_KEY_BATTERY_CHARGER_STATUSEVENT_VAL_BATTERY_CHARGER_DISCONNECTED
EVENT_VAL_BATTERY_CHARGER_CONNECTED
EVENT_VAL_BATTERY_CHARGER_CHARGING
EVENT_VAL_BATTERY_CHARGER_DISCHARGING
SYSTEM_EVENT_BATTERY_LEVEL_STATUSEVENT_KEY_BATTERY_LEVEL_STATUSEVENT_VAL_BATTERY_LEVEL_EMPTY
EVENT_VAL_BATTERY_LEVEL_CRITICAL
EVENT_VAL_BATTERY_LEVEL_LOW
EVENT_VAL_BATTERY_LEVEL_HIGH
EVENT_VAL_BATTERY_LEVEL_FULL
SYSTEM_EVENT_USB_STATUSEVENT_KEY_USB_STATUSEVENT_VAL_USB_DISCONNECTED
EVENT_VAL_USB_CONNECTED
EVENT_VAL_USB_AVAILABLE
SYSTEM_EVENT_EARJACK_STATUSEVENT_KEY_EARJACK_STATUSEVENT_VAL_EARJACK_DISCONNECTED
EVENT_VAL_EARJACK_CONNECTED
SYSTEM_EVENT_DISPLAY_STATEEVENT_KEY_DISPLAY_STATEEVENT_VAL_DISPLAY_NORMAL
EVENT_VAL_DISPLAY_DIM
EVENT_VAL_DISPLAY_OFF
SYSTEM_EVENT_BOOT_COMPLETEDN/AN/A
SYSTEM_EVENT_SYSTEM_SHUTDOWNN/AN/A
SYSTEM_EVENT_LOW_MEMORYEVENT_KEY_LOW_MEMORYEVENT_VAL_MEMORY_NORMAL
EVENT_VAL_MEMORY_SOFT_WARNING
EVENT_VAL_MEMORY_HARD_WARNING
SYSTEM_EVENT_WIFI_STATEEVENT_KEY_WIFI_STATEEVENT_VAL_WIFI_OFF
EVENT_VAL_WIFI_ON
EVENT_VAL_WIFI_CONNECTED
SYSTEM_EVENT_BT_STATEEVENT_KEY_BT_STATEEVENT_VAL_BT_OFF
EVENT_VAL_BT_ON
EVENT_KEY_BT_LE_STATEEVENT_VAL_BT_LE_OFF
EVENT_VAL_BT_LE_ON
EVENT_KEY_BT_TRANSFERING_STATEEVENT_VAL_BT_NON_TRANSFERING
EVENT_VAL_BT_TRANSFERING
SYSTEM_EVENT_LOCATION_ENABLE_STATEEVENT_KEY_LOCATION_ENABLE_STATEEVENT_VAL_LOCATION_DISABLED
EVENT_VAL_LOCATION_ENABLED
SYSTEM_EVENT_GPS_ENABLE_STATEEVENT_KEY_GPS_ENABLE_STATEEVENT_VAL_GPS_DISABLED
EVENT_VAL_GPS_ENABLED
SYSTEM_EVENT_NPS_ENABLE_STATEEVENT_KEY_NPS_ENABLE_STATEEVENT_VAL_NPS_DISABLED
EVENT_VAL_NPS_ENABLED
SYSTEM_EVENT_INCOMMING_MSGEVENT_KEY_MSG_TYPEEVENT_VAL_SMS
EVENT_VAL_PUSH
EVENT_VAL_CB
EVENT_KEY_MSG_IDstring of unsigned int type value.
SYSTEM_EVENT_TIME_CHANGEDN/AN/A
SYSTEM_EVENT_TIME_ZONEEVENT_KEY_TIME_ZONEThe value of this key is timezone value of tz database, for example,
"Asia/Seoul", "America/New_York",
refer to the Time Zone Database of IANA.
SYSTEM_EVENT_HOUR_FORMATEVENT_KEY_HOUR_FORMATEVENT_VAL_HOURFORMAT_12
EVENT_VAL_HOURFORMAT_24
SYSTEM_EVENT_LANGUAGE_SETEVENT_KEY_LANGUAGE_SETThe value of this key is full name of locale, for example,
"ko_KR.UTF8" : in case of Korean language
"en_US.UTF8" : in case of USA language,
refer to linux locale info.
SYSTEM_EVENT_REGION_FORMATEVENT_KEY_REGION_FORMATThe value of this key is full name of locale, for example,
"ko_KR.UTF8" : in case of Korean region format
"en_US.UTF8" : in case of USA region format,
refer to linux locale info.
SYSTEM_EVENT_SILENT_MODEEVENT_KEY_SILENT_MODEEVENT_VAL_SILENTMODE_ON
EVENT_VAL_SILENTMODE_OFF
SYSTEM_EVENT_VIBRATION_STATEEVENT_KEY_VIBRATION_STATEEVENT_VAL_VIBRATION_ON
EVENT_VAL_VIBRATION_OFF
SYSTEM_EVENT_SCREEN_AUTOROTATE_STATEEVENT_KEY_SCREEN_AUTOROTATE_STATEEVENT_VAL_SCREEN_AUTOROTATE_ON
EVENT_VAL_SCREEN_AUTOROTATE_OFF
SYSTEM_EVENT_MOBILE_DATA_STATEEVENT_KEY_MOBILE_DATA_STATEEVENT_VAL_MOBILE_DATA_OFF
EVENT_VAL_MOBILE_DATA_ON
SYSTEM_EVENT_DATA_ROAMING_STATEEVENT_KEY_DATA_ROAMING_STATEEVENT_VAL_DATA_ROAMING_OFF
EVENT_VAL_DATA_ROAMING_ON
SYSTEM_EVENT_FONT_SETEVENT_KEY_FONT_SETThe value of this key is font name of string type by font-config.
+ * + */ + +#endif /* __TIZEN_APPFW_EVENT_DOC_H__ */ diff --git a/doc/appfw_i18n_doc.h b/doc/appfw_i18n_doc.h new file mode 100755 index 0000000..8b874f3 --- /dev/null +++ b/doc/appfw_i18n_doc.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_I18N_DOC_H__ +#define __TIZEN_APPFW_I18N_DOC_H__ + + + /** + * @ingroup CAPI_APPLICATION_MODULE + * @defgroup CAPI_I18N_MODULE Internationalization + * @brief The Internationalization API provides functions to write multilingual applications through GNU gettext. + * + * @section CAPI_I18_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_I18N_MODULE_OVERVIEW Overview + * The @ref CAPI_I18N_MODULE API provides functions to write multilingual applications through GNU gettext. + *

+ * Tizen provides all the features of the GNU gettext library through the Internationalization API + * and allows you to manage message catalogs from SDK. + *

+ * The Internationalization API consists of i18n_get_text() for message translation + * and macros to use i18n_get_text() in an easy to use form. + * These macros allow you to mark strings for translation in source codes, + * which are replaced with the translated strings at runtime. + *

+ */ + + + +#endif /* __TIZEN_APPFW_I18N_DOC_H__ */ diff --git a/doc/appfw_preference_doc.h b/doc/appfw_preference_doc.h new file mode 100755 index 0000000..2b04552 --- /dev/null +++ b/doc/appfw_preference_doc.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_PREFERENCE_DOC_H__ +#define __TIZEN_APPFW_PREFERENCE_DOC_H__ + + /** + * @ingroup CAPI_APPLICATION_MODULE + * @defgroup CAPI_PREFERENCE_MODULE Preference + * @brief The @ref CAPI_PREFERENCE_MODULE API provides functions to store and retrieve small pieces of data, used for application preferences. + * + * @addtogroup CAPI_PREFERENCE_MODULE + * + * @section CAPI_PREFERENCE_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_PREFERENCE_MODULE_OVERVIEW Overview + * + * The Preference API provides a mechanism that saves data items in the form of key/value pairs for this application, and later retrieves them. + * A typical usecase would be for an application preference screen where the user can pick some values for some options. The Preference API + * has pairs of functions, one to set such a pair, another to retrieve the stored value given in the key. Keys are always text strings, but + * there are functions for each of the possible value types: integer, double, string, and boolean. There is also a function to clear all of the preferences. + * + * The @ref CAPI_PREFERENCE_MODULE API provides a way to register a callback to get notified when a value for a particular key changes. It is useful to know + * when the display should be updated or some behavior is altered as a result. + * + * There is an iterator function which steps through all the data pairs, invoking a callback for each one. + */ + +#endif /* __TIZEN_APPFW_PREFERENCE_DOC_H__ */ diff --git a/doc/appfw_resource_manager_doc.h b/doc/appfw_resource_manager_doc.h new file mode 100755 index 0000000..8f45226 --- /dev/null +++ b/doc/appfw_resource_manager_doc.h @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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 __TIZEN_APPFW_APP_RESOURCE_MANAGER_DOC_H__ +#define __TIZEN_APPFW_APP_RESOURCE_MANAGER_DOC_H__ + +/** + * @ingroup CAPI_APPLICATION_MODULE + * @defgroup CAPI_RESOURCE_MANAGER_MODULE Resource Manager + * @brief The @ref CAPI_RESOURCE_MANAGER_MODULE API provides functions to get/set the common resource for multiple devices. + * + * @section CAPI_RESOURCE_MANAGER_MODULE_HEADER Required Header + * \#include + * + * @section CAPI_RESOURCE_MANAGER_MODULE_OVERVIEW Overview + * + * The @ref CAPI_RESOURCE_MANAGER_MODULE API provides functions to use different resources(images, layout, sounds) between each devices have different device specification. + * For example, if you want to change button image of application depends on device's current language setting, put resource files into different folders which are managed by SDK as the same filename. + * Then call app_resource_manager_get() with resource ID described below to get appropriate resource filepath then OS will choose resources for specific device. + * You should get the path of the resource file that is managed by the resource manager with app_resource_manager_get() API. Tizen may remove unnecessary resource files for a certain device, so you may fail to access if you access the resource file with the path that is not gotten with app_resource_manager_get() API. + * Make sure app_resource_manager_init() should be called first and app_resource_manager_release should be called after using resource manager. + * + * @section CAPI_RESOURCE_MANAGER_MODULE_RESOURCE_ID Resource ID + * + * Resource ID is an identifier for specific resource. It consists of sub directories and filename including its extension. + * Same resources are located at different location with same filename for supporting multi devices. + * If you want to get actual filename with given resourceID, refer app_resource_manager_get(). + * + * @section CAPI_RESOURCE_MANAGER_MODULE_RESOURCE_TYPE Resource Type + * + * For now, 4 resource types are supported. + * + * Resource which has same resource type are grouped as folder. + * Folder name is irrelevant with its actual resource type. + * The managed folders for each type will be generated by SDK tools. + * In source codes, you can use resource types listed below. + * (Types will be added for further needs) + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
TYPEDescription
RSC_TYPE_IMAGEImage resources.
RSC_TYPE_LAYOUTApplication's layout to be displayed.
RSC_TYPE_SOUNDSound, audio resources.
RSC_TYPE_BINAll other resources to be needed but not specified above.
+ * + * @subsection CAPI_RESOURCE_MANAGER_MODULE_MATCHING_ALGORITHM Matching Algorithm + * + * @image html capi_appfw_application_resource.png "Matching Algorithm" + * + */ + +#endif /* __TIZEN_APPFW_APP_RESOURCE_MANAGER_DOC_H__ */ diff --git a/doc/images/capi_appfw_application_lifecycle.png b/doc/images/capi_appfw_application_lifecycle.png new file mode 100755 index 0000000000000000000000000000000000000000..840505c536b07d28e1b2ca79bd4e051c764bed0a GIT binary patch literal 30482 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 Nfu7MdjE-aE{{b=GZt4I4 literal 0 HcmV?d00001 diff --git a/doc/images/capi_appfw_application_resource.png b/doc/images/capi_appfw_application_resource.png new file mode 100755 index 0000000000000000000000000000000000000000..db6129b845123298fd5396ded97d62d0504ab42d GIT binary patch literal 26662 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�y-%!v>1IlYzw46a*(RMSHLX!7~ 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 literal 0 HcmV?d00001 -- 2.7.4