예제 #1
0
void
Window::install_wndproc()
{
  assert(prev_wndproc == NULL);

  set_userdata(this);
  prev_wndproc = set_wndproc(WndProc);
}
예제 #2
0
파일: alsa.c 프로젝트: pmyadlowsky/mash
static int new_obj(lua_State *lstate) {
	dev_stop();
	lua_newtable(lstate);
	set_value(lstate, "card");
	set_userdata(lstate, "intern", (void *)&unit);
	add_method(lstate, "capture", capture);
	add_method(lstate, "stop", lua_stop);
	add_fader_methods(lstate);
	return 1;
	}
예제 #3
0
파일: feed.c 프로젝트: pmyadlowsky/mash
int flac_feed(lua_State *lstate) {
	lua_newtable(lstate);
	set_value(lstate, "mount");
	set_value(lstate, "port");
	set_value(lstate, "host");
	set_userdata(lstate, "intern", alloc_flac_feed());
	add_method(lstate, "play", play_flac);
	add_method(lstate, "stop", stop_feed);
	add_fader_methods(lstate);
	return 1;
	}
예제 #4
0
파일: state.hpp 프로젝트: Nava2/sol
 state& set_userdata(userdata<T>& user) {
     return set_userdata(user.name(), user);
 }
예제 #5
0
/**
 * Set extra userdata into the connection.
 *
 * @return previous userdata;
 *
 * @note
 *   Extra userdata is for default protocol handler such as ad_http_handler to
 *   provide higher abstraction. End users should always use only ad_conn_set_userdata()
 *   to avoid any conflict with default handlers.
 */
void *ad_conn_set_extra(ad_conn_t *conn, const void *extra, ad_userdata_free_cb free_cb) {
    return set_userdata(conn, 1, extra, free_cb);
}
예제 #6
0
/**
 * Attach userdata into the connection.
 *
 * @return previous userdata;
 */
void *ad_conn_set_userdata(ad_conn_t *conn, const void *userdata, ad_userdata_free_cb free_cb) {
    return set_userdata(conn, 0, userdata, free_cb);
}