--- /dev/null
+Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.\r
+\r
+Any software product designated as "Samsung Proprietary Software," including\r
+computer software and may include associated media, printed materials, and\r
+"online" or electronic documentation ("SOFTWARE PRODUCT") is a copyrighted and\r
+proprietary property of SAMSUNG ELECTRONICS CO., LTD (“Samsung”).\r
+\r
+The SOFTWARE PRODUCT must\r
+(i) be used for Samsung’s approved business purposes only,\r
+(ii) not be contaminated by open source codes,\r
+(iii) must not be used in any ways that will require it to be disclosed or\r
+ licensed freely to third parties or public,\r
+(vi) must not be subject to reverse engineering, decompling or diassembling.\r
+\r
+Samsung does not grant the recipient any intellectual property rights,\r
+indemnities or warranties and takes on no obligations regarding the SOFTWARE\r
+PRODUCT except as otherwise agreed to under a separate written agreement with\r
+the recipient.
\ No newline at end of file
--- /dev/null
+libpush.so.0
\ No newline at end of file
--- /dev/null
+libpush.so.0.2.12
\ No newline at end of file
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAoGgAwIBAgIJAPMld7YDENSnMA0GCSqGSIb3DQEBBQUAMIGkMQswCQYD
+VQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2kgZG8xDjAMBgNVBAcMBVN1d29uMSUw
+IwYDVQQKDBxTQU1TVU5HIEVMRUNUUk9OSUNTIENPLiwgTFREMR4wHAYDVQQDDBUq
+LnB1c2guc2Ftc3VuZ29zcC5jb20xKDAmBgkqhkiG9w0BCQEWGWFkbWluQHB1c2gu
+c2Ftc3VuZ29zcC5jb20wHhcNOTkxMjMxMTUwMjEwWhcNNDkxMjE4MTUwMjEwWjCB
+pDELMAkGA1UEBhMCS1IxFDASBgNVBAgMC0d5ZW9uZ2dpIGRvMQ4wDAYDVQQHDAVT
+dXdvbjElMCMGA1UECgwcU0FNU1VORyBFTEVDVFJPTklDUyBDTy4sIExURDEeMBwG
+A1UEAwwVKi5wdXNoLnNhbXN1bmdvc3AuY29tMSgwJgYJKoZIhvcNAQkBFhlhZG1p
+bkBwdXNoLnNhbXN1bmdvc3AuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDS/wx087bX6AA7bz/rPd/AOtm8g1ebRfENevGCnMrnU43PlryjjQjgKxwMO1R5
+Mdvv9IsSdoGIKj5h5VZlWbuiCx5pPqf62Owu3DjVLLuHWmlFkb7y6mKfshAcGCVq
+azjayWF9NpmOPnJDlFOZHTu+5X0+KEyx/W7kS6gcB5WIRwIDAQABo1AwTjAdBgNV
+HQ4EFgQUWMjZPBPgzaBussvwASa64F2DMFEwHwYDVR0jBBgwFoAUWMjZPBPgzaBu
+ssvwASa64F2DMFEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBpsXfr
+Fyd3rdKRzyBh/aJgY+XLZf5/TZYhtv2OLv5kMK0EkS0CEduPK5LeZwOhWgLIGpsl
+m8F2WNFttqP6fsAHExLTUlyqt4HT0CdzUtypjgsUPK5GBqEvz6+iQP+hZ4NKuxNB
+kci9Q85y89ANKtHvKxN1vu7gqArGFyIOJDVC8w==
+-----END CERTIFICATE-----
* @{
*/
+/*
+ * @brief This is key string for getting extra data of App Control response.
+ * @since_tizen 3.0
+ * @remarks Your application could be launched in the background by push service. \n
+ * If you want to know what push operation makes your application wake up, use app_control_get_extra_data() with below key. \n
+ * In the case that your application is launched by push notification with "LAUNCH" option, you can see a value, "notification" in App Control callback. \n
+ * On the other hand, when the state of registration changed, you can find the other value, "registration_change".
+ * @see app_control_get_extra_data()
+ */
+#define APP_CONTROL_DATA_PUSH_LAUNCH_TYPE "http://tizen.org/appcontrol/data/push/launch_type"
+
/**
* @brief Enumerations of error codes for push API.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum {
- PUSH_SERVICE_STATE_REGISTERED, /**< Registred */
+ PUSH_SERVICE_STATE_REGISTERED, /**< Registered */
PUSH_SERVICE_STATE_UNREGISTERED, /**< Unregistered */
- PUSH_SERVICE_STATE_PROVISIONING_IPCHANGE, /**< To change the provisining server IP */
+ PUSH_SERVICE_STATE_PROVISIONING_IPCHANGE, /**< To change the provisioning server IP */
PUSH_SERVICE_STATE_PING_CHANGE, /**< Ping interval is changing */
PUSH_SERVICE_STATE_ERROR, /**< Error */
} push_service_state_e;
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks If you call this function in the push callback functions,\n
* it may cause your application to crash.\n
- * The specific error code can be obtained using the get_last_result()\n
- * Error codes are described in the exception section.
+ * The specific error code can be obtained using the get_last_result()\n
+ * Error codes are described in the exception section.
* @param[in] connection The connection handle to the push service
* @exception #PUSH_SERVICE_ERROR_NONE Successful
* @exception #PUSH_SERVICE_ERROR_INVALID_PARAMETER Invalid parameter
* option or a user clicks a notification in the quick panel,\n
* the push daemon forcibly launches the app and delivers the\n
* notification to the app as a bundle. This function returns\n
- * the payload data in the notificaiton.
+ * the payload data in the notification.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/push
* option or a user clicks a notification in the quick panel,\n
* the push daemon forcibly launches the app and delivers the\n
* notification to the app as a bundle. This function returns\n
- * the notificaiton from the bundle.
+ * the notification from the bundle.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/push
* @retval #PUSH_SERVICE_ERROR_NOT_CONNECTED Connection to the daemon failed
* @retval #PUSH_SERVICE_ERROR_PERMISSION_DENIED No push privilege
* @retval #PUSH_SERVICE_ERROR_NOT_SUPPORTED Not supported feature
- * @see push_service_free_notificaiton()
+ * @see push_service_free_notification()
* @see app_control_get_operation()
*/
int push_service_app_control_to_notification(app_control_h app_control, char *operation, push_service_notification_h *noti);
* @post For successful result, the state callback should be invoked.
* @see push_deregister()
*/
-int push_register(push_connection_h connection, app_control_h app_control,
+int push_register(push_connection_h connection, app_control_h app_control,
push_result_cb result_callback, void *user_data);
/**
void *user_data);
/**
+ * @brief Registers an daemon dbus call information.
+ * @since_tizen @if TV 2.4 @endif
+ * @privlevel platform
+ * @param[in] connection The connection handle to the push service
+ * @param[in] result_callback Result callback function
+ * @param[in] dbus_bus_name The string of dbus bus name to be called
+ * @param[in] dbus_object_path The string of dbus object path name to be called
+ * @param[in] dbus_interface_name The string of dbus interface name to be called
+ * @param[in] dbus_method_name The string of dbus method name to be called
+ * @param[in] user_data The user data to pass to @a result_cb
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #PUSH_ERROR_NONE Successful
+ * @retval #PUSH_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PUSH_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #PUSH_ERROR_NOT_CONNECTED No connection to the push service
+ * @retval #PUSH_ERROR_OPERATION_FAILED Operation failed
+ * @pre The application should be registered to the push service.
+ * @post For successful result, you must clear dbus call infomaion with push_deregister_dbus_call_info
+ * before deregister your daemon service.
+ * @see push_deregister() and push_register_dbus_call_info
+ */
+int push_register_dbus_call_info(struct push_connection_s *conn, push_result_cb cb,
+ const char *dbus_bus_name, const char *dbus_object_path, const char *dbus_interface_name,
+ const char *dbus_method_name, void *user_data);
+
+/**
+ * @brief Deregisters an daemon dbus call information.
+ * @since_tizen @if TV 2.4 @endif
+ * @privlevel platform
+ * @param[in] connection The connection handle to the push service
+ * @param[in] result_callback Result callback function
+ * @param[in] user_data The user data to pass to @a result_cb
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #PUSH_ERROR_NONE Successful
+ * @retval #PUSH_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PUSH_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #PUSH_ERROR_NOT_CONNECTED No connection to the push service
+ * @retval #PUSH_ERROR_OPERATION_FAILED Operation failed
+ * @pre The application should be connected to the push service, and dbus call info was registerd.
+ * @post For successful result, no more push dbus call activated.
+ * @see push_register() and push_register_dbus_call_info
+ */
+int push_deregister_dbus_call_info(struct push_connection_s *conn, push_result_cb cb, void *user_data);
+
+/**
* @brief Gets the payload data in the notification.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @param[in] notification The notification handle
- * @param[out] received_time The received time of the notification message\n
- * The @a received_time is based on UTC.
+ * @param[out] timestamp The timestamp information that the application server
+ * optinally added to this notification when sending it.
+ * Typically, it is the number of milliseconds from a given
+ * standard time in the server.
* @return @c 0 on success,
* otherwise a negative error value
* @retval #PUSH_ERROR_NONE Successful
* @see push_notify_cb()
* @see push_request_unread_notification()
*/
-int push_get_notification_time(push_notification_h notification, long long int *received_time);
+int push_get_notification_time(push_notification_h notification, long long int *timestamp);
/**
* @brief Gets the sender of the notification.
/**
* @brief Retrieves the notification with the notification token
* @details When the push service forcibly launches the application to\n
- deliver a notification, a unique token for the notification\n
- is generated and delivered to the application as a bundle.\n
- Using this API with this token, the application can get\n
- the notification.
+ deliver a notification, a unique token for the notification\n
+ is generated and delivered to the application as a bundle.\n
+ Using this API with this token, the application can get\n
+ the notification.
* @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/push
* @retval #PUSH_SERVICE_ERROR_OUT_OF_MEMORY Out of memory
* @retval #PUSH_SERVICE_ERROR_NOT_CONNECTED Connection to the daemon failed
* @retval #PUSH_SERVICE_ERROR_PERMISSION_DENIED No push privilege
- * @see push_free_notificaiton()
+ * @see push_free_notification()
* @see app_control_get_operation()
*/
int push_get_notification_using_token(const char *noti_token, push_notification_h *noti);
Name: push
Summary: Push services and client library
-Version: 0.4.32
+Version: 0.4.33
Release: 1
Group: Application Framework/Service
License: Apache-2.0
mkdir -p %{buildroot}/usr/share/push/
mkdir -p %{buildroot}%{_bindir}
+
%ifarch %{arm}
+
%if "%{profile}" == "mobile"
#libpush
cp -a arm/lib/libpush.so.* %{buildroot}%{_libdir}
arm_tv/bin/pushlog_tool
%endif
%endif
+
+%if "%{profile}" == "wearable"
+#libpush
+cp -a arm_wearable/lib/libpush.so.* %{buildroot}%{_libdir}
+#libpus-devel
+cp -a arm_wearable/lib/libpush.so %{buildroot}%{_libdir}
+#push-bin
+cp -a arm_wearable/bin/pushd %{buildroot}%{_bindir}
+cp -a arm_wearable/bin/push_tool %{buildroot}%{_bindir}
+cp -a arm_wearable/share/push/*.cer %{buildroot}/usr/share/push/
+%if %{_support_weblog}
+ arm_wearable/bin/pushlog_tool
+%endif
+%endif
+
%endif
+
%ifarch aarch64
#libpush
cp -a aarch64/lib64/libpush.so.* %{buildroot}%{_libdir}
%endif
%endif
+
%ifarch %{ix86}
+
+%if "%{profile}" == "mobile"
#libpush
cp -a x86/lib/libpush.so.* %{buildroot}%{_libdir}
#libpus-devel
%endif
%endif
+%if "%{profile}" == "wearable"
+#libpush
+cp -a x86_wearable/lib/libpush.so.* %{buildroot}%{_libdir}
+#libpus-devel
+cp -a x86_wearable/lib/libpush.so %{buildroot}%{_libdir}
+#push-bin
+cp -a x86_wearable/bin/pushd %{buildroot}%{_bindir}
+cp -a x86_wearable/bin/push_tool %{buildroot}%{_bindir}
+cp -a x86_wearable/share/push/*.cer %{buildroot}/usr/share/push/
+%if %{_support_weblog}
+ x86_wearable/bin/pushlog_tool
+%endif
+%endif
+
+%endif
+
+
%ifarch x86_64
#libpush
cp -a x86_64/lib64/libpush.so.* %{buildroot}%{_libdir}
%endif
%endif
+
%post bin
#mkdir -p /usr/dbspace
#sqlite3 /usr/dbspace/.push.db "PRAGMA journal_mode = PERSIST; create table a(a); drop table a;" > /dev/null
--- /dev/null
+Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.\r
+\r
+Any software product designated as "Samsung Proprietary Software," including\r
+computer software and may include associated media, printed materials, and\r
+"online" or electronic documentation ("SOFTWARE PRODUCT") is a copyrighted and\r
+proprietary property of SAMSUNG ELECTRONICS CO., LTD (“Samsung”).\r
+\r
+The SOFTWARE PRODUCT must\r
+(i) be used for Samsung’s approved business purposes only,\r
+(ii) not be contaminated by open source codes,\r
+(iii) must not be used in any ways that will require it to be disclosed or\r
+ licensed freely to third parties or public,\r
+(vi) must not be subject to reverse engineering, decompling or diassembling.\r
+\r
+Samsung does not grant the recipient any intellectual property rights,\r
+indemnities or warranties and takes on no obligations regarding the SOFTWARE\r
+PRODUCT except as otherwise agreed to under a separate written agreement with\r
+the recipient.
\ No newline at end of file
--- /dev/null
+libpush.so.0
\ No newline at end of file
--- /dev/null
+libpush.so.0.2.12
\ No newline at end of file
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIDGDCCAoGgAwIBAgIJAPMld7YDENSnMA0GCSqGSIb3DQEBBQUAMIGkMQswCQYD
+VQQGEwJLUjEUMBIGA1UECAwLR3llb25nZ2kgZG8xDjAMBgNVBAcMBVN1d29uMSUw
+IwYDVQQKDBxTQU1TVU5HIEVMRUNUUk9OSUNTIENPLiwgTFREMR4wHAYDVQQDDBUq
+LnB1c2guc2Ftc3VuZ29zcC5jb20xKDAmBgkqhkiG9w0BCQEWGWFkbWluQHB1c2gu
+c2Ftc3VuZ29zcC5jb20wHhcNOTkxMjMxMTUwMjEwWhcNNDkxMjE4MTUwMjEwWjCB
+pDELMAkGA1UEBhMCS1IxFDASBgNVBAgMC0d5ZW9uZ2dpIGRvMQ4wDAYDVQQHDAVT
+dXdvbjElMCMGA1UECgwcU0FNU1VORyBFTEVDVFJPTklDUyBDTy4sIExURDEeMBwG
+A1UEAwwVKi5wdXNoLnNhbXN1bmdvc3AuY29tMSgwJgYJKoZIhvcNAQkBFhlhZG1p
+bkBwdXNoLnNhbXN1bmdvc3AuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
+gQDS/wx087bX6AA7bz/rPd/AOtm8g1ebRfENevGCnMrnU43PlryjjQjgKxwMO1R5
+Mdvv9IsSdoGIKj5h5VZlWbuiCx5pPqf62Owu3DjVLLuHWmlFkb7y6mKfshAcGCVq
+azjayWF9NpmOPnJDlFOZHTu+5X0+KEyx/W7kS6gcB5WIRwIDAQABo1AwTjAdBgNV
+HQ4EFgQUWMjZPBPgzaBussvwASa64F2DMFEwHwYDVR0jBBgwFoAUWMjZPBPgzaBu
+ssvwASa64F2DMFEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBpsXfr
+Fyd3rdKRzyBh/aJgY+XLZf5/TZYhtv2OLv5kMK0EkS0CEduPK5LeZwOhWgLIGpsl
+m8F2WNFttqP6fsAHExLTUlyqt4HT0CdzUtypjgsUPK5GBqEvz6+iQP+hZ4NKuxNB
+kci9Q85y89ANKtHvKxN1vu7gqArGFyIOJDVC8w==
+-----END CERTIFICATE-----