--- /dev/null
+/*
+ * Copyright (c) 2013 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_WEB_BOOKMARK_PRODUCT_H__
+#define __TIZEN_WEB_BOOKMARK_PRODUCT_H__
+
+#ifndef EXPORT_API
+#define EXPORT_API __attribute__((visibility("default")))
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/**
+ * @file web_bookmark_product.h
+ */
+
+typedef struct {
+ bp_bookmark_info_fmt base_bookmark_info;
+ int is_private;
+ char *sync_extra;
+} bp_bookmark_ext_info_fmt;
+
+/**
+ * @internal
+ * @addtogroup CAPI_WEB_BOOKMARK_MODULE
+ * @{
+ */
+
+/**
+ * @brief Gets an id array and the number of rows of all items with deleted items from the storage.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @remarks Allocated memory (ids) has to be released by caller.
+ * @param[out] ids Id array
+ * @param[out] count The size of array
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ * @exception BP_BOOKMARK_ERROR_PERMISSION_DENY Permission denied by insufficient privilege
+ */
+EXPORT_API int bp_bookmark_adaptor_get_full_with_deleted_ids_p(int **ids, int *count);
+
+/**
+ * @brief Gets an id array and the number of rows of all modified items from the storage.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @remarks Allocated memory (ids) has to be released by caller.
+ * @param[out] ids Id array
+ * @param[out] count The size of array
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ * @exception BP_BOOKMARK_ERROR_PERMISSION_DENY Permission denied by insufficient privilege
+ */
+EXPORT_API int bp_bookmark_adaptor_get_dirty_ids_p(int **ids, int *count);
+
+/**
+ * @brief Gets an id array and the number of rows of all deleted items from the storage.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @remarks Allocated memory (ids) has to be released by caller.
+ * @param[out] ids Id array
+ * @param[out] count The size of array
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ * @exception BP_BOOKMARK_ERROR_PERMISSION_DENY Permission denied by insufficient privilege
+ */
+EXPORT_API int bp_bookmark_adaptor_get_deleted_ids_p(int **ids, int *count);
+
+/**
+ * @brief Commits all modified bookmarks.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @details Clears "is_dirty" property of each items.
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ * @exception BP_BOOKMARK_ERROR_PERMISSION_DENY Permission denied by insufficient privilege
+ */
+EXPORT_API int bp_bookmark_adaptor_clear_dirty_ids(void);
+
+/**
+ * @brief Deletes all bookmarks having set is_deleted property from the storage.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @details If cloud is on, "is_dirty" property is off by calling delete function \n
+ * if cloud is off, a bookmark is deleted really from storage whenever calling delete function.
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ * @exception BP_BOOKMARK_ERROR_PERMISSION_DENY Permission denied by insufficient privilege
+ */
+EXPORT_API int bp_bookmark_adaptor_clear_deleted_ids(void);
+
+/**
+ * @brief Gets an extra property for sync of an item with the given id.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @remarks Allocated string memory has to be released by caller.
+ * @param[in] id Id of an item
+ * @param[out] value String
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ * @exception BP_BOOKMARK_ERROR_PERMISSION_DENY Permission denied by insufficient privilege
+ * @see bp_bookmark_adaptor_set_sync()
+ */
+EXPORT_API int bp_bookmark_adaptor_get_sync(const int id, char **value);
+
+/**
+ * @brief Sets an extra property for sync of an item with the given id.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @param[in] id Id of an item
+ * @param[in] value String
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ * @exception BP_BOOKMARK_ERROR_PERMISSION_DENY Permission denied by insufficient privilege
+ * @see bp_bookmark_adaptor_get_sync()
+ */
+EXPORT_API int bp_bookmark_adaptor_set_sync(const int id, const char *value);
+
+/**
+ * @brief Gets an id array and the number of rows of whole bookmark items at once from the storage.
+ * @since_tizen 2.3
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @remarks Allocated memory (ids) have to be released by caller.
+ * @param[out] ids Id array
+ * @param[out] count The size of array
+ * @return 0 on success, otherwise, -1 is returned and error code is set to indicate the error
+ */
+EXPORT_API int bp_bookmark_adaptor_get_full_ids_p(int **ids, int *count);
+/**
+ * @brief Gets one or more properties indicated by the offset mask of the item with the given ID.
+ * @since_tizen 2.4
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/bookmark.admin
+ * @remarks The allocated memory of strings in the structure has to be released by the caller.
+ * @param[in] id The ID of the item
+ * @param[in] offset The value that indicates one or more properties by '|' bit masking
+ * @param[in] info The structure that includes all properties
+ * @return @c 0 on success,
+ * otherwise @c -1 is returned and the error code is set to indicate the error
+ * @pre First the structure has to be initialized to @c 0, then set the variables to change.
+ * @see #bp_bookmark_ext_info_fmt
+ * @see bp_bookmark_ext_adaptor_get_easy_all()
+ */
+EXPORT_API int bp_bookmark_ext_adaptor_get_info(const int id, const bp_bookmark_offset offset, bp_bookmark_ext_info_fmt *info);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TIZEN_WEB_BOOKMARK_PRODUCT_H__ */