/** Connect to server. */ void cmd_connect(char *x) { /* Variables. */ char *server, *nick; if (strlen(x) < 1) { term_print("* No server address specified\n"); return; } server = x; nick = strpbrk(x, " "); if (nick) { while (strlen(nick) > 0 && nick[0] == ' ') { nick[0] = '\0'; nick = &nick[1]; } if (strlen(nick) > 0) set_nick(nick); } term_mode = TERM_MODE_CLIENT; term_set_server_addr(server); term_client_init(); }
int main(int argc, char *argv[]) { Irc freenode; struct pollfd pfd[4]; int i, ready, murm_listenfd = -1; initialize(argc, argv); for (i = 0; i < SIZE(pfd); i++) { pfd[i].fd = -1; pfd[i].events = POLLIN; } if (add_murmur_callbacks(cfg.murmur_port)) pfd[MURM_LISTEN].fd = murm_listenfd = sock_listen(LOCALHOST, CB_LISTEN_PORT_S); else fprintf(stderr, "Could not connect to Murmur\n"); if ((pfd[MPD].fd = mpdfd = mpd_connect(cfg.mpd_port)) < 0) fprintf(stderr, "Could not connect to MPD\n"); // Connect to server and set IRC details if (!(freenode = irc_connect(cfg.server, cfg.port))) exit_msg("Irc connection failed"); pfd[IRC].fd = get_socket(freenode); set_nick(freenode, cfg.nick); set_user(freenode, cfg.user); for (i = 0; i < cfg.channels_set; i++) join_channel(freenode, cfg.channels[i]); while ((ready = poll(pfd, SIZE(pfd), TIMEOUT)) > 0) { // Keep reading & parsing lines as long the connection is active and act on any registered actions found if (pfd[IRC].revents & POLLIN) while (parse_irc_line(freenode) > 0); if (pfd[MURM_LISTEN].revents & POLLIN) if ((pfd[MURM_ACCEPT].fd = accept_murmur_connection(murm_listenfd)) > 0) pfd[MURM_LISTEN].fd = -1; // Stop listening for connections if (pfd[MURM_ACCEPT].revents & POLLIN) { if (!listen_murmur_callbacks(freenode, pfd[MURM_ACCEPT].fd)) { pfd[MURM_ACCEPT].fd = -1; pfd[MURM_LISTEN].fd = murm_listenfd; // Start listening again for Murmur connections } } if (pfd[MPD].revents & POLLIN) if (!print_song(freenode, default_channel(freenode))) pfd[MPD].fd = mpdfd = mpd_connect(cfg.mpd_port); } // If we reach here, it means we got disconnected from server. Exit with error (1) if (ready == -1) perror("poll"); else fprintf(stderr, "%d minutes passed without getting a message, exiting...\n", TIMEOUT / 1000 / 60); quit_server(freenode, cfg.quit_msg); cleanup(); return 1; }
void IRCSession::on_err_nicknameinuse(const IRCNumericReply &message) { if (connect_status == status_connecting) { if (!(our_nickname == IRCNick::from_text(alt_connect_nick))) set_nick(alt_connect_nick); } }
void RceLogin::MergeFrom(const RceLogin& from) { GOOGLE_CHECK_NE(&from, this); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from._has_bit(0)) { set_pass(from.pass()); } if (from._has_bit(1)) { set_nick(from.nick()); } } mutable_unknown_fields()->MergeFrom(from.unknown_fields()); }
// --------------------------------------------------------- // CContextbookView::HandleCommandL(TInt aCommand) // ?implementation_description // --------------------------------------------------------- // void CContextbookView::HandleCommandL(TInt aCommand) { CALLSTACKITEM(_L("CContextbookView::HandleCommandL")); switch ( aCommand ) { case EAknSoftkeyBack: { AppUi()->HandleCommandL(EAknSoftkeyBack); break; } case EcontextbookCmdSMS: { iContainer->sms_current(); //iLog->write_time(); //iLog->write_to_output(_L("Cmd SendSMS")); //iLog->write_nl(); break; } case EcontextbookCmdNick: { if (iLog) { iLog->write_time(); iLog->write_to_output(_L("Cmd SetNick")); iLog->write_nl(); } set_nick(); break; } case EcontextbookCmdCall: { //iLog->write_time(); //iLog->write_to_output(_L("Cmd Call")); //iLog->write_nl(); iContainer->call_current(); break; } case EcontextbookCmdPresenceDetails: { iContainer->show_presence_details_current(); } break; default: { AppUi()->HandleCommandL( aCommand ); break; } } }
/** Create server. */ void cmd_server(char *x) { if (strlen(x) > 0) set_nick(x); term_mode = TERM_MODE_SERVER; term_server_init(); }