Tizen Native API
|
The Media Filter API provides functions to manage media filters.
You can use above defines to set the condition of media filter and order keyword.
Required Header
#include <media_content.h>
Overview
A Media filter is required for filtering information associated with media Folder, Tag, Audio, Bookmark and Media Information on basis of details like offset, count, order and condition for searching.
Media Filter API provides functions for creating and destroying media filters.
It provide functions to set properties and also provide functions for getting filter properties associated with a given media filter.
Setting media filter properties helps to limit the number of filtered items as following:
- Offset - Used to set starting position of the filter's search
- Count - Used to set number of items to be searched from offset
- Condition - Used to set keyword which user want to search
- Order - Used to set type of media to be ordered by the filter
The Media Filter API provides functions for creating and destroying media filters.
It provide functions to set and get properties of the filter associated with a given media filter.
For creating a media filter (filter_h), call media_filter_create() function and call media_filter_destroy() function for destroying an existing filter.
For setting filter properties call the respective set functions e.g. to set offset position, call media_filter_set_offset() function and call media_filter_set_condition() function to set the condition like an sql "where" clause.
Searchable expression can use one of the following forms:
- column = value
- column > value
- column >= value
- column < value
- column <= value
- value = column
- * - value > column
- value >= column
- value < column
- value <= column
- column IN (value)
- column IN (value-list)
- column NOT IN (value)
- column NOT IN (value-list)
- column LIKE value
- expression1 AND expression2 OR expression3
Note that if you want to set qoutation(" ' " or " " ") as value of LIKE operator, you should use two times.(" '' " or " "" ") \n
And the optional ESCAPE clause is supported. Both percent symbol("%") and underscore symbol("_") are used in the LIKE pattern.
If these characters are used as value of LIKE operation, then the expression following the ESCAPE caluse of sqlite.
For example,
- column LIKE ('#') ESCAPE('#') - "#" is escape character, it will be ignored.
Similarly, call respective get function to get filter properties e.g. call media_filter_get_condition() function to get condition of the media filter and call media_filter_get_order() function to get order (media_content_order_e) of the filtered items and so on.
Functions | |
int | media_filter_create (filter_h *filter) |
Creates a media filter handle. | |
int | media_filter_destroy (filter_h filter) |
Destroys a media filter handle. | |
int | media_filter_set_offset (filter_h filter, int offset, int count) |
Sets the media filter offset and count. | |
int | media_filter_set_condition (filter_h filter, const char *condition, media_content_collation_e collate_type) |
Sets the condition for the given filter. | |
int | media_filter_set_order (filter_h filter, media_content_order_e order_type, const char *order_keyword, media_content_collation_e collate_type) |
Sets the media filter content order and order keyword i.e. either descending or ascending. | |
int | media_filter_get_offset (filter_h filter, int *offset, int *count) |
Gets the offset and count for the given filter used to limit the number of items returned. | |
int | media_filter_get_condition (filter_h filter, char **condition, media_content_collation_e *collate_type) |
Gets the condition for the given filter. | |
int | media_filter_get_order (filter_h filter, media_content_order_e *order_type, char **order_keyword, media_content_collation_e *collate_type) |
Gets the media filter's content order and order keyword i.e. either descending or ascending. | |
Typedefs | |
typedef struct filter_s * | filter_h |
The structure type for the Media filter handle. | |
Defines | |
#define | MEDIA_ID "MEDIA_ID" |
#define | MEDIA_PATH "MEDIA_PATH" |
#define | MEDIA_DISPLAY_NAME "MEDIA_DISPLAY_NAME" |
#define | MEDIA_TYPE "MEDIA_TYPE" |
#define | MEDIA_MIME_TYPE "MEDIA_MIME_TYPE" |
#define | MEDIA_SIZE "MEDIA_SIZE" |
#define | MEDIA_ADDED_TIME "MEDIA_ADDED_TIME" |
#define | MEDIA_MODIFIED_TIME "MEDIA_MODIFIED_TIME" |
#define | MEDIA_TIMELINE "MEDIA_TIMELINE" |
#define | MEDIA_THUMBNAIL_PATH "MEDIA_THUMBNAIL_PATH" |
#define | MEDIA_TITLE "MEDIA_TITLE" |
#define | MEDIA_ALBUM "MEDIA_ALBUM" |
#define | MEDIA_ARTIST "MEDIA_ARTIST" |
#define | MEDIA_ALBUM_ARTIST "MEDIA_ALBUM_ARTIST" |
#define | MEDIA_GENRE "MEDIA_GENRE" |
#define | MEDIA_COMPOSER "MEDIA_COMPOSER" |
#define | MEDIA_YEAR "MEDIA_YEAR" |
#define | MEDIA_RECORDED_DATE "MEDIA_RECORDED_DATE" |
#define | MEDIA_COPYRIGHT "MEDIA_COPYRIGHT" |
#define | MEDIA_TRACK_NUM "MEDIA_TRACK_NUM" |
#define | MEDIA_DESCRIPTION "MEDIA_DESCRIPTION" |
#define | MEDIA_BITRATE "MEDIA_BITRATE" |
#define | MEDIA_BITPERSAMPLE "MEDIA_BITPERSAMPLE" |
#define | MEDIA_SAMPLERATE "MEDIA_SAMPLERATE" |
#define | MEDIA_CHANNEL "MEDIA_CHANNEL" |
#define | MEDIA_DURATION "MEDIA_DURATION" |
#define | MEDIA_LONGITUDE "MEDIA_LONGITUDE" |
#define | MEDIA_LATITUDE "MEDIA_LATITUDE" |
#define | MEDIA_ALTITUDE "MEDIA_ALTITUDE" |
#define | MEDIA_WIDTH "MEDIA_WIDTH" |
#define | MEDIA_HEIGHT "MEDIA_HEIGHT" |
#define | MEDIA_DATETAKEN "MEDIA_DATETAKEN" |
#define | MEDIA_ORIENTATION "MEDIA_ORIENTATION" |
#define | MEDIA_BURST_ID "BURST_ID" |
#define | MEDIA_PLAYED_COUNT "MEDIA_PLAYED_COUNT" |
#define | MEDIA_LAST_PLAYED_TIME "MEDIA_LAST_PLAYED_TIME" |
#define | MEDIA_LAST_PLAYED_POSITION "MEDIA_LAST_PLAYED_POSITION" |
#define | MEDIA_RATING "MEDIA_RATING" |
#define | MEDIA_FAVOURITE "MEDIA_FAVOURITE" |
#define | MEDIA_AUTHOR "MEDIA_AUTHOR" |
#define | MEDIA_PROVIDER "MEDIA_PROVIDER" |
#define | MEDIA_CONTENT_NAME "MEDIA_CONTENT_NAME" |
#define | MEDIA_CATEGORY "MEDIA_CATEGORY" |
#define | MEDIA_LOCATION_TAG "MEDIA_LOCATION_TAG" |
#define | MEDIA_AGE_RATING "MEDIA_AGE_RATING" |
#define | MEDIA_KEYWORD "MEDIA_KEYWORD" |
#define | MEDIA_WEATHER "MEDIA_WEATHER" |
#define | MEDIA_IS_DRM "MEDIA_IS_DRM" |
#define | MEDIA_STORAGE_TYPE "MEDIA_STORAGE_TYPE" |
#define | MEDIA_FILE_NAME_PINYIN "MEDIA_FILE_NAME_PINYIN" |
#define | MEDIA_TITLE_PINYIN "MEDIA_TITLE_PINYIN" |
#define | MEDIA_ALBUM_PINYIN "MEDIA_ALBUM_PINYIN" |
#define | MEDIA_ARTIST_PINYIN "MEDIA_ARTIST_PINYIN" |
#define | MEDIA_ALBUM_ARTIST_PINYIN "MEDIA_ALBUM_ARTIST_PINYIN" |
#define | MEDIA_GENRE_PINYIN "MEDIA_GENRE_PINYIN" |
#define | MEDIA_COMPOSER_PINYIN "MEDIA_COMPOSER_PINYIN" |
#define | MEDIA_COPYRIGHT_PINYIN "MEDIA_COPYRIGHT_PINYIN" |
#define | MEDIA_DESCRIPTION_PINYIN "MEDIA_DESCRIPTION_PINYIN" |
#define | MEDIA_AUTHOR_PINYIN "MEDIA_AUTHOR_PINYIN" |
#define | MEDIA_PROVIDER_PINYIN "MEDIA_PROVIDER_PINYIN" |
#define | MEDIA_CONTENT_NAME_PINYIN "MEDIA_CONTENT_NAME_PINYIN" |
#define | MEDIA_CATEGORY_PINYIN "MEDIA_CATEGORY_PINYIN" |
#define | MEDIA_LOCATION_TAG_PINYIN "MEDIA_LOCATION_TAG_PINYIN" |
#define | MEDIA_AGE_RATING_PINYIN "MEDIA_AGE_RATING_PINYIN" |
#define | MEDIA_KEYWORD_PINYIN "MEDIA_KEYWORD_PINYIN" |
Define Documentation
#define MEDIA_ADDED_TIME "MEDIA_ADDED_TIME" |
Media added time
#define MEDIA_AGE_RATING "MEDIA_AGE_RATING" |
Media age rating
#define MEDIA_AGE_RATING_PINYIN "MEDIA_AGE_RATING_PINYIN" |
Media age rating pinyin
#define MEDIA_ALBUM "MEDIA_ALBUM" |
Media album name
#define MEDIA_ALBUM_ARTIST "MEDIA_ALBUM_ARTIST" |
Media album_artist
#define MEDIA_ALBUM_ARTIST_PINYIN "MEDIA_ALBUM_ARTIST_PINYIN" |
Media album_artist pinyin
#define MEDIA_ALBUM_PINYIN "MEDIA_ALBUM_PINYIN" |
Media album pinyin
#define MEDIA_ALTITUDE "MEDIA_ALTITUDE" |
Media altitude
#define MEDIA_ARTIST "MEDIA_ARTIST" |
Media artist
#define MEDIA_ARTIST_PINYIN "MEDIA_ARTIST_PINYIN" |
Media artist pinyin
#define MEDIA_AUTHOR "MEDIA_AUTHOR" |
Media authore
#define MEDIA_AUTHOR_PINYIN "MEDIA_AUTHOR_PINYIN" |
Media authore pinyin
#define MEDIA_BITPERSAMPLE "MEDIA_BITPERSAMPLE" |
Media bit per sample
#define MEDIA_BITRATE "MEDIA_BITRATE" |
Media bitrate
#define MEDIA_BURST_ID "BURST_ID" |
Media burst ID
#define MEDIA_CATEGORY "MEDIA_CATEGORY" |
Media category
#define MEDIA_CATEGORY_PINYIN "MEDIA_CATEGORY_PINYIN" |
Media category pinyin
#define MEDIA_CHANNEL "MEDIA_CHANNEL" |
Media channel
#define MEDIA_COMPOSER "MEDIA_COMPOSER" |
Media composer
#define MEDIA_COMPOSER_PINYIN "MEDIA_COMPOSER_PINYIN" |
Media composer pinyin
#define MEDIA_CONTENT_NAME "MEDIA_CONTENT_NAME" |
Media content name
#define MEDIA_CONTENT_NAME_PINYIN "MEDIA_CONTENT_NAME_PINYIN" |
Media content name pinyin
#define MEDIA_COPYRIGHT "MEDIA_COPYRIGHT" |
Media copyright
#define MEDIA_COPYRIGHT_PINYIN "MEDIA_COPYRIGHT_PINYIN" |
Media copyright pinyin
#define MEDIA_DATETAKEN "MEDIA_DATETAKEN" |
Media datetaken
#define MEDIA_DESCRIPTION "MEDIA_DESCRIPTION" |
Media description
#define MEDIA_DESCRIPTION_PINYIN "MEDIA_DESCRIPTION_PINYIN" |
Media description pinyin
#define MEDIA_DISPLAY_NAME "MEDIA_DISPLAY_NAME" |
Media base name
#define MEDIA_DURATION "MEDIA_DURATION" |
Media duration
#define MEDIA_FAVOURITE "MEDIA_FAVOURITE" |
0-not favourite, 1-favourite
#define MEDIA_FILE_NAME_PINYIN "MEDIA_FILE_NAME_PINYIN" |
Media file name pinyin
#define MEDIA_GENRE "MEDIA_GENRE" |
Media genre
#define MEDIA_GENRE_PINYIN "MEDIA_GENRE_PINYIN" |
Media genre pinyin
#define MEDIA_HEIGHT "MEDIA_HEIGHT" |
Media height
#define MEDIA_ID "MEDIA_ID" |
Media ID
#define MEDIA_IS_DRM "MEDIA_IS_DRM" |
Is DRM. 0-not drm, 1-drm
#define MEDIA_KEYWORD "MEDIA_KEYWORD" |
Media keyword
#define MEDIA_KEYWORD_PINYIN "MEDIA_KEYWORD_PINYIN" |
Media keyword pinyin
#define MEDIA_LAST_PLAYED_POSITION "MEDIA_LAST_PLAYED_POSITION" |
Media last played position of file
#define MEDIA_LAST_PLAYED_TIME "MEDIA_LAST_PLAYED_TIME" |
Media last played time
#define MEDIA_LATITUDE "MEDIA_LATITUDE" |
Media latitude
#define MEDIA_LOCATION_TAG "MEDIA_LOCATION_TAG" |
Media location tag
#define MEDIA_LOCATION_TAG_PINYIN "MEDIA_LOCATION_TAG_PINYIN" |
Media location tag pinyin
#define MEDIA_LONGITUDE "MEDIA_LONGITUDE" |
Media longitude
#define MEDIA_MIME_TYPE "MEDIA_MIME_TYPE" |
Media MIME type
#define MEDIA_MODIFIED_TIME "MEDIA_MODIFIED_TIME" |
Media modified time
#define MEDIA_ORIENTATION "MEDIA_ORIENTATION" |
Media orientation
#define MEDIA_PATH "MEDIA_PATH" |
Media full path
#define MEDIA_PLAYED_COUNT "MEDIA_PLAYED_COUNT" |
Media playedcount
#define MEDIA_PROVIDER "MEDIA_PROVIDER" |
Media provider
#define MEDIA_PROVIDER_PINYIN "MEDIA_PROVIDER_PINYIN" |
Media provider pinyin
#define MEDIA_RATING "MEDIA_RATING" |
Media rating
#define MEDIA_RECORDED_DATE "MEDIA_RECORDED_DATE" |
Media recorded date
#define MEDIA_SAMPLERATE "MEDIA_SAMPLERATE" |
Media sample rate
#define MEDIA_SIZE "MEDIA_SIZE" |
Media MIME size
#define MEDIA_STORAGE_TYPE "MEDIA_STORAGE_TYPE" |
Media storage. 0-internal storage, 1-external storage
#define MEDIA_THUMBNAIL_PATH "MEDIA_THUMBNAIL_PATH" |
Media thumbnail path
#define MEDIA_TIMELINE "MEDIA_TIMELINE" |
Media modified time
#define MEDIA_TITLE "MEDIA_TITLE" |
Media title get from tag or file name
#define MEDIA_TITLE_PINYIN "MEDIA_TITLE_PINYIN" |
Media title pinyin
#define MEDIA_TRACK_NUM "MEDIA_TRACK_NUM" |
Media track number
#define MEDIA_TYPE "MEDIA_TYPE" |
Media type: 0-image, 1-video, 2-sound, 3-music, 4-other
#define MEDIA_WEATHER "MEDIA_WEATHER" |
Media weather
#define MEDIA_WIDTH "MEDIA_WIDTH" |
Media width
#define MEDIA_YEAR "MEDIA_YEAR" |
Media year
Function Documentation
int media_filter_create | ( | filter_h * | filter | ) |
Creates a media filter handle.
This function creates a media filter handle. The handle can be used to get the filtered information based on filter properties i.e. offset, count, condition for searching and order.
- Since :
- 2.3.1
- Remarks:
- You must release the filter handle using media_info_filter_destroy().
- Parameters:
-
[out] filter A handle to the media filter
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_OUT_OF_MEMORY Out of memory MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
- See also:
- media_filter_destroy()
int media_filter_destroy | ( | filter_h | filter | ) |
Destroys a media filter handle.
The function frees all resources related to the media filter handle. The filter handle no longer can be used to perform any operation. A new filter handle has to be created before the next usage.
- Since :
- 2.3.1
- Parameters:
-
[in] filter The handle to the media filter
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
- See also:
- media_filter_create()
int media_filter_get_condition | ( | filter_h | filter, |
char ** | condition, | ||
media_content_collation_e * | collate_type | ||
) |
Gets the condition for the given filter.
- Since :
- 2.3.1
- Remarks:
- You must release condition using free().
- Parameters:
-
[in] filter The handle to the media info filter [out] condition The condition which is used WHERE clause on a query [out] collate_type The collate type for comparing two strings
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_OUT_OF_MEMORY Out of memory MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
int media_filter_get_offset | ( | filter_h | filter, |
int * | offset, | ||
int * | count | ||
) |
Gets the offset and count for the given filter used to limit the number of items returned.
- Since :
- 2.3.1
- Parameters:
-
[in] filter The handle to the media filter [out] offset The start position of the given filter (Starting from zero) [out] count The number of items to be searched with respect to the offset
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
int media_filter_get_order | ( | filter_h | filter, |
media_content_order_e * | order_type, | ||
char ** | order_keyword, | ||
media_content_collation_e * | collate_type | ||
) |
Gets the media filter's content order and order keyword i.e. either descending or ascending.
- Since :
- 2.3.1
- Remarks:
- You must release order_keyword using free().
- Parameters:
-
[in] filter The handle to the media filter [out] order_type The search order type [out] order_keyword The search order keyword [out] collate_type The collate type for comparing two strings
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
int media_filter_set_condition | ( | filter_h | filter, |
const char * | condition, | ||
media_content_collation_e | collate_type | ||
) |
Sets the condition for the given filter.
- Since :
- 2.3.1
- Parameters:
-
[in] filter The handle to the media filter [in] condition The condition which is used WHERE clause on a query [in] collate_type The collate type for comparing two strings
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_OUT_OF_MEMORY Out of memory MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
int media_filter_set_offset | ( | filter_h | filter, |
int | offset, | ||
int | count | ||
) |
Sets the media filter offset and count.
This function sets the offset and count for the given filter used to limit number of items returned. For example, if you set the offset as 10
and count as 5
, then only searched data from 10
to 14
will be returned when the filter is used with foreach functions.
- Since :
- 2.3.1
- Parameters:
-
[in] filter The handle to the media filter [in] offset The start position of the given filter (Starting from zero) [in] count The number of items to be searched with respect to the offset
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied
int media_filter_set_order | ( | filter_h | filter, |
media_content_order_e | order_type, | ||
const char * | order_keyword, | ||
media_content_collation_e | collate_type | ||
) |
Sets the media filter content order and order keyword i.e. either descending or ascending.
- Since :
- 2.3.1
- Parameters:
-
[in] filter The handle to the media filter [in] order_type The search order type [in] order_keyword The search order keyword [in] collate_type The collate type for comparing two strings
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
MEDIA_CONTENT_ERROR_NONE Successful MEDIA_CONTENT_ERROR_INVALID_PARAMETER Invalid parameter MEDIA_CONTENT_ERROR_PERMISSION_DENIED Permission denied