static void print_session(sdp_printer_t *p, sdp_session_t const *sdp) { p->pr_ok = 1; if (p->pr_ok && sdp->sdp_version) print_version(p, sdp->sdp_version); if (p->pr_ok && sdp->sdp_origin) print_origin(p, sdp->sdp_origin); if (p->pr_ok && sdp->sdp_subject) print_subject(p, sdp->sdp_subject); if (p->pr_ok && sdp->sdp_information) print_information(p, sdp->sdp_information); if (p->pr_ok && sdp->sdp_uri) print_uri(p, sdp->sdp_uri); if (p->pr_ok && sdp->sdp_emails) print_emails(p, sdp->sdp_emails); if (p->pr_ok && sdp->sdp_phones) print_phones(p, sdp->sdp_phones); if (p->pr_ok && sdp->sdp_connection) print_connection(p, sdp->sdp_connection); if (p->pr_ok && sdp->sdp_bandwidths) print_bandwidths(p, sdp->sdp_bandwidths); if (p->pr_ok) print_time(p, sdp->sdp_time); if (p->pr_ok && sdp->sdp_time) { if (p->pr_ok && sdp->sdp_time->t_repeat) print_repeat(p, sdp->sdp_time->t_repeat); if (p->pr_ok && sdp->sdp_time->t_zone) print_zone(p, sdp->sdp_time->t_zone); } if (p->pr_ok && sdp->sdp_key) print_key(p, sdp->sdp_key); if (p->pr_ok && sdp->sdp_charset) print_charset(p, sdp->sdp_charset); if (p->pr_ok && sdp->sdp_attributes) print_attributes(p, sdp->sdp_attributes); if (p->pr_ok && sdp->sdp_media) print_media(p, sdp, sdp->sdp_media); }
void print_message (struct message *M) { assert (M); if (M->flags & (FLAG_MESSAGE_EMPTY | FLAG_DELETED)) { return; } if (!(M->flags & FLAG_CREATED)) { return; } if (M->service) { print_service_message (M); return; } if (!get_peer_type (M->to_id)) { logprintf ("Bad msg\n"); return; } last_from_id = M->from_id; last_to_id = M->to_id; if (get_peer_type (M->to_id) == PEER_USER) { if (M->out) { if (msg_num_mode) { printf ("%lld ", M->id); } print_date (M->date); printf (" "); print_user_name (M->to_id, user_chat_get (M->to_id)); if (M->unread) { printf (" <<< "); } else { printf (" ««« "); } } else { if (msg_num_mode) { printf ("%lld ", M->id); } print_date (M->date); printf (" "); print_user_name (M->from_id, user_chat_get (M->from_id)); if (M->unread) { printf (" >>> "); } else { printf (" »»» "); } if (alert_sound) { play_sound(); } } } else if (get_peer_type (M->to_id) == PEER_ENCR_CHAT) { peer_t *P = user_chat_get (M->to_id); assert (P); if (M->out) { if (msg_num_mode) { printf ("%lld ", M->id); } print_date (M->date); printf (" "); printf (" %s", P->print_name); if (M->unread) { printf (" <<< "); } else { printf (" ««« "); } } else { if (msg_num_mode) { printf ("%lld ", M->id); } print_date (M->date); printf (" %s", P->print_name); if (M->unread) { printf (" >>> "); } else { printf (" »»» "); } if (alert_sound) { play_sound(); } } } else { assert (get_peer_type (M->to_id) == PEER_CHAT); if (msg_num_mode) { printf ("%lld ", M->id); } print_date (M->date); printf (" "); print_chat_name (M->to_id, user_chat_get (M->to_id)); printf (" "); print_user_name (M->from_id, user_chat_get (M->from_id)); if (M->unread) { printf (" >>> "); } else { printf (" »»» "); } } if (get_peer_type (M->fwd_from_id) == PEER_USER) { printf ("[fwd from "); print_user_name (M->fwd_from_id, user_chat_get (M->fwd_from_id)); printf ("] "); } if (M->message && strlen (M->message)) { printf ("%s", M->message); } if (M->media.type != CODE_message_media_empty) { print_media (&M->media); } assert (!color_stack_pos); printf ("\n"); }