/** * as_pool_init: **/ static void as_pool_init (AsPool *pool) { guint i; g_autoptr(AsDistroDetails) distro = NULL; AsPoolPrivate *priv = GET_PRIVATE (pool); /* set active locale */ priv->locale = as_get_current_locale (); priv->cpt_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_object_unref); priv->xml_dirs = g_ptr_array_new_with_free_func (g_free); priv->yaml_dirs = g_ptr_array_new_with_free_func (g_free); priv->icon_dirs = g_ptr_array_new_with_free_func (g_free); /* set the current architecture */ priv->current_arch = as_get_current_arch (); /* set up our localized search-term greylist */ priv->term_greylist = g_strsplit (AS_SEARCH_GREYLIST_STR, ";", -1); /* system-wide cache locations */ priv->sys_cache_path = g_strdup (AS_APPSTREAM_CACHE_PATH); /* users umask shouldn't interfere with us creating new files when we are root */ if (as_utils_is_root ()) as_reset_umask (); /* check the ctime of the cache directory, if it exists at all */ as_pool_check_cache_ctime (pool); distro = as_distro_details_new (); priv->screenshot_service_url = as_distro_details_get_str (distro, "ScreenshotUrl"); /* set watched default directories for AppStream metadata */ for (i = 0; AS_APPSTREAM_METADATA_PATHS[i] != NULL; i++) as_pool_add_metadata_location_internal (pool, AS_APPSTREAM_METADATA_PATHS[i], FALSE); /* set default pool flags */ priv->flags = AS_POOL_FLAG_READ_COLLECTION | AS_POOL_FLAG_READ_METAINFO | AS_POOL_FLAG_READ_DESKTOP_FILES; /* set default cache flags */ priv->cache_flags = AS_CACHE_FLAG_USE_SYSTEM | AS_CACHE_FLAG_USE_USER; }
/** * as_data_pool_init: **/ static void as_data_pool_init (AsDataPool *dpool) { guint i; g_autoptr(AsDistroDetails) distro = NULL; AsDataPoolPrivate *priv = GET_PRIVATE (dpool); /* set active locale */ priv->locale = as_get_current_locale (); priv->cpt_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) g_object_unref); distro = as_distro_details_new (); priv->screenshot_service_url = as_distro_details_get_str (distro, "ScreenshotUrl"); /* set watched default directories for AppStream metadata */ priv->mdata_dirs = g_ptr_array_new_with_free_func (g_free); for (i = 0; AS_APPSTREAM_METADATA_PATHS[i] != NULL; i++) { g_ptr_array_add (priv->mdata_dirs, g_strdup (AS_APPSTREAM_METADATA_PATHS[i])); } /* set default icon search locations */ priv->icon_paths = as_get_icon_repository_paths (); /* set the current architecture */ priv->current_arch = as_get_current_arch (); /* set up our localized search-term greylist */ priv->term_greylist = g_strsplit (AS_SEARCH_GREYLIST_STR, ";", -1); /* system-wide cache locations */ priv->sys_cache_path = g_build_filename (AS_APPSTREAM_CACHE_PATH, "pb", NULL); /* users umask shouldn't interfere with us creating new files when we are root */ if (as_utils_is_root ()) as_reset_umask (); /* check the ctime of the cache directory, if it exists at all */ as_data_pool_check_cache_ctime (dpool); }