extern int package_dump_fault_info(struct pkg_info *info);
extern int package_set_fault_info(struct pkg_info *info, double timestamp, const char *filename, const char *function);
extern int package_get_fault_info(struct pkg_info *info, double *timestmap, const char **filename, const char **function);
+extern int package_set_category(struct pkg_info *info, const char *category);
/*!
* \brief
extern const int const package_gbar_height(const struct pkg_info *info);
extern const char * const package_name(const struct pkg_info *info);
extern const char * const package_libexec(struct pkg_info *info);
+extern const char *package_category(struct pkg_info *info);
extern int package_network(struct pkg_info *info);
extern Eina_List *package_ctx_info(struct pkg_info *pkginfo);
static inline int build_provider_info(struct pkg_info *info)
{
- static const char *dml = "SELECT provider.network, provider.abi, provider.secured, provider.box_type, provider.box_src, provider.box_group, provider.gbar_type, provider.gbar_src, provider.gbar_group, provider.libexec, provider.timeout, provider.period, provider.script, provider.pinup, pkgmap.appid, provider.direct_input, provider.hw_acceleration FROM provider, pkgmap WHERE pkgmap.pkgid = ? AND provider.pkgid = ?";
+ static const char *dml = "SELECT provider.network, provider.abi, provider.secured, provider.box_type, provider.box_src, provider.box_group, provider.gbar_type, provider.gbar_src, provider.gbar_group, provider.libexec, provider.timeout, provider.period, provider.script, provider.pinup, pkgmap.appid, provider.direct_input, provider.hw_acceleration, pkgmap.category FROM provider, pkgmap WHERE pkgmap.pkgid = ? AND provider.pkgid = ?";
sqlite3_stmt *stmt;
int ret;
const char *tmp;
package_set_pinup(info, sqlite3_column_int(stmt, 13));
package_set_direct_input(info, sqlite3_column_int(stmt, 15));
package_set_hw_acceleration(info, (const char *)sqlite3_column_text(stmt, 16));
+ package_set_category(info, (const char *)sqlite3_column_text(stmt, 17));
sqlite3_reset(stmt);
sqlite3_clear_bindings(stmt);
char *script; /* script type: edje, ... */
char *abi;
char *hw_acceleration;
+ char *category;
int fault_count;
struct fault_info *fault_info;
return DBOX_STATUS_ERROR_NONE;
}
+HAPI int package_set_category(struct pkg_info *info, const char *category)
+{
+ char *tmp;
+
+ if (!category || !info) {
+ return DBOX_STATUS_ERROR_INVALID_PARAMETER;
+ }
+
+ tmp = strdup(category);
+ if (!tmp) {
+ ErrPrint("strdup: %s\n", strerror(errno));
+ return DBOX_STATUS_ERROR_OUT_OF_MEMORY;
+ }
+
+ DbgFree(info->category);
+ info->category = tmp;
+ return DBOX_STATUS_ERROR_NONE;
+}
+
+HAPI const char *package_category(struct pkg_info *info)
+{
+ return info->category;
+}
+
/*!
* \note
* Add the instance to the package info.