summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKibum Kim <kb0929.kim@samsung.com>2012-01-07 00:48:10 +0900
committerKibum Kim <kb0929.kim@samsung.com>2012-01-07 00:48:10 +0900
commit87d4884d38e94105cea0640175e8e70604a23638 (patch)
treebe8ef7505886dad612cb5b4636263160ff42a7d2 /include
parent06e2dff413544d0e1465e0cb4897fe32e4de2c22 (diff)
downloadlibmedia-thumbnail-87d4884d38e94105cea0640175e8e70604a23638.tar.gz
libmedia-thumbnail-87d4884d38e94105cea0640175e8e70604a23638.tar.bz2
libmedia-thumbnail-87d4884d38e94105cea0640175e8e70604a23638.zip
Git init
Diffstat (limited to 'include')
-rwxr-xr-xinclude/media-thumb-error.h62
-rwxr-xr-xinclude/media-thumb-types.h37
-rwxr-xr-xinclude/media-thumbnail-private.h77
-rwxr-xr-xinclude/media-thumbnail.h144
4 files changed, 320 insertions, 0 deletions
diff --git a/include/media-thumb-error.h b/include/media-thumb-error.h
new file mode 100755
index 0000000..36e79c8
--- /dev/null
+++ b/include/media-thumb-error.h
@@ -0,0 +1,62 @@
+/*
+ * 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_THUMB_ERROR_H_
+#define _MEDIA_THUMB_ERROR_H_
+
+/**
+ @addtogroup THUMB_GENERATE
+ @{
+ * @file media-thumb-error.h
+ * @brief This file defines error codes for thumbnail generation.
+
+ */
+
+/**
+ @defgroup THUMB_GENERAE_ERROR error code
+ @{
+
+ @par
+ error code
+ */
+
+
+#define MEDIA_THUMB_ERROR_NONE 0 /* No Error */
+#define MEDIA_THUMB_ERROR_INVALID_PARAMETER -1 /* invalid parameter(s) */
+#define MEDIA_THUMB_ERROR_TOO_BIG -2 /* Original is too big to make thumb */
+#define MEDIA_THUMB_ERROR_MM_UTIL -3 /* Error in mm-util lib */
+#define MEDIA_THUMB_ERROR_UNSUPPORTED -4 /* Unsupported type */
+#define MEDIA_THUMB_ERROR_NETWORK -5 /* Error in socket */
+#define MEDIA_THUMB_ERROR_DB -6 /* Timeout */
+#define MEDIA_THUMB_ERROR_TIMEOUT -7 /* Timeout */
+#define MEDIA_THUMB_ERROR_HASHCODE -8 /* Failed to generate hash code */
+
+/**
+ @}
+*/
+
+/**
+ @}
+*/
+
+#endif /*_MEDIA_THUMB_ERROR_H_*/
diff --git a/include/media-thumb-types.h b/include/media-thumb-types.h
new file mode 100755
index 0000000..c20e8ba
--- /dev/null
+++ b/include/media-thumb-types.h
@@ -0,0 +1,37 @@
+/*
+ * 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_THUMB_TYPES_H_
+#define _MEDIA_THUMB_TYPES_H_
+
+typedef enum {
+ MEDIA_THUMB_LARGE, /* 256x256 */
+ MEDIA_THUMB_SMALL, /* 96x96 */
+} media_thumb_type;
+
+typedef enum {
+ MEDIA_THUMB_BGRA, /* BGRA, especially provided for evas users */
+ MEDIA_THUMB_RGB888, /* RGB888 */
+} media_thumb_format;
+
+#endif /*_MEDIA_THUMB_TYPES_H_*/
diff --git a/include/media-thumbnail-private.h b/include/media-thumbnail-private.h
new file mode 100755
index 0000000..2fd7b35
--- /dev/null
+++ b/include/media-thumbnail-private.h
@@ -0,0 +1,77 @@
+/*
+ * 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_PRIVATE_H_
+#define _MEDIA_THUMBNAIL_PRIVATE_H_
+
+#include "media-thumb-error.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/**
+ * thumbnail_generate_hash_code :
+ * This function generates a hash code using its original path by md5 algorithm.
+ * If done, the code will be returned.
+ *
+ * @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 media
+ * @param[out] hash_code The hash code generated by md5 algorithm.
+ * @param[in] max_length The max length of the returned hash code.
+ * @see None.
+ * @pre None.
+ * @post None.
+ * @remark None.
+ * @par example
+ * @code
+
+#include <media-thumbnail.h>
+
+void gen_thumb_hash_code()
+{
+ int ret = MEDIA_THUMB_ERROR_NONE;
+ const char *origin_path = "/opt/media/test.jpg";
+ char hashcode[255];
+
+ ret = thumbnail_generate_hash_code(origin_path, hashcode, 255);
+
+ if (ret < 0) {
+ printf( "thumbnail_generate_hash_code fails. error code->%d", ret);
+ }
+
+ return;
+}
+
+ * @endcode
+ */
+int thumbnail_generate_hash_code(const char *origin_path, char *hash_code, int max_length);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*_MEDIA_THUMBNAIL_PRIVATE_H_*/
+
diff --git a/include/media-thumbnail.h b/include/media-thumbnail.h
new file mode 100755
index 0000000..ab68c4a
--- /dev/null
+++ b/include/media-thumbnail.h
@@ -0,0 +1,144 @@
+/*
+ * 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.
+ */
+
+
+/**
+ * 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/dbspace/.media.db".
+ * @par example
+ * @code
+
+#include <media-thumbnail.h>
+
+void gen_thumbs()
+{
+ int ret = MEDIA_THUMB_ERROR_NONE;
+ const char *origin_path = "/opt/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_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/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);
+
+
+
+
+
+/** @} */
+
+/**
+ @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*_MEDIA_THUMBNAIL_H_*/
+