2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (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://www.apache.org/licenses/LICENSE-2.0
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.
19 #include <package-manager.h>
21 #include "package_manager.h"
22 #include "package_manager_internal.h"
24 API int package_manager_drm_generate_license_request(const char *resp_data,
25 char **req_data, char **license_url)
30 if (resp_data == NULL || req_data == NULL || license_url == NULL)
31 return package_manager_error(
32 PACKAGE_MANAGER_ERROR_INVALID_PARAMETER,
35 pc = pkgmgr_client_new(PC_REQUEST);
37 return package_manager_error(
38 PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY,
41 ret = pkgmgr_client_generate_license_request(pc, resp_data, req_data,
43 pkgmgr_client_free(pc);
45 ret = package_manager_convert_internal_error(ret);
46 return package_manager_error(ret, __FUNCTION__, NULL);
49 return PACKAGE_MANAGER_ERROR_NONE;
52 API int package_manager_drm_register_license(const char *resp_data)
57 if (resp_data == NULL)
58 return package_manager_error(
59 PACKAGE_MANAGER_ERROR_INVALID_PARAMETER,
63 pc = pkgmgr_client_new(PC_REQUEST);
65 return package_manager_error(
66 PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY,
69 ret = pkgmgr_client_register_license(pc, resp_data);
70 pkgmgr_client_free(pc);
72 ret = package_manager_convert_internal_error(ret);
73 return package_manager_error(ret, __FUNCTION__, NULL);
76 return PACKAGE_MANAGER_ERROR_NONE;
79 API int package_manager_drm_decrypt_package(const char *drm_file_path,
80 const char *decrypted_file_path)
85 if (drm_file_path == NULL || decrypted_file_path == NULL)
86 return package_manager_error(
87 PACKAGE_MANAGER_ERROR_INVALID_PARAMETER,
90 pc = pkgmgr_client_new(PC_REQUEST);
92 return package_manager_error(
93 PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY,
96 ret = pkgmgr_client_decrypt_package(pc, drm_file_path,
98 pkgmgr_client_free(pc);
100 ret = package_manager_convert_internal_error(ret);
101 return package_manager_error(ret, __FUNCTION__, NULL);
104 return PACKAGE_MANAGER_ERROR_NONE;