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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
 internal static SipUriParameter FromNative(osip_uri_param_t *native)
 {
     return(new SipUriParameter(
                Marshal.PtrToStringAnsi(native->gname),
                Marshal.PtrToStringAnsi(native->gvalue)));
 }
Example #8
0
 public static extern void osip_uri_param_free(osip_uri_param_t *url_param);