MsnServConn * msn_servconn_new(MsnSession *session, MsnServConnType type) { MsnServConn *servconn; g_return_val_if_fail(session != NULL, NULL); servconn = g_new0(MsnServConn, 1); servconn->type = type; servconn->session = session; servconn->cmdproc = msn_cmdproc_new(session); servconn->cmdproc->servconn = servconn; servconn->httpconn = msn_httpconn_new(servconn); servconn->num = session->servconns_count++; servconn->tx_buf = purple_circ_buffer_new(MSN_BUF_LEN); servconn->tx_handler = 0; servconn->timeout_sec = 0; servconn->timeout_handle = 0; servconn->fd = -1; return servconn; }
static void instance_init (GTypeInstance *instance, gpointer g_class) { PecanCmdServer *conn = CMD_PECAN_NODE (instance); conn->cmdproc = msn_cmdproc_new (); }