Пример #1
0
void channels_add( int channelid ) {
	
	// exit if we haven't initialized the channel stuff
	
	// get channel data from libventrilo
	v3_channel* p_chan = v3_get_channel( channelid );

	// dont add if we dont have data to add.
	if ( p_chan == NULL ) {
		printf( "trying to add null channel\n" );
		return;
	}

	channels[channelid] = p_chan;	
	
	//channel* chan = malloc( sizeof( struct channel_s ) );
	//chan->data = chan_ptr;

	//	INIT_LIST_HEAD( &chan->sub );
//		INIT_LIST_HEAD( &chan->list );
//		list_add( &(chan->list), &(channel_root.list) );
	
	
	
	printf( "added channel: %s\n", p_chan->name );

	//while ( channels[i] != NULL ) i++;
	
	//printf( "putting channel (%s,%s)[%i|%i] in %i\n", chan_ptr->name, chan_ptr->comment, chan_ptr->id, chan_ptr->parent, i );

	//channels[i] = chan_ptr;
	//if ( i > channel_limit ) channel_limit = i;
}
Пример #2
0
void channels_update( int channelid ) {
	// update all channels
	for( int i = 0; i < MAX_CHANNELS; i++ ) {
		if ( channels[i] != NULL ) {
			v3_free_channel( channels[i] );
			channels[i] = v3_get_channel( i );
		}
	}
}
Пример #3
0
JNIEXPORT void JNICALL Java_com_jtxdriggers_android_ventriloid_VentriloInterface_getchannel(JNIEnv* env, jobject obj, jobject eventdata, jshort channelid) {
	v3_channel *c = v3_get_channel(channelid);
	if(c) {
		jclass  event_class = get_class(env, eventdata);
		jobject data = get_object(env, eventdata, event_class, "data", "Lcom/jtxdriggers/android/ventriloid/VentriloEventData$_data;");
		jclass  data_class = get_class(env, data);
		jobject channel = get_object(env, data, data_class, "channel", "Lcom/jtxdriggers/android/ventriloid/VentriloEventData$_data$_channel;");
		jclass  channel_class = get_class(env, channel);
		jobject text = get_object(env, eventdata, event_class, "text", "Lcom/jtxdriggers/android/ventriloid/VentriloEventData$_text;");
		jclass  text_class = get_class(env, text);
		set_short(env, channel, channel_class, "parent", c->parent);
		set_short(env, channel, channel_class, "channel_codec", c->channel_codec);
		set_short(env, channel, channel_class, "channel_format",c->channel_format);
		set_bool (env, channel, channel_class, "password_protected", v3_channel_requires_password(channelid));
		set_bool (env, channel, channel_class, "is_admin", v3_is_channel_admin(channelid));
		set_bool (env, channel, channel_class, "allow_phantoms", c->allow_phantoms != 0);
		set_bool (env, channel, channel_class, "allow_paging", c->allow_paging != 0);
		set_byte_array(env, text, text_class, "name", c->name);
		set_byte_array(env, text, text_class, "phonetic", c->phonetic);
		set_byte_array(env, text, text_class, "comment", c->comment);
		v3_free_channel(c);
	}
}