From: Michal Michalski Date: Fri, 10 May 2019 10:09:45 +0000 (+0200) Subject: [mediacontroller] Declare MediaControllerContentType enum. X-Git-Tag: submit/tizen/20190610.112040~3^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=770805127fada2714a0854412382b1698cd2aace;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [mediacontroller] Declare MediaControllerContentType enum. Extracted into separate commit from adding ContentType WebAPI because it is needed by Search API implementation as well. [Verification] Code compiles. Both ContentType API implementation and Search API implementation compile as well with this commit as a parent. Signed-off-by: Michal Michalski Change-Id: I1f140bb8dd608887b90a1d7b5a202c493e5fd3e4 --- diff --git a/src/mediacontroller/mediacontroller_api.js b/src/mediacontroller/mediacontroller_api.js index a7a95112..6350a90a 100755 --- a/src/mediacontroller/mediacontroller_api.js +++ b/src/mediacontroller/mediacontroller_api.js @@ -250,6 +250,14 @@ var MediaControllerContentAgeRating = { NINETEEN: "19" }; +var MediaControllerContentType = { + IMAGE: "IMAGE", + MUSIC: "MUSIC", + VIDEO: "VIDEO", + OTHER: "OTHER", + UNDECIDED: "UNDECIDED" +}; + function MediaControllerManager() {} MediaControllerManager.prototype.getClient = function() { diff --git a/src/mediacontroller/mediacontroller_utils.cc b/src/mediacontroller/mediacontroller_utils.cc index be6cb297..87766996 100644 --- a/src/mediacontroller/mediacontroller_utils.cc +++ b/src/mediacontroller/mediacontroller_utils.cc @@ -89,6 +89,14 @@ const common::PlatformEnum MediaControllerContentAgeRat {"18", MC_CONTENT_RATING_18_PLUS}, {"19", MC_CONTENT_RATING_19_PLUS} }; +const common::PlatformEnum MediaControllerContentTypeEnum { + {"IMAGE", MC_CONTENT_TYPE_IMAGE}, + {"MUSIC", MC_CONTENT_TYPE_MUSIC}, + {"VIDEO", MC_CONTENT_TYPE_VIDEO}, + {"OTHER", MC_CONTENT_TYPE_OTHER}, + {"UNDECIDED", MC_CONTENT_TYPE_UNDECIDED} +}; + PlatformResult ConvertPlaybackState(mc_playback_h playback_h, std::string* state) { ScopeLogger(); @@ -134,6 +142,24 @@ PlatformResult ConvertContentAgeRating(mc_playback_h playback_h, std::string* ra return PlatformResult(ErrorCode::NO_ERROR); } +PlatformResult ConvertContentType(mc_playback_h playback_h, std::string* contentType) { + ScopeLogger(); + mc_content_type_e content_type_e = MC_CONTENT_TYPE_UNDECIDED; + int ret = mc_client_get_playback_content_type(playback_h, &content_type_e); + if (ret != MEDIA_CONTROLLER_ERROR_NONE) { + return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error getting content type", + ("mc_client_get_playback_content_type() error: %d, message: %s", ret, get_error_message(ret))); + } + + PlatformResult result = MediaControllerContentTypeEnum.getName(content_type_e, contentType); + if (!result) { + LoggerE("MediaControllerContentTypeEnum.getName() failed, error: %s", result.message().c_str()); + return result; + } + + return PlatformResult(ErrorCode::NO_ERROR); +} + PlatformResult ConvertPlaybackPosition(mc_playback_h playback_h, double* position) { ScopeLogger(); diff --git a/src/mediacontroller/mediacontroller_utils.h b/src/mediacontroller/mediacontroller_utils.h index 7766dc81..0f26b448 100644 --- a/src/mediacontroller/mediacontroller_utils.h +++ b/src/mediacontroller/mediacontroller_utils.h @@ -31,13 +31,13 @@ namespace mediacontroller { typedef std::function JsonCallback; - namespace types { common::PlatformResult ConvertPlaybackState(mc_playback_h playback_h, std::string* state); common::PlatformResult ConvertContentAgeRating(mc_playback_h playback_h, std::string* state); common::PlatformResult ConvertPlaybackPosition(mc_playback_h playback_h, double* position); common::PlatformResult ConvertMetadata(mc_metadata_h metadata_h, picojson::object* metadata); +common::PlatformResult ConvertContentType(mc_playback_h playback_h, std::string* contentType); extern const common::PlatformEnum MediaControllerServerStateEnum; extern const common::PlatformEnum MediaControllerPlaybackStateEnum; @@ -45,6 +45,7 @@ extern const common::PlatformEnum MediaControllerPlaybackA extern const common::PlatformEnum MediaControllerMetadataAttributeEnum; extern const common::PlatformEnum MediaControllerRepeatModeEnum; extern const common::PlatformEnum MediaControllerContentAgeRatingEnum; +extern const common::PlatformEnum MediaControllerContentTypeEnum; } // namespace types