Example #1
0
void		session_delete(t_session *session)
{
  t_context	*context;
  t_session	*tmp;
  t_session	*tmp2;

  session_end(session);
  context = get_context_ptr((void *)0);
  VERBOSE(printf("\033[%d;1m<%03d> - session delete\033[m\n",
		 COLOR(session->id), session->id));
  tmp = context->sessions;
  if (tmp == session)
    {
      context->sessions = tmp->next;
      session_free(tmp);
      return ;
    }
  tmp2 = tmp;
  tmp = tmp->next;
  for (tmp2 = tmp, tmp = tmp->next; tmp && tmp != session;
       tmp = tmp->next, tmp2 = tmp2->next)
    ;
  if (tmp == session)
    {
      tmp2->next = tmp->next;
      session_free(tmp);
    }
  return ;
}
Example #2
0
JNIEXPORT void JNICALL
Java_com_harrcharr_pulse_PulseContext_setConnectionFailedCallback(
		JNIEnv *jenv, jobject jcontext, jobject runnable) {
	pa_context *c = get_context_ptr(jenv, jcontext);
	jni_pa_state_cbs_t *cbs = get_state_cbs_ptr(jenv, jcontext);

	if (cbs == NULL && runnable != NULL) {
		cbs = new_state_cbs();
		set_state_cbs_ptr(jenv, jcontext, cbs);
		pa_context_set_state_callback(c, context_state_cb, cbs);
	}
	if (cbs != NULL && cbs->failed_cbo != NULL) {
		del_cb_globalref(jenv, cbs->failed_cbo);
	}
	if (runnable != NULL) {
		cbs->failed_cbo = get_cb_globalref(jenv, jcontext, runnable);
	}
}
Example #3
0
JNIEXPORT void JNICALL
Java_com_harrcharr_pulse_PulseContext_JNISubscribe(
		JNIEnv *jenv, jobject jcontext) {
	pa_context *c = get_context_ptr(jenv, jcontext);
	pa_threaded_mainloop *m = get_mainloop_ptr(jenv, jcontext);

	LOGE("Subscribing, pulse state %d", pa_context_get_state(c));
	LOGE("Subscribing, pulse state %d", pa_context_get_state(c));
	LOGE("Subscribing, pulse state %d", pa_context_get_state(c));

	pa_threaded_mainloop_lock(m);

	pa_operation *o;
	o = pa_context_subscribe(c, PA_SUBSCRIPTION_MASK_ALL, NULL, NULL);
	assert(o);

	pa_operation_unref(o);
	pa_threaded_mainloop_unlock(m);
}
Example #4
0
JNIEXPORT void JNICALL
Java_com_harrcharr_pulse_PulseContext_JNISubscribeSource(
		JNIEnv *jenv, jobject jcontext, jobject runnable) {
	pa_context *c = get_context_ptr(jenv, jcontext);
	jni_pa_event_cbs_t *cbs = get_event_cbs_ptr(jenv, jcontext);

	if (cbs == NULL && runnable != NULL) {
		cbs = new_event_cbs();
		set_event_cbs_ptr(jenv, jcontext, cbs);
		pa_context_set_subscribe_callback(c, context_subscription_cb, cbs);
	}
	if (cbs != NULL && cbs->source_cbo != NULL) {
		del_cb_globalref(jenv, cbs->source_cbo);
		cbs->source_cbo = NULL;
	}
	if (runnable != NULL) {
		cbs->source_cbo = get_cb_globalref(jenv, jcontext, runnable);
	}
}
Example #5
0
void		session_end(t_session *session)
{
  t_client	*tmp;
  t_context	*context;

  if (session->attack.step++ && session->attack.time)
    {
      session_write_time(session);
      session->attack.time = 0;
    }
  VERBOSE(printf("\033[%d;1m<%03d> - session end (%d)\033[m\n",
		 COLOR(session->id), session->id, session->attack.step));
  context = get_context_ptr((void *)0);
  for (tmp = context->clients; tmp; tmp = tmp->next)
    if (tmp->session == session)
      {
	http_send_404(tmp);
	del_the_client(tmp);
      }
  session->active = 0;
  return ;
}