" <interface name='org.tizen.pkgmgr'>"
" <method name='install'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='s' name='pkgpath' direction='in'/>"
" <arg type='as' name='args' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" </method>"
" <method name='reinstall'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='s' name='pkgid' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" <arg type='s' name='reqkey' direction='out'/>"
" </method>"
" <method name='mount_install'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='s' name='pkgpath' direction='in'/>"
" <arg type='as' name='args' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" </method>"
" <method name='uninstall'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='s' name='pkgid' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" <arg type='s' name='reqkey' direction='out'/>"
" </method>"
" <method name='move'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='s' name='pkgid' direction='in'/>"
" <arg type='i' name='movetype' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" </method>"
" <method name='enable_pkgs'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='as' name='pkgids' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" <arg type='s' name='reqkey' direction='out'/>"
" </method>"
" <method name='disable_pkgs'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='as' name='pkgids' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" <arg type='s' name='reqkey' direction='out'/>"
" </method>"
" <method name='cleardata'>"
" <arg type='u' name='uid' direction='in'/>"
- " <arg type='s' name='pkgtype' direction='in'/>"
" <arg type='s' name='pkgid' direction='in'/>"
" <arg type='i' name='ret' direction='out'/>"
" </method>"
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ const char *pkgtype;
char *pkgpath = NULL;
char *args = NULL;
char *reqkey = NULL;
int i = 0;
int len = 0;
- g_variant_get(parameters, "(u&s&s@as)", &target_uid, &pkgtype, &pkgpath,
- &value);
+ g_variant_get(parameters, "(u&s@as)", &target_uid, &pkgpath, &value);
tmp_args = (gchar **)g_variant_get_strv(value, &args_count);
for (i = 0; i < args_count; i++)
strncat(args, " ", strlen(" "));
}
- if (target_uid == (uid_t)-1 || pkgtype == NULL) {
+ if (target_uid == (uid_t)-1 || pkgpath == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
ret = -1;
goto catch;
}
- if (pkgpath == NULL) {
+ pkgtype = _get_pkgtype_from_file(pkgpath);
+ if (pkgtype == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
ret = -1;
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ const char *pkgtype;
char *pkgpath = NULL;
char *args = NULL;
char *reqkey = NULL;
int i = 0;
int len = 0;
- g_variant_get(parameters, "(u&s&s@as)", &target_uid, &pkgtype, &pkgpath,
- &value);
+ g_variant_get(parameters, "(u&s@as)", &target_uid, &pkgpath, &value);
tmp_args = (gchar **)g_variant_get_strv(value, &args_count);
for (i = 0; i < args_count; i++)
strncat(args, " ", strlen(" "));
}
- if (target_uid == (uid_t)-1 || pkgtype == NULL) {
+ if (target_uid == (uid_t)-1 || pkgpath == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
ret = -1;
goto catch;
}
- if (pkgpath == NULL) {
+ pkgtype = _get_pkgtype_from_file(pkgpath);
+ if (pkgtype == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
ret = -1;
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ char *pkgtype;
char *pkgid = NULL;
char *reqkey;
- g_variant_get(parameters, "(u&s&s)", &target_uid, &pkgtype, &pkgid);
- if (target_uid == (uid_t)-1 || pkgtype == NULL || pkgid == NULL) {
+ g_variant_get(parameters, "(u&s)", &target_uid, &pkgid);
+ if (target_uid == (uid_t)-1 || pkgid == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
return -1;
}
+ pkgtype = _get_pkgtype_from_pkgid(pkgid, target_uid);
+ if (pkgtype == NULL) {
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
+ return -1;
+ }
+
reqkey = __generate_reqkey(pkgid);
if (reqkey == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
+ free(pkgtype);
return -1;
}
if (_push_queue(target_uid, reqkey, REQUEST_TYPE_REINSTALL, pkgtype,
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
free(reqkey);
+ free(pkgtype);
return -1;
}
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_OK, reqkey));
free(reqkey);
+ free(pkgtype);
return 0;
}
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ char *pkgtype;
char *pkgid = NULL;
char *reqkey;
- g_variant_get(parameters, "(u&s&s)", &target_uid, &pkgtype, &pkgid);
- if (target_uid == (uid_t)-1 || pkgtype == NULL || pkgid == NULL) {
+ g_variant_get(parameters, "(u&s)", &target_uid, &pkgid);
+ if (target_uid == (uid_t)-1 || pkgid == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
return -1;
}
+ pkgtype = _get_pkgtype_from_pkgid(pkgid, target_uid);
+ if (pkgtype == NULL) {
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
+ return -1;
+ }
+
reqkey = __generate_reqkey(pkgid);
if (reqkey == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
+ free(pkgtype);
return -1;
}
if (_push_queue(target_uid, reqkey, REQUEST_TYPE_UNINSTALL, pkgtype,
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
free(reqkey);
+ free(pkgtype);
return -1;
}
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_OK, reqkey));
free(reqkey);
+ free(pkgtype);
return 0;
}
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ char *pkgtype;
char *pkgid = NULL;
char *reqkey;
int move_type = -1;
char buf[4] = { '\0' };
- g_variant_get(parameters, "(u&s&si)", &target_uid, &pkgtype, &pkgid,
- &move_type);
- if (target_uid == (uid_t)-1 || pkgtype == NULL || pkgid == NULL) {
+ g_variant_get(parameters, "(u&si)", &target_uid, &pkgid, &move_type);
+ if (target_uid == (uid_t)-1 || pkgid == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
return -1;
}
+ pkgtype = _get_pkgtype_from_pkgid(pkgid, target_uid);
+ if (pkgtype == NULL) {
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
+ return -1;
+ }
+
reqkey = __generate_reqkey(pkgid);
if (reqkey == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ENOMEM, ""));
+ free(pkgtype);
return -1;
}
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
free(reqkey);
+ free(pkgtype);
return -1;
}
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_OK, reqkey));
free(reqkey);
+ free(pkgtype);
return 0;
}
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ char *pkgtype;
char *pkgid;
char *reqkey;
GVariantIter *iter;
- g_variant_get(parameters, "(u&sas)", &target_uid, &pkgtype, &iter);
- if (target_uid == (uid_t)-1 || pkgtype == NULL || iter == NULL) {
+ g_variant_get(parameters, "(uas)", &target_uid, &iter);
+ if (target_uid == (uid_t)-1 || iter == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
return -1;
}
while (g_variant_iter_next(iter, "&s", &pkgid)) {
+ pkgtype = _get_pkgtype_from_pkgid(pkgid, target_uid);
+ if (pkgtype == NULL) {
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(is)",
+ PKGMGR_R_ESYSTEM, ""));
+ free(reqkey);
+ return -1;
+ }
if (_push_queue(target_uid, reqkey, REQUEST_TYPE_ENABLE_PKG,
pkgtype, pkgid, NULL)) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)",
PKGMGR_R_ESYSTEM, ""));
+ free(pkgtype);
free(reqkey);
return -1;
}
+ free(pkgtype);
}
g_dbus_method_invocation_return_value(invocation,
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ char *pkgtype;
char *pkgid;
char *reqkey;
GVariantIter *iter;
- g_variant_get(parameters, "(u&sas)", &target_uid, &pkgtype, &iter);
- if (target_uid == (uid_t)-1 || pkgtype == NULL || iter == NULL) {
+ g_variant_get(parameters, "(uas)", &target_uid, &iter);
+ if (target_uid == (uid_t)-1 || iter == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)", PKGMGR_R_ECOMM, ""));
return -1;
}
while (g_variant_iter_next(iter, "&s", &pkgid)) {
+ pkgtype = _get_pkgtype_from_pkgid(pkgid, target_uid);
+ if (pkgtype == NULL) {
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(is)",
+ PKGMGR_R_ESYSTEM, ""));
+ free(reqkey);
+ return -1;
+ }
if (_push_queue(target_uid, reqkey, REQUEST_TYPE_DISABLE_PKG,
pkgtype, pkgid, NULL)) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(is)",
PKGMGR_R_ESYSTEM, ""));
+ free(pkgtype);
free(reqkey);
return -1;
}
+ free(pkgtype);
}
g_dbus_method_invocation_return_value(invocation,
GDBusMethodInvocation *invocation, GVariant *parameters)
{
uid_t target_uid = (uid_t)-1;
- char *pkgtype = NULL;
+ char *pkgtype;
char *pkgid = NULL;
char *reqkey = NULL;
- g_variant_get(parameters, "(u&s&s)", &target_uid, &pkgtype, &pkgid);
- if (target_uid == (uid_t)-1 || pkgtype == NULL || pkgid == NULL) {
+ g_variant_get(parameters, "(u&s)", &target_uid, &pkgid);
+ if (target_uid == (uid_t)-1 || pkgid == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ECOMM));
return -1;
}
+ pkgtype = _get_pkgtype_from_pkgid(pkgid, target_uid);
+ if (pkgtype == NULL) {
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(i)", PKGMGR_R_ESYSTEM));
+ return -1;
+ }
+
reqkey = __generate_reqkey(pkgid);
if (reqkey == NULL) {
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ENOMEM));
+ free(pkgtype);
return -1;
}
g_dbus_method_invocation_return_value(invocation,
g_variant_new("(i)", PKGMGR_R_ESYSTEM));
free(reqkey);
+ free(pkgtype);
return -1;
}
g_variant_new("(i)", PKGMGR_R_OK));
free(reqkey);
+ free(pkgtype);
return 0;
}