本文整理汇总了C++中prop_set_string函数的典型用法代码示例。如果您正苦于以下问题:C++ prop_set_string函数的具体用法?C++ prop_set_string怎么用?C++ prop_set_string使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了prop_set_string函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: add_news
prop_t *
add_news(const char *message, const char *location, const char *caption)
{
prop_t *p, *ret = NULL;
prop_t *root = prop_create(prop_get_global(), "news");
hts_mutex_lock(&news_mutex);
if(dismissed_news_out != NULL) {
if(htsmsg_get_u32_or_default(dismissed_news_in, message, 0)) {
dismis_news(message);
} else {
p = prop_create_root(NULL);
prop_set_string(prop_create(p, "message"), message);
prop_set_string(prop_create(p, "location"), location);
prop_set_string(prop_create(p, "caption"), caption);
prop_subscribe(PROP_SUB_TRACK_DESTROY,
PROP_TAG_CALLBACK, news_sink, prop_ref_inc(p),
PROP_TAG_ROOT, prop_create(p, "eventSink"),
PROP_TAG_MUTEX, &news_mutex,
NULL);
ret = prop_ref_inc(p);
if(prop_set_parent(p, root))
prop_destroy(p);
}
}
hts_mutex_unlock(&news_mutex);
return ret;
}
示例2: file_open_audio
/**
* Try to open the given URL with a playqueue context
*/
static int
file_open_audio(prop_t *page, const char *url)
{
char parent[URL_MAX];
char parent2[URL_MAX];
struct fa_stat fs;
prop_t *model;
if(fa_parent(parent, sizeof(parent), url))
return 1;
if(fa_stat(parent, &fs, NULL, 0))
return 1;
model = prop_create(page, "model");
prop_set_string(prop_create(model, "type"), "directory");
/* Find a meaningful page title (last component of URL) */
rstr_t *title = title_from_url(parent);
prop_set(model, "metadata", "title", NULL, PROP_SET_RSTRING, title);
// Set parent
if(!fa_parent(parent2, sizeof(parent2), parent))
prop_set_string(prop_create(page, "parent"), parent2);
fa_scanner(parent, fs.fs_mtime, model, url, prop_create(page, "directClose"),
title);
rstr_release(title);
return 0;
}
示例3: js_item_addOptAction
static JSBool
js_item_addOptAction(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
js_item_t *ji = JS_GetPrivate(cx, obj);
const char *title;
const char *action;
if (!JS_ConvertArguments(cx, argc, argv, "ss", &title, &action))
return JS_FALSE;
prop_t *p = prop_create_root(NULL);
prop_set_string(prop_create(p, "type"), "action");
prop_set_string(prop_create(prop_create(p, "metadata"), "title"), title);
prop_set_int(prop_create(p, "enabled"), 1);
prop_set_string(prop_create(p, "action"), action);
prop_t *opts = prop_create_r(ji->ji_root, "options");
if(prop_set_parent(p, opts))
prop_destroy(p);
prop_ref_dec(opts);
*rval = JSVAL_VOID;
return JS_TRUE;
}
示例4: search_class_create
int
search_class_create(prop_t *parent, prop_t **nodesp, prop_t **entriesp,
const char *title, const char *icon)
{
prop_t *p = prop_create_root(NULL);
prop_t *m = prop_create(p, "metadata");
prop_t *n, *e;
rstr_t *url = backend_prop_make(p, NULL);
prop_set_rstring(prop_create(p, "url"), url);
rstr_release(url);
prop_set_string(prop_create(m, "title"), title);
if(icon != NULL)
prop_set_string(prop_create(m, "icon"), icon);
prop_set_string(prop_create(p, "type"), "directory");
n = prop_create(p, "nodes");
e = prop_create(p, "entries");
prop_set_int(e, 0);
*nodesp = prop_ref_inc(n);
*entriesp = prop_ref_inc(e);
if(prop_set_parent(p, parent)) {
prop_destroy(p);
return 1;
}
return 0;
}
示例5: trace_prop
static void
trace_prop(int l, const char *pfx, const char *msg, const char *sev)
{
trace_entry_t *te = malloc(sizeof(trace_entry_t));
te->p = prop_create_root(NULL);
prop_set_string(prop_create(te->p, "prefix"), pfx);
prop_set_string(prop_create(te->p, "message"), msg);
prop_set_string(prop_create(te->p, "severity"), sev);
TAILQ_INSERT_TAIL(&traces, te, link);
if(prop_set_parent(te->p, log_root))
abort();
entries++;
if(entries > 50) {
te = TAILQ_FIRST(&traces);
TAILQ_REMOVE(&traces, te, link);
prop_destroy(te->p);
free(te);
entries--;
}
}
示例6: setting_add_cstr
static prop_t *
setting_add_cstr(prop_t *parent, const char *title, const char *type, int flags)
{
prop_t *p = setting_get(parent, flags);
prop_set_string(prop_create(prop_create(p, "metadata"), "title"), title);
prop_set_string(prop_create(p, "type"), type);
return p;
}
示例7: nav_open_error
int
nav_open_error(prop_t *root, const char *msg)
{
prop_t *model = prop_create(root, "model");
prop_set_string(prop_create(model, "type"), "openerror");
prop_set_int(prop_create(model, "loading"), 0);
prop_set_string(prop_create(model, "error"), msg);
prop_set_int(prop_create(root, "directClose"), 1);
return 0;
}
示例8: setting_add_cstr
static prop_t *
setting_add_cstr(prop_t *parent, const char *title, const char *type)
{
prop_t *p, *model;
p = prop_create(parent ? prop_create(parent, "nodes") : settings_nodes, NULL);
model = prop_create(p, "model");
prop_set_string(prop_create(prop_create(model, "metadata"), "title"), title);
prop_set_string(prop_create(model, "type"), type);
return p;
}
示例9: settings_create_info
void
settings_create_info(prop_t *parent, const char *image,
const char *description)
{
prop_t *r = prop_create(setting_add(prop_create(parent, "model"),
"Info", "info"), "model");
prop_set_string(prop_create(r, "description"), description);
if(image != NULL)
prop_set_string(prop_create(r, "image"), image);
}
示例10: js_appendItem0
static JSBool
js_appendItem0(JSContext *cx, js_model_t *model, prop_t *parent,
const char *url, const char *type, JSObject *metaobj,
jsval *data, jsval *rval, int enabled,
const char *metabind)
{
prop_t *item = prop_create_root(NULL);
if(url != NULL)
prop_set_string(prop_create(item, "url"), url);
if(data != NULL)
js_prop_set_from_jsval(cx, prop_create(item, "data"), *data);
*rval = JSVAL_VOID;
if(metabind != NULL)
metadb_bind_url_to_prop(NULL, metabind, item);
if(type != NULL) {
prop_set_string(prop_create(item, "type"), type);
if(metaobj)
js_prop_from_object(cx, metaobj, prop_create(item, "metadata"));
} else if(url != NULL) {
if(backend_resolve_item(url, item)) {
prop_destroy(item);
return JS_TRUE;
}
}
prop_set_int(prop_create(item, "enabled"), enabled);
prop_t *p = prop_ref_inc(item);
if(prop_set_parent(item, parent)) {
prop_destroy(item);
prop_ref_dec(p);
} else {
JSObject *robj =
JS_NewObjectWithGivenProto(cx, &item_class,
JSVAL_TO_OBJECT(model->jm_item_proto), NULL);
*rval = OBJECT_TO_JSVAL(robj);
js_item_t *ji = calloc(1, sizeof(js_item_t));
ji->ji_model = model;
ji->ji_root = p;
LIST_INSERT_HEAD(&model->jm_items, ji, ji_link);
JS_SetPrivate(cx, robj, ji);
ji->ji_enable_set_property = 1;
}
return JS_TRUE;
}
示例11: message_popup
int
message_popup(const char *message, int flags, const char **extra)
{
prop_t *p;
int rval;
p = prop_ref_inc(prop_create_root(NULL));
TRACE(TRACE_DEBUG, "Notification", "%s", message);
prop_set_string(prop_create(p, "type"), "message");
prop_set_string_ex(prop_create(p, "message"), NULL, message,
flags & MESSAGE_POPUP_RICH_TEXT ?
PROP_STR_RICH : PROP_STR_UTF8);
if(extra) {
int cnt = 1;
prop_t *btns = prop_create(p, "buttons");
while(*extra) {
prop_t *b = prop_create_root(NULL);
prop_set_string(prop_create(b, "title"), *extra);
char action[10];
snprintf(action, sizeof(action), "btn%d", cnt);
prop_set_string(prop_create(b, "action"), action);
if(prop_set_parent(b, btns))
abort();
cnt++;
extra++;
}
}
if(flags & MESSAGE_POPUP_CANCEL)
prop_set_int(prop_create(p, "cancel"), 1);
if(flags & MESSAGE_POPUP_OK)
prop_set_int(prop_create(p, "ok"), 1);
event_t *e = popup_display(p);
prop_destroy(p);
prop_ref_dec(p);
const event_payload_t *ep = (const event_payload_t *)e;
if(event_is_action(e, ACTION_OK))
rval = MESSAGE_POPUP_OK;
else if(event_is_action(e, ACTION_CANCEL))
rval = MESSAGE_POPUP_CANCEL;
else if(event_is_type(e, EVENT_DYNAMIC_ACTION) &&
!strncmp(ep->payload, "btn", 3))
rval = atoi(ep->payload + 3);
else
rval = 0;
event_release(e);
return rval;
}
示例12: settings_init
void
settings_init(void)
{
prop_t *n, *d, *model;
prop_t *s1;
settings_root = prop_create(prop_get_global(), "settings");
prop_set_string(prop_create(settings_root, "type"), "settings");
set_title(settings_root, _p("Global settings"));
settings_nodes = prop_create_root(NULL);
s1 = prop_create_root(NULL);
prop_nf_create(s1,
settings_nodes, NULL, "node.model.metadata.title",
PROP_NF_AUTODESTROY);
settings_apps = prop_create_root(NULL);
settings_sd = prop_create_root(NULL);
prop_concat_t *pc;
pc = prop_concat_create(prop_create(settings_root, "nodes"), 0);
prop_concat_add_source(pc, s1, NULL);
// Applications and plugins
n = prop_create(prop_create(settings_apps, "model"), "nodes");
d = prop_create_root(NULL);
model = prop_create(d, "model");
set_title(model, _p("Applications and installed plugins"));
prop_set_string(prop_create(model, "type"), "divider");
prop_concat_add_source(pc, n, d);
d = prop_create_root(NULL);
model = prop_create(d, "model");
set_title(model, _p("Discovered media sources"));
prop_set_string(prop_create(model, "type"), "divider");
n = prop_create(prop_create(settings_sd, "model"), "nodes");
prop_concat_add_source(pc, n, d);
// General settings
settings_general = settings_add_dir(NULL, _p("General"), NULL, NULL,
_p("System related settings"));
}
示例13: notify_add
void *
notify_add(prop_t *root, notify_type_t type, const char *icon, int delay,
rstr_t *fmt, ...)
{
char msg[256];
prop_t *p;
const char *typestr;
int tl;
va_list ap, apx;
switch(type) {
case NOTIFY_INFO: typestr = "info"; tl = TRACE_INFO; break;
case NOTIFY_WARNING: typestr = "warning"; tl = TRACE_INFO; break;
case NOTIFY_ERROR: typestr = "error"; tl = TRACE_ERROR; break;
default: return NULL;
}
va_start(ap, fmt);
va_copy(apx, ap);
tracev(0, tl, "notify", rstr_get(fmt), ap);
vsnprintf(msg, sizeof(msg), rstr_get(fmt), apx);
va_end(ap);
va_end(apx);
rstr_release(fmt);
p = prop_create_root(NULL);
prop_set_string(prop_create(p, "text"), msg);
prop_set_string(prop_create(p, "type"), typestr);
if(icon != NULL)
prop_set_string(prop_create(p, "icon"), icon);
p = prop_ref_inc(p);
if(prop_set_parent(p, root ?: notify_prop_entries))
prop_destroy(p);
if(delay != 0) {
prop_t *r = NULL;
if(delay < 0) {
r = prop_ref_inc(p);
delay = -delay;
}
callout_arm(NULL, notify_timeout, p, delay);
return r;
}
return p;
}
示例14: settings_init
void
settings_init(void)
{
prop_t *n, *d;
prop_t *s1;
settings_root = prop_create(prop_get_global(), "settings");
prop_set_string(prop_create(settings_root, "type"), "settings");
set_title2(settings_root, _p("Global settings"));
settings_nodes = prop_create_root(NULL);
s1 = prop_create_root(NULL);
struct prop_nf *pnf;
pnf = prop_nf_create(s1, settings_nodes, NULL, PROP_NF_AUTODESTROY);
prop_nf_sort(pnf, "node.metadata.title", 0, 0, NULL, 1);
settings_apps = prop_create_root(NULL);
settings_sd = prop_create_root(NULL);
prop_concat_t *pc;
pc = prop_concat_create(prop_create(settings_root, "nodes"), 0);
prop_concat_add_source(pc, s1, NULL);
// Applications and plugins
n = prop_create(settings_apps, "nodes");
d = prop_create_root(NULL);
set_title2(d, _p("Applications and installed plugins"));
prop_set_string(prop_create(d, "type"), "separator");
prop_concat_add_source(pc, n, d);
d = prop_create_root(NULL);
set_title2(d, _p("Discovered media sources"));
prop_set_string(prop_create(d, "type"), "separator");
n = prop_create(settings_sd, "nodes");
prop_concat_add_source(pc, n, d);
// General settings
settings_general = settings_add_dir(NULL, _p("General"), NULL, NULL,
_p("System related settings"),
"settings:general");
// Developer settings, only available via its URI
init_dev_settings();
}
示例15: init_global_info
/**
* Set some info in the global property tree that might be interesting
*/
static void
init_global_info(void)
{
prop_t *s = prop_create(prop_get_global(), "showtime");
extern const char *htsversion;
extern const char *htsversion_full;
prop_set_string(prop_create(s, "version"), htsversion);
prop_set_string(prop_create(s, "fullversion"), htsversion_full);
prop_set_string(prop_create(s, "copyright"), "© 2006 - 2011 Andreas Öman");
}