2 * Copyright (c) 2000-2015 Samsung Electronics Co., Ltd.
4 * Licensed under the Flora License, Version 1.1 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include "DrmFileMgr.h"
18 #include "TADC_ErrorCode.h"
19 #include "drm_intf_tapps.h"
22 int DrmTdcFileOpen(const char *filePath, int *handle)
24 int nRet = TADC_SUCCESS;
27 DrmFileMgr *pDrmFileMgr = NULL;
29 if (filePath == NULL || strlen(filePath) < 1) {
30 DRM_TAPPS_EXCEPTION("Parameter error!");
31 return TADC_PARAMETER_ERROR;
34 pDrmFileMgr = DrmFileMgr::GetInstance();
36 if (pDrmFileMgr == NULL) {
37 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetInstance() error!");
38 return TADC_GET_FILE_HANDLER_ERROR;
41 nRet = pDrmFileMgr->OpenFileHandler(filePath, &key);
43 if (nRet != TADC_SUCCESS) {
44 DRM_TAPPS_EXCEPTION("DrmFileMgr::OpenFileHandler() error!");
54 int DrmTdcFileClose(int *handle)
56 int nRet = TADC_SUCCESS;
59 DrmFileMgr *pDrmFileMgr = DrmFileMgr::GetInstance();
61 if (pDrmFileMgr == NULL) {
62 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetInstance() error!");
63 return TADC_GET_FILE_HANDLER_ERROR;
66 nRet = pDrmFileMgr->CloseFileHandler(key);
68 if (nRet != TADC_SUCCESS) {
69 DRM_TAPPS_EXCEPTION("DrmFileMgr::OpenFileHandler() error!");
77 int DrmTdcFileRead(int *handle, void *pBuf, long long bufLen,
80 int nRet = TADC_SUCCESS;
83 DrmFileMgr *pDrmFileMgr = NULL;
84 DrmFileHandler *pDrmFileHandler = NULL;
86 pDrmFileMgr = DrmFileMgr::GetInstance();
88 if (pDrmFileMgr == NULL) {
89 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetInstance() error!");
90 return TADC_GET_FILE_HANDLER_ERROR;
93 nRet = pDrmFileMgr->GetFileHandler(key, &pDrmFileHandler);
95 if (nRet != TADC_SUCCESS) {
96 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetFileHandler() error!");
100 nRet = pDrmFileHandler->DrmRead(pBuf, bufLen, pReadLen);
102 if (nRet != TADC_SUCCESS) {
103 DRM_TAPPS_EXCEPTION("DrmFileMgr::DrmRead() error!");
111 int DrmTdcFileTell(int *handle, long long *position)
113 int nRet = TADC_SUCCESS;
115 long long offset = 0;
117 DrmFileMgr *pDrmFileMgr = NULL;
118 DrmFileHandler *pDrmFileHandler = NULL;
120 pDrmFileMgr = DrmFileMgr::GetInstance();
122 if (pDrmFileMgr == NULL) {
123 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetInstance() error!");
124 return TADC_GET_FILE_HANDLER_ERROR;
127 nRet = pDrmFileMgr->GetFileHandler(key, &pDrmFileHandler);
129 if (nRet != TADC_SUCCESS) {
130 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetFileHandler() error!");
134 offset = pDrmFileHandler->DrmTell();
142 int DrmTdcFileSeek(int *handle, long long offset, int origin)
144 int nRet = TADC_SUCCESS;
147 DrmFileMgr *pDrmFileMgr = NULL;
148 DrmFileHandler *pDrmFileHandler = NULL;
150 pDrmFileMgr = DrmFileMgr::GetInstance();
152 if (pDrmFileMgr == NULL) {
153 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetInstance() error!");
154 return TADC_GET_FILE_HANDLER_ERROR;
157 nRet = pDrmFileMgr->GetFileHandler(key, &pDrmFileHandler);
159 if (nRet != TADC_SUCCESS) {
160 DRM_TAPPS_EXCEPTION("DrmFileMgr::GetFileHandler() error!");
164 nRet = pDrmFileHandler->DrmSeek(offset, origin);
166 if (nRet != TADC_SUCCESS) {
167 DRM_TAPPS_EXCEPTION("DrmFileHandler::DrmSeek() error!");