4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
28 #include "ail_private.h"
29 #include "ail_convert.h"
32 struct _ail_str_map_t {
37 static struct _ail_str_map_t str_prop_map[] = {
38 {E_AIL_PROP_PACKAGE_STR, AIL_PROP_PACKAGE_STR},
39 {E_AIL_PROP_EXEC_STR, AIL_PROP_EXEC_STR},
40 {E_AIL_PROP_NAME_STR, AIL_PROP_NAME_STR},
41 {E_AIL_PROP_TYPE_STR, AIL_PROP_TYPE_STR},
42 {E_AIL_PROP_ICON_STR, AIL_PROP_ICON_STR},
43 {E_AIL_PROP_CATEGORIES_STR, AIL_PROP_CATEGORIES_STR},
44 {E_AIL_PROP_VERSION_STR, AIL_PROP_VERSION_STR},
45 {E_AIL_PROP_MIMETYPE_STR, AIL_PROP_MIMETYPE_STR},
46 {E_AIL_PROP_X_SLP_SERVICE_STR, AIL_PROP_X_SLP_SERVICE_STR},
47 {E_AIL_PROP_X_SLP_PACKAGETYPE_STR, AIL_PROP_X_SLP_PACKAGETYPE_STR},
48 {E_AIL_PROP_X_SLP_PACKAGECATEGORIES_STR, AIL_PROP_X_SLP_PACKAGECATEGORIES_STR},
49 {E_AIL_PROP_X_SLP_PACKAGEID_STR, AIL_PROP_X_SLP_PACKAGEID_STR},
50 /* {E_AIL_PROP_X_SLP_URI_STR, AIL_PROP_X_SLP_URI_STR}, */
51 {E_AIL_PROP_X_SLP_SVC_STR, AIL_PROP_X_SLP_SVC_STR},
52 {E_AIL_PROP_X_SLP_EXE_PATH, AIL_PROP_X_SLP_EXE_PATH},
53 {E_AIL_PROP_X_SLP_APPID_STR, AIL_PROP_X_SLP_APPID_STR},
54 {E_AIL_PROP_X_SLP_PKGID_STR, AIL_PROP_X_SLP_PKGID_STR},
55 {E_AIL_PROP_X_SLP_DOMAIN_STR, AIL_PROP_X_SLP_DOMAIN_STR},
56 {E_AIL_PROP_X_SLP_SUBMODEMAINID_STR, AIL_PROP_X_SLP_SUBMODEMAINID_STR},
57 {E_AIL_PROP_X_SLP_INSTALLEDSTORAGE_STR, AIL_PROP_X_SLP_INSTALLEDSTORAGE_STR}
61 struct _ail_int_map_t {
66 static struct _ail_int_map_t int_prop_map[] = {
67 {E_AIL_PROP_X_SLP_TEMP_INT, AIL_PROP_X_SLP_TEMP_INT},
68 {E_AIL_PROP_X_SLP_INSTALLEDTIME_INT, AIL_PROP_X_SLP_INSTALLEDTIME_INT}
72 struct _ail_bool_map_t {
77 static struct _ail_bool_map_t bool_prop_map[] = {
78 {E_AIL_PROP_NODISPLAY_BOOL, AIL_PROP_NODISPLAY_BOOL},
79 {E_AIL_PROP_X_SLP_TASKMANAGE_BOOL, AIL_PROP_X_SLP_TASKMANAGE_BOOL},
80 {E_AIL_PROP_X_SLP_MULTIPLE_BOOL, AIL_PROP_X_SLP_MULTIPLE_BOOL},
81 {E_AIL_PROP_X_SLP_REMOVABLE_BOOL, AIL_PROP_X_SLP_REMOVABLE_BOOL},
82 /* {E_AIL_PROP_X_SLP_ISHORIZONTALSCALE_BOOL, AIL_PROP_X_SLP_ISHORIZONTALSCALE_BOOL}, */
83 {E_AIL_PROP_X_SLP_ENABLED_BOOL, AIL_PROP_X_SLP_ENABLED_BOOL},
84 {E_AIL_PROP_X_SLP_SUBMODE_BOOL, AIL_PROP_X_SLP_SUBMODE_BOOL}
88 inline ail_prop_str_e _ail_convert_to_prop_str(const char *property)
91 ail_prop_str_e prop = -1;
93 retv_if(!property, AIL_ERROR_INVALID_PARAMETER);
95 for (i=0 ; i<(E_AIL_PROP_STR_MAX - E_AIL_PROP_STR_MIN + 1) ; i++) {
96 if (strcmp(property, str_prop_map[i].property) == 0) {
97 prop = str_prop_map[i].prop;
105 inline ail_prop_int_e _ail_convert_to_prop_int(const char *property)
108 ail_prop_int_e prop = -1;
110 retv_if(!property, AIL_ERROR_INVALID_PARAMETER);
112 for (i=0 ; i<(E_AIL_PROP_INT_MAX - E_AIL_PROP_INT_MIN + 1) ; i++) {
113 if (strcmp(property, int_prop_map[i].property) == 0) {
114 prop = int_prop_map[i].prop;
122 inline ail_prop_bool_e _ail_convert_to_prop_bool(const char *property)
125 ail_prop_bool_e prop = -1;
127 retv_if(!property, AIL_ERROR_INVALID_PARAMETER);
129 for (i=0 ; i<(E_AIL_PROP_BOOL_MAX - E_AIL_PROP_BOOL_MIN + 1) ; i++) {
130 if (strcmp(property, bool_prop_map[i].property) == 0) {
131 prop = bool_prop_map[i].prop;