public TSIP_Header GetHeaderAtIndex(tsip_header_type_t type, int index) { /* Do not forget to update tinyWRAP::SipMessage::getHeaderAt() */ int pos = 0; TSIP_Header hdr = null; switch(type) { case tsip_header_type_t.Via: if(index == 0){ hdr = this.FirstVia; goto bail; }else pos++; break; case tsip_header_type_t.From: if(index == 0){ hdr = this.From; goto bail; }else pos++; break; case tsip_header_type_t.To: if(index == 0){ hdr = this.To; goto bail; }else pos++; break; case tsip_header_type_t.Contact: if(index == 0){ hdr = this.Contact; goto bail; }else pos++; break; case tsip_header_type_t.Call_ID: if(index == 0){ hdr = this.CallId; goto bail; }else pos++; break; case tsip_header_type_t.CSeq: if(index == 0){ hdr = this.CSeq; goto bail; }else pos++; break; case tsip_header_type_t.Expires: if(index == 0){ hdr = this.Expires; goto bail; }else pos++; break; case tsip_header_type_t.Content_Type: if(index == 0){ hdr = this.ContentType; goto bail; }else pos++; break; case tsip_header_type_t.Content_Length: if(index == 0){ hdr = this.ContentLength; goto bail; }else pos++; break; default: break; } foreach(TSIP_Header h in this.Headers) { if(h.Type == type) { if(pos++ >= index) { hdr = h; break; } } } bail: return hdr; }
public TSIP_Header GetHeader(tsip_header_type_t type) { return(this.GetHeaderAtIndex(type, 0)); }
public TSIP_Header GetHeader(tsip_header_type_t type) { return this.GetHeaderAtIndex(type, 0); }
public TSIP_Header GetHeaderAtIndex(tsip_header_type_t type, int index) { /* Do not forget to update tinyWRAP::SipMessage::getHeaderAt() */ int pos = 0; TSIP_Header hdr = null; switch (type) { case tsip_header_type_t.Via: if (index == 0) { hdr = this.FirstVia; goto bail; } else { pos++; } break; case tsip_header_type_t.From: if (index == 0) { hdr = this.From; goto bail; } else { pos++; } break; case tsip_header_type_t.To: if (index == 0) { hdr = this.To; goto bail; } else { pos++; } break; case tsip_header_type_t.Contact: if (index == 0) { hdr = this.Contact; goto bail; } else { pos++; } break; case tsip_header_type_t.Call_ID: if (index == 0) { hdr = this.CallId; goto bail; } else { pos++; } break; case tsip_header_type_t.CSeq: if (index == 0) { hdr = this.CSeq; goto bail; } else { pos++; } break; case tsip_header_type_t.Expires: if (index == 0) { hdr = this.Expires; goto bail; } else { pos++; } break; case tsip_header_type_t.Content_Type: if (index == 0) { hdr = this.ContentType; goto bail; } else { pos++; } break; case tsip_header_type_t.Content_Length: if (index == 0) { hdr = this.ContentLength; goto bail; } else { pos++; } break; default: break; } foreach (TSIP_Header h in this.Headers) { if (h.Type == type) { if (pos++ >= index) { hdr = h; break; } } } bail: return(hdr); }