internal static AcceptEncodingHeader FromNative(osip_accept_encoding_t *native) { var header = new AcceptEncodingHeader() { Element = Marshal.PtrToStringAnsi(native->element) }; int size = NativeMethods.osip_list_size(&native->gen_params); for (int i = 0; i < size; i++) { osip_uri_param_t *param = (osip_uri_param_t *)NativeMethods.osip_list_get(&native->gen_params, i); header.Parameters.Add(GenericParameter.FromNative(param)); } return(header); }
internal static ContentTypeHeader FromNative(osip_content_type_t *native) { var header = new ContentTypeHeader { Type = Marshal.PtrToStringAnsi(native->type), SubType = Marshal.PtrToStringAnsi(native->subtype) }; int size = NativeMethods.osip_list_size(&native->gen_params); for (int i = 0; i < size; i++) { osip_uri_param_t *param = (osip_uri_param_t *)NativeMethods.osip_list_get(&native->gen_params, i); header.Parameters.Add(GenericParameter.FromNative(param)); } return(header); }
internal osip_from_t *ToNative() { osip_from_t *native; NativeMethods.osip_from_init(&native).ThrowOnError(); native->displayname = Marshal.StringToHGlobalAnsi(DisplayName); native->url = Url != null ? Url.ToNative() : osip_uri_t.Null; for (int i = 0; i < Parameters.Count; i++) { osip_uri_param_t *param = Parameters[i].ToNative(); NativeMethods.osip_list_add(&native->gen_params, param, i).ThrowOnError(); } return(native); }
internal osip_via_t *ToNative() { osip_via_t *native; NativeMethods.osip_via_init(&native).ThrowOnError(); native->version = Marshal.StringToHGlobalAnsi(Version); native->protocol = Marshal.StringToHGlobalAnsi(Protocol); native->host = Marshal.StringToHGlobalAnsi(Host); native->port = Marshal.StringToHGlobalAnsi(Port); native->comment = Marshal.StringToHGlobalAnsi(Comment); for (int i = 0; i < Parameters.Count; i++) { osip_uri_param_t *param = Parameters[i].ToNative(); NativeMethods.osip_list_add(&native->via_params, param, i).ThrowOnError(); } return(native); }
internal static NameAddressHeader FromNative(osip_from_t *native) { var header = new NameAddressHeader { DisplayName = Marshal.PtrToStringAnsi(native->displayname), Url = native->url != osip_uri_t.Null ? SipUri.FromNative(native->url) : null }; int size = NativeMethods.osip_list_size(&native->gen_params); for (int i = 0; i < size; i++) { osip_uri_param_t *param = (osip_uri_param_t *)NativeMethods.osip_list_get(&native->gen_params, i); header.Parameters.Add(GenericParameter.FromNative(param)); } return(header); }
internal static ViaHeader FromNative(osip_via_t *native) { var header = new ViaHeader { Version = Marshal.PtrToStringAnsi(native->version), Protocol = Marshal.PtrToStringAnsi(native->protocol), Host = Marshal.PtrToStringAnsi(native->host), Port = Marshal.PtrToStringAnsi(native->port), Comment = Marshal.PtrToStringAnsi(native->comment) }; int size = NativeMethods.osip_list_size(&native->via_params); for (int i = 0; i < size; i++) { osip_uri_param_t *param = (osip_uri_param_t *)NativeMethods.osip_list_get(&native->via_params, i); header.Parameters.Add(GenericParameter.FromNative(param)); } return(header); }
internal static SipUriParameter FromNative(osip_uri_param_t *native) { return(new SipUriParameter( Marshal.PtrToStringAnsi(native->gname), Marshal.PtrToStringAnsi(native->gvalue))); }
public static extern void osip_uri_param_free(osip_uri_param_t *url_param);