예제 #1
0
        private static void OnCookieJarChanged(OssiferCookie oldCookie, OssiferCookie newCookie)
        {
            var handler = CookieChanged;

            if (handler != null)
            {
                handler(oldCookie, newCookie);
            }
        }
예제 #2
0
        public static OssiferCookie GetCookie(string name, string domain, string path)
        {
            var name_raw   = IntPtr.Zero;
            var domain_raw = IntPtr.Zero;
            var path_raw   = IntPtr.Zero;

            try {
                var ptr = ossifer_session_get_cookie(
                    name_raw   = GLib.Marshaller.StringToPtrGStrdup(name),
                    domain_raw = GLib.Marshaller.StringToPtrGStrdup(domain),
                    path_raw   = GLib.Marshaller.StringToPtrGStrdup(path));
                if (ptr != IntPtr.Zero)
                {
                    var cookie = new OssiferCookie(ptr);
                    ossifer_cookie_free(ptr);
                    return(cookie);
                }
                return(null);
            } finally {
                GLib.Marshaller.Free(name_raw);
                GLib.Marshaller.Free(domain_raw);
                GLib.Marshaller.Free(path_raw);
            }
        }