//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
_PlayListImpl::_PlayListImpl(void)
: Object()
, __pFilterHandle(NULL)
+ , __playListName(L"")
{
}
ret = media_content_disconnect();
r = MapCoreErrorToNativeResult(ret);
SysTryLog(r == E_SUCCESS, "[%s] Propagating for media_content_disconnect", GetErrorMessage(r));
+
+ SysLog(NID_CNT, "media_content_disconnect result[%d].", ret);
}
_PlayListImpl*
result r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, r == E_SUCCESS , r, "Propagating for media_content_connect");
+ SysLog(NID_CNT, "media_content_connect result[%d].", ret);
+
+ __playListName = playListName;
+
if (isAdd == true)
{
- std::unique_ptr<media_playlist_s, PlayListHandleDeleter> pPlaylistHandle;
-
std::unique_ptr<char[]> pInputCond(_StringConverter::CopyToCharArrayN(playListName));
- SysTryReturnResult(NID_CNT, (pInputCond.get())[0], E_OUT_OF_MEMORY, "The memory is insufficient.");
+ SysTryReturnResult(NID_CNT, pInputCond, E_OUT_OF_MEMORY, "The memory is insufficient.");
- media_playlist_h tempHandle = pPlaylistHandle.get();
+ media_playlist_h tempHandle = null;
ret = media_playlist_insert_to_db(pInputCond.get(), &tempHandle);
r = MapCoreErrorToNativeResult(ret);
+
+ std::unique_ptr<media_playlist_s, PlayListHandleDeleter> pPlaylistHandle(tempHandle);
+ SysTryReturnResult(NID_CNT, pPlaylistHandle != null, E_OUT_OF_MEMORY, "pPlaylistHandle is null.");
}
return r;
_PlayListImpl::CreateFilterUsingContentId(const ContentId& contentId) const
{
std::unique_ptr<char[]> pInputCond;
- std::unique_ptr<filter_h, FilterHandleDeleter> pFilterHandle(new (std::nothrow) filter_h);
+ filter_h tempFilter = NULL;
String uuidStr = L"";
+ String playListName = L"";
String inputCondition = L"MEDIA_ID = ";
+ String inputListNameCondition = L"PLAYLIST_NAME = ";
- int ret = media_filter_create(pFilterHandle.get());
+ int ret = media_filter_create(&tempFilter);
result r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, ret == MEDIA_CONTENT_ERROR_NONE, r, "Failed to perform media_filter_create operation.");
+ std::unique_ptr<filter_s, FilterHandleDeleter> pFilterHandle(tempFilter);
+ SysTryReturnResult(NID_CNT, pFilterHandle != null, E_OUT_OF_MEMORY, "pFilterHandle is null.");
+
uuidStr = contentId.ToString();
r = uuidStr.Insert('"', 0);
SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Insert operation for uuidStr.");
r = inputCondition.Append(uuidStr);
SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Append operation for inputCondition.");
+ playListName = __playListName;
+ r = playListName.Insert('"', 0);
+ SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Insert operation for playListName.");
+ r = playListName.Insert('"', playListName.GetLength());
+ SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Insert operation for playListName.");
+
+ r = inputListNameCondition.Append(playListName);
+ SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Append operation for inputListNameCondition.");
+
+ r = inputCondition.Append(" AND ");
+ SysTryReturnResult(NID_CNT, !IsFailed(r), r, "Failed to perform append operation.");
+
+ r = inputCondition.Append(inputListNameCondition);
+ SysTryReturnResult(NID_CNT, !IsFailed(r), r, "Failed to perform append operation.");
+
if (!inputCondition.IsEmpty())
{
//CopyToCharArrayN: utility function, converts a osp string to char*
pInputCond = std::unique_ptr<char[]>(_StringConverter::CopyToCharArrayN(inputCondition));
- SysTryReturnResult(NID_CNT, (pInputCond.get())[0], E_SYSTEM, "pInputCond is NULL.");
+ SysTryReturnResult(NID_CNT, pInputCond, E_SYSTEM, "pInputCond is NULL.");
SysLog(NID_CNT, "pInputCond = %s", pInputCond.get());
- if ((pInputCond.get())[0])
- {
- ret = media_filter_set_condition(*(pFilterHandle.get()), pInputCond.get(), MEDIA_CONTENT_COLLATE_DEFAULT);
- r = MapCoreErrorToNativeResult(ret);
- SysTryReturnResult(NID_CNT, ret == MEDIA_CONTENT_ERROR_NONE, r, "Failed to perform media_filter_set_condition operation.");
- }
+ ret = media_filter_set_condition(pFilterHandle.get(), pInputCond.get(), MEDIA_CONTENT_COLLATE_DEFAULT);
+ r = MapCoreErrorToNativeResult(ret);
+ SysTryReturnResult(NID_CNT, ret == MEDIA_CONTENT_ERROR_NONE, r, "Failed to perform media_filter_set_condition operation.");
}
__pFilterHandle.reset(pFilterHandle.release());
std::unique_ptr<char[]> pInputCond;
String inputCondition = L"PLAYLIST_NAME = ";
String nameExpr(playListName);
+ filter_h tempFilter = NULL;
- std::unique_ptr<filter_h, FilterHandleDeleter> pFilterHandle(new (std::nothrow) filter_h);
-
- int ret = media_filter_create(pFilterHandle.get());
+ int ret = media_filter_create(&tempFilter);
result r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, ret == MEDIA_CONTENT_ERROR_NONE, r, "Failed to perform media_filter_create operation.");
+ std::unique_ptr<filter_s, FilterHandleDeleter> pFilterHandle(tempFilter);
+ SysTryReturnResult(NID_CNT, pFilterHandle != null, E_OUT_OF_MEMORY, "pFilterHandle is null.");
+
if (!nameExpr.IsEmpty())
{
- r = nameExpr.Insert('"', 0);
+ r = nameExpr.Replace("\'", "''");
+ SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Replace operation for nameExpr.");
+
+ r = nameExpr.Insert('\'', 0);
SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Insert operation for nameExpr.");
- r = nameExpr.Insert('"', nameExpr.GetLength());
+
+ r = nameExpr.Insert('\'', nameExpr.GetLength());
SysTryReturnResult(NID_CNT, r == E_SUCCESS, r, "Failed to perform Insert operation for nameExpr.");
r = inputCondition.Append(nameExpr);
{
//CopyToCharArrayN: utility function, converts a osp string to char*
pInputCond = std::unique_ptr<char[]>(_StringConverter::CopyToCharArrayN(inputCondition));
- SysTryReturnResult(NID_CNT, (pInputCond.get())[0], E_SYSTEM, "pInputCond is NULL.");
+ SysTryReturnResult(NID_CNT, pInputCond, E_SYSTEM, "pInputCond is NULL.");
SysLog(NID_CNT, "pInputCond is [%s]", pInputCond.get());
- if ((pInputCond.get())[0])
- {
- ret = media_filter_set_condition(*(pFilterHandle.get()), pInputCond.get(), MEDIA_CONTENT_COLLATE_DEFAULT);
- r = MapCoreErrorToNativeResult(ret);
- SysTryReturnResult(NID_CNT, ret == MEDIA_CONTENT_ERROR_NONE, r, "Failed to perform media_filter_set_condition operation.");
- }
+ ret = media_filter_set_condition(pFilterHandle.get(), pInputCond.get(), MEDIA_CONTENT_COLLATE_DEFAULT);
+ r = MapCoreErrorToNativeResult(ret);
+ SysTryReturnResult(NID_CNT, ret == MEDIA_CONTENT_ERROR_NONE, r, "Failed to perform media_filter_set_condition operation.");
}
__pFilterHandle.reset(pFilterHandle.release());
SysTryReturn(NID_CNT, r == E_SUCCESS, 0, E_DATABASE, "[E_DATABASE] Failed to perform CreateFilter operation.");
pTemp = pItemList.get();
- ret = media_playlist_foreach_playlist_from_db(*(__pFilterHandle.get()), MediaPlayListImplCb, &pTemp);
+ ret = media_playlist_foreach_playlist_from_db(__pFilterHandle.get(), MediaPlayListImplCb, &pTemp);
r = MapCoreDatabaseErrorToNativeResult(ret);
SysTryReturn(NID_CNT, r == E_SUCCESS , 0, r,
"[%s] Failed to perform media_playlist_foreach_playlist_from_db operation.", GetErrorMessage(r));
SysTryReturn(NID_CNT, r == E_SUCCESS, NULL, E_DATABASE, "[E_DATABASE] Failed to perform CreateFilter operation.");
pTemp = pItemList.get();
- ret = media_playlist_foreach_playlist_from_db(*(__pFilterHandle.get()), MediaPlayListImplCb, &pTemp);
+ ret = media_playlist_foreach_playlist_from_db(__pFilterHandle.get(), MediaPlayListImplCb, &pTemp);
r = MapCoreDatabaseErrorToNativeResult(ret);
SysTryReturn(NID_CNT, r == E_SUCCESS , NULL, r,
"[%s] Failed to perform media_playlist_foreach_playlist_from_db operation.", GetErrorMessage(r));
uuidStr = contentId.ToString();
std::unique_ptr<char[]> pInputCond(_StringConverter::CopyToCharArrayN(uuidStr));
- SysTryReturnResult(NID_CNT, r == E_SUCCESS, E_SYSTEM, "Failed to perform CopyToCharArrayN operation.");
+ SysTryReturnResult(NID_CNT, pInputCond, E_OUT_OF_MEMORY, "The memory is insufficient.");
ret = media_playlist_add_media(playListHandle, pInputCond.get());
r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, !IsFailed(r), r, "Failed to perform media_playlist_get_playlist_id operation.");
pTemp = pItemList.get();
- int ret = media_playlist_foreach_media_from_db(playlistId, *(__pFilterHandle.get()), PlaylistImplItemCb, &pTemp);
+ int ret = media_playlist_foreach_media_from_db(playlistId, __pFilterHandle.get(), PlaylistImplItemCb, &pTemp);
result r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, r == E_SUCCESS , r, "Failed to perform media_playlist_foreach_media_from_db operation.");
}
result
-_PlayListImpl::SetPlalyListName(const Tizen::Base::String& oldName, const Tizen::Base::String& newName)
+_PlayListImpl::SetPlayListName(const Tizen::Base::String& oldName, const Tizen::Base::String& newName)
{
std::unique_ptr<media_playlist_s, PlayListHandleDeleter> pPlayListHandle;
media_playlist_h tempHandle = NULL;
SysTryReturnResult(NID_CNT, r == E_SUCCESS, E_DATABASE, "Failed to perform GetPlayListHandle operation.");
std::unique_ptr<char[]> pInputCond(_StringConverter::CopyToCharArrayN(newName));
- SysTryReturnResult(NID_CNT, r == E_SUCCESS, E_OUT_OF_MEMORY, "Failed to perform CopyToCharArrayN operation.");
+ SysTryReturnResult(NID_CNT, pInputCond, E_OUT_OF_MEMORY, "The memory is insufficient.");
ret = media_playlist_set_name(tempHandle, pInputCond.get());
r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, !IsFailed(r), r, "Failed to perform media_playlist_get_playlist_id operation.");
pTemp = pItemList.get();
- int ret = media_playlist_foreach_media_from_db(playlistId, *(__pFilterHandle.get()), PlaylistImplItemCb, &pTemp);
+ int ret = media_playlist_foreach_media_from_db(playlistId, __pFilterHandle.get(), PlaylistImplItemCb, &pTemp);
result r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, r == E_SUCCESS , r, "media_playlist_foreach_media_from_db failed.");
GList* pTemp = NULL;
pTemp = pItemList.get();
- int ret = media_playlist_foreach_playlist_from_db(*(__pFilterHandle.get()), MediaPlayListImplCb, &pTemp);
+ int ret = media_playlist_foreach_playlist_from_db(__pFilterHandle.get(), MediaPlayListImplCb, &pTemp);
result r = MapCoreErrorToNativeResult(ret);
SysTryReturnResult(NID_CNT, r == E_SUCCESS , r, "Failed to perform media_playlist_foreach_playlist_from_db operation.");
}
else
{
- *pPlayListHandle = (media_playlist_h)g_list_nth_data(pTemp, 0);
+ *pPlayListHandle = static_cast< media_playlist_h >(g_list_nth_data(pTemp, 0));
}
return r;