summaryrefslogtreecommitdiff
path: root/include/media-thumbnail.h
diff options
context:
space:
mode:
authorJinkun Jang <jinkun.jang@samsung.com>2013-03-13 01:49:53 +0900
committerJinkun Jang <jinkun.jang@samsung.com>2013-03-13 01:49:53 +0900
commitb8ccdef0306cf19cde9511ec244fd43b4ae1d863 (patch)
treeedfb6fbb5a168525e60cbcf918d84217bd667586 /include/media-thumbnail.h
parent06e2dff413544d0e1465e0cb4897fe32e4de2c22 (diff)
downloadlibmedia-thumbnail-b8ccdef0306cf19cde9511ec244fd43b4ae1d863.tar.gz
libmedia-thumbnail-b8ccdef0306cf19cde9511ec244fd43b4ae1d863.tar.bz2
libmedia-thumbnail-b8ccdef0306cf19cde9511ec244fd43b4ae1d863.zip
Tizen 2.1 base
Diffstat (limited to 'include/media-thumbnail.h')
-rwxr-xr-xinclude/media-thumbnail.h234
1 files changed, 234 insertions, 0 deletions
diff --git a/include/media-thumbnail.h b/include/media-thumbnail.h
new file mode 100755
index 0000000..5b38585
--- /dev/null
+++ b/include/media-thumbnail.h
@@ -0,0 +1,234 @@
+/*
+ * libmedia-thumbnail
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Hyunjun Ko <zzoon.ko@samsung.com>
+ *
+ * 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 _MEDIA_THUMBNAIL_H_
+#define _MEDIA_THUMBNAIL_H_
+
+#include "media-thumb-types.h"
+#include "media-thumb-error.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/**
+ @defgroup THUMB_GENERATE Thumbnail generator
+ @{
+ * @file media-thumbnail.h
+ * @brief This file defines API's for thumbnail generator.
+ * @version 1.0
+ */
+
+/**
+ @defgroup THUMB_API Thumbnail generator API
+ @{
+
+ @par
+ generates thumbnail data and return the path of the generated thumbnail file.
+ */
+
+
+/**
+ * Callback function, which is used to call thumbnail_request_from_db_async
+ */
+
+typedef int (*ThumbFunc) (int error_code, char* path, void* data);
+
+
+/**
+ * thumbnail_request_from_db:
+ * This function connects to the media database and find thumbnail path of the passed original image.
+ * If found, the thumbnail path will be returned, or starts to generate thumbnail
+ *
+ * @return This function returns zero(MEDIA_THUMB_ERROR_NONE) on success, or negative value with error code.
+ * Please refer 'media-thumb-error.h' to know the exact meaning of the error.
+ * @param[in] origin_path The path of the original image
+ * @param[out] thumb_path The path of generated thumbnail image.
+ * @param[in] max_length The max length of the returned thumbnail path.
+ * @see None.
+ * @pre None.
+ * @post None.
+ * @remark The database name is "/opt/usr/dbspace/.media.db".
+ * @par example
+ * @code
+
+#include <media-thumbnail.h>
+
+void gen_thumbs()
+{
+ int ret = MEDIA_THUMB_ERROR_NONE;
+ const char *origin_path = "/opt/usr/media/test.jpg";
+ char thumb_path[255];
+
+ ret = thumbnail_request_from_db(origin_path, thumb_path, 255);
+
+ if (ret < 0)
+ {
+ printf( "thumbnail_request_from_db fails. error code->%d", ret);
+ }
+
+ return;
+}
+
+ * @endcode
+ */
+int thumbnail_request_from_db(const char *origin_path, char *thumb_path, int max_length);
+
+/**
+ * thumbnail_request_from_db_async:
+ * This function connects to the media database and find thumbnail path of the passed original image.
+ * If found, the thumbnail path will be returned through callback, which is registered by user.
+ *
+ * @return This function returns zero(MEDIA_THUMB_ERROR_NONE) on success, or negative value with error code.
+ * Please refer 'media-thumb-error.h' to know the exact meaning of the error.
+ * @param[in] origin_path The path of the original image
+ * @param[in] func The callback, which is registered by user
+ * @param[in] user_data User data, which is used by user in callback
+ * @see None.
+ * @pre None.
+ * @post None.
+ * @remark The database name is "/opt/usr/dbspace/.media.db".
+ * @par example
+ * @code
+
+#include <media-thumbnail.h>
+
+int _thumb_cb(int error_code, char *path, void *user_data)
+{
+ printf("Error code : %d\n", error_code);
+ printf("Thumb path : %s\n", path);
+}
+
+void gen_thumbs()
+{
+ int ret = MEDIA_THUMB_ERROR_NONE;
+ const char *origin_path = "/opt/usr/media/test.jpg";
+ char thumb_path[255];
+
+ ret = thumbnail_request_from_db_async(origin_path, _thumb_cb, NULL);
+
+ if (ret < 0)
+ {
+ printf( "thumbnail_request_from_db_async fails. error code->%d", ret);
+ }
+
+ return;
+}
+
+ * @endcode
+ */
+int thumbnail_request_from_db_async(const char *origin_path, ThumbFunc func, void *user_data);
+
+/**
+ * thumbnail_request_save_to_file:
+ * This function generates thumbnail of the original path and save it to the file system as jpeg format with the passed thumbnail path.
+ * This function doesn't care about media DB.
+ *
+ * @return This function returns zero(MEDIA_THUMB_ERROR_NONE) on success, or negative value with error code.
+ * Please refer 'media-thumb-error.h' to know the exact meaning of the error.
+ * @param[in] origin_path The path of the original image
+ * @param[in] thumb_type The type of the returned thumbnail data.
+ * @param[in] thumb_path The path of generated thumbnail image.
+ * @see None.
+ * @pre None.
+ * @post None.
+ * @par example
+ * @code
+
+#include <media-thumbnail.h>
+
+void save_thumbs()
+{
+ int ret = MEDIA_THUMB_ERROR_NONE;
+ const char *origin_path = "/opt/usr/media/test.jpg";
+ const char *thumb_path = "/my_dir/thumb.jpg";
+
+ ret = thumbnail_request_save_to_file(origin_path, thumb_path);
+
+ if (ret < 0) {
+ printf( "thumbnail_request_save_to_file fails. error code->%d", ret);
+ }
+
+ return;
+}
+
+ * @endcode
+ */
+int thumbnail_request_save_to_file(const char *origin_path,
+ media_thumb_type thumb_type,
+ const char *thumb_path);
+
+
+/**
+ * thumbnail_request_extract_all_thumbs:
+ * This function generates thumbnail of all media, which don't have thumbnail yet and save it to the file system as jpeg format.
+ * Once thumbnail generated, the thumbnail path and original image's width and height will be updated to media database.
+ *
+ * @return This function returns zero(MEDIA_THUMB_ERROR_NONE) on success, or negative value with error code.
+ * Please refer 'media-thumb-error.h' to know the exact meaning of the error.
+ * @see None.
+ * @pre None.
+ * @post None.
+ * @par example
+ * @code
+
+#include <media-thumbnail.h>
+
+void extract_all_thumbs()
+{
+ int ret = MEDIA_THUMB_ERROR_NONE;
+
+ ret = thumbnail_request_extract_all_thumbs();
+
+ if (ret < 0) {
+ printf( "thumbnail_request_extract_all_thumbs fails. error code->%d", ret);
+ }
+
+ return;
+}
+
+ * @endcode
+ */
+
+int thumbnail_request_extract_all_thumbs(void);
+
+int thumbnail_request_from_db_with_size(const char *origin_path, char *thumb_path, int max_length, int *origin_width, int *origin_height);
+
+/* Cancel APIs that a request to extract thumbnail */
+int thumbnail_request_cancel_media(const char *origin_path);
+
+/* Cancel APIs that all requests to extract thumbnail of a process */
+int thumbnail_request_cancel_all();
+
+/** @} */
+
+/**
+ @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*_MEDIA_THUMBNAIL_H_*/
+