PA_MODULE_AUTHOR("Lennart Poettering");
PA_MODULE_DESCRIPTION("Augment the property sets of streams with additional static information");
PA_MODULE_VERSION(PACKAGE_VERSION);
-PA_MODULE_LOAD_ONCE(TRUE);
+PA_MODULE_LOAD_ONCE(true);
#define STAT_INTERVAL 30
#define MAX_CACHE_SIZE 50
struct rule {
time_t timestamp;
- pa_bool_t good;
+ bool good;
time_t mtime;
char *process_name;
char *application_name;
{ NULL, catch_all, NULL, NULL },
{ NULL, NULL, NULL, NULL },
};
- pa_bool_t found = FALSE;
+ bool found = false;
pa_assert(r);
fn = pa_sprintf_malloc(DESKTOPFILEDIR PA_PATH_SEP "%s.desktop", r->process_name);
if (stat(fn, &st) == 0)
- found = TRUE;
+ found = true;
else {
#ifdef DT_DIR
DIR *desktopfiles_dir;
fn = pa_sprintf_malloc(DESKTOPFILEDIR PA_PATH_SEP "%s" PA_PATH_SEP "%s.desktop", dir->d_name, r->process_name);
if (stat(fn, &st) == 0) {
- found = TRUE;
+ found = true;
break;
}
}
#endif
}
if (!found) {
- r->good = FALSE;
+ r->good = false;
pa_xfree(fn);
return;
}
} else
pa_log_debug("Found %s.", fn);
- r->good = TRUE;
+ r->good = true;
r->mtime = st.st_mtime;
pa_xfree(r->application_name);
pa_xfree(r->icon_name);
m->userdata = u = pa_xnew(struct userdata, 1);
- u->cache = pa_hashmap_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func);
+ u->cache = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func, NULL, (pa_free_cb_t) rule_free);
u->client_new_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_CLIENT_NEW], PA_HOOK_EARLY, (pa_hook_cb_t) client_new_cb, u);
u->client_proplist_changed_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_CLIENT_PROPLIST_CHANGED], PA_HOOK_EARLY, (pa_hook_cb_t) client_proplist_changed_cb, u);
pa_hook_slot_free(u->client_proplist_changed_slot);
if (u->cache)
- pa_hashmap_free(u->cache, (pa_free_cb_t) rule_free);
+ pa_hashmap_free(u->cache);
pa_xfree(u);
}