int main(int argc, const char **argv) { int done = 0; qeo_factory_t *qeo; /* R/W for chat participants */ qeo_state_change_reader_t *part_change_reader; /* R/W for chat messages */ qeo_event_writer_t *msg_writer; qeo_event_reader_t *msg_reader; /* local variables for storing the message before sending */ char buf[128]; org_qeo_sample_simplechat_ChatMessage_t chat_msg = { .message = buf }; /* initialize */ qeo = qeo_factory_create(); if (qeo != NULL){ /* initialize the state R/W */ _part_writer = qeo_factory_create_state_writer(qeo, org_qeo_sample_simplechat_ChatParticipant_type, NULL, 0); _part_reader = qeo_factory_create_state_reader(qeo, org_qeo_sample_simplechat_ChatParticipant_type, NULL, 0); part_change_reader = qeo_factory_create_state_change_reader(qeo, org_qeo_sample_simplechat_ChatParticipant_type, &_part_listener, 0); /* initialize the message R/W */ msg_writer = qeo_factory_create_event_writer(qeo, org_qeo_sample_simplechat_ChatMessage_type, NULL, 0); msg_reader = qeo_factory_create_event_reader(qeo, org_qeo_sample_simplechat_ChatMessage_type, &_msg_listener, 0); /* set up some defaults */ update_participant(NULL, ORG_QEO_SAMPLE_SIMPLECHAT_CHATSTATE_AVAILABLE); /* start conversing */ printf("New chat session opened. Type '/help' for commands.\n"); printf("You can now start chatting...\n"); while (!done) { if(fgets(buf, sizeof(buf), stdin) != NULL) { chomp(buf); if ('/' == buf[0]) { handle_command(&buf[1], &done); } else { chat_msg.from = _me.name; qeo_event_writer_write(msg_writer, &chat_msg); } } } /* clean up */ qeo_event_reader_close(msg_reader); qeo_event_writer_close(msg_writer); qeo_state_change_reader_close(part_change_reader); qeo_state_reader_close(_part_reader); qeo_state_writer_close(_part_writer); qeo_factory_close(qeo); free(_me.name); } return 0; }
int main(int argc, const char **argv) { qeo_factory_t *qeo; qeo_event_writer_t *msg_writer; qeo_event_reader_t *msg_reader; int done = 0; /* local variables for storing the message before sending */ char buf[128] = ""; org_qeo_sample_simplechat_ChatMessage_t chat_msg = { .message = buf }; /* initialize */ qeo = qeo_factory_create(); if (qeo != NULL){ msg_writer = qeo_factory_create_event_writer(qeo, org_qeo_sample_simplechat_ChatMessage_type, &_wl, 0); msg_reader = qeo_factory_create_event_reader(qeo, org_qeo_sample_simplechat_ChatMessage_type, &_listener, 0); /* set up some defaults */ chat_msg.from = default_user(); /* start conversing */ printf("New chat session opened. Type '/help' for commands.\n"); printf("You can now start chatting...\n"); while (!done) { fgets(buf, sizeof(buf), stdin); chomp(buf); if ('/' == buf[0]) { handle_command(&buf[1], &chat_msg, &done, msg_writer, msg_reader); } else { qeo_event_writer_write(msg_writer, &chat_msg); } } /* clean up */ free(chat_msg.from); qeo_event_reader_close(msg_reader); qeo_event_writer_close(msg_writer); qeo_factory_close(qeo); } return 0; }
void QeoMessagingHelper::StopListening() { if (m_Listening) { if (m_msg_reader) { qeo_event_reader_close(m_msg_reader); } if (m_msg_writer) { qeo_event_writer_close(m_msg_writer); } if (m_qeoFactory) { qeo_factory_close(m_qeoFactory); } } }