コード例 #1
0
ファイル: threadManager.c プロジェクト: joleary/zenzibar
static void thread_manager_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec) {
	ThreadManager *self = THREAD_MANAGER (object);

	switch (property_id) {
		case PROP_THREAD_STATUS:
			g_value_set_string (value, self->status);
			break;
		default:
			G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
			break;
	}
}
コード例 #2
0
ファイル: threadManager.c プロジェクト: joleary/zenzibar
static void thread_manager_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) {
	ThreadManager *self = THREAD_MANAGER (object);

	switch (property_id) {
		case PROP_THREAD_STATUS:
			//g_free (self->priv->status);
			self->status = g_value_dup_string (value);
			g_print ("status: %s\n", self->status);
			g_signal_emit_by_name(self,"status");
			break;
		default:
			G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
			break;
	}
}
コード例 #3
0
TEST(Libev, Webscoket) {
  ServerWebHandler hand(kHinf);
  common::libev::tcp::TcpServer* serv = new common::libev::tcp::TcpServer(g_hs, false, &hand);
  common::ErrnoError err = serv->Bind(true);
  ASSERT_FALSE(err);

  err = serv->Listen(5);
  ASSERT_FALSE(err);

  auto tp = THREAD_MANAGER()->CreateThread(&ExitWebServer, serv);
  GTEST_ASSERT_EQ(tp->GetHandle(), common::threads::invalid_thread_handle());
  bool res_start = tp->Start();
  ASSERT_TRUE(res_start);

  int res_exec = serv->Exec();
  ASSERT_TRUE(res_exec == EXIT_SUCCESS);
  tp->Join();
  delete serv;
}
コード例 #4
0
ILoopThreadController::ILoopThreadController() : ILoopController(), loop_thread_() {
  loop_thread_ = THREAD_MANAGER()->createThread(&ILoopController::exec, this);
}