Files

73 lines
2.1 KiB
C#

using CefSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Work._29Tools.CefTools
{
public class LocalCookieVisitor : ICookieVisitor
{
public List<Cookie> CookieList;
public ManualResetEvent gotAllCookie = new ManualResetEvent(false);
public LocalCookieVisitor()
{
CookieList = new List<Cookie>();
}
public bool Visit(Cookie cookie, int count, int total, ref bool deleteCookie)
{
CookieList.Add(cookie);
if (count == total - 1)
{
gotAllCookie.Set();
}
return true;
}
public void WaitForAllCookie()
{
gotAllCookie.WaitOne();
}
#region IDisposable Support
private bool disposedValue = false; // To detect redundant calls
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
{
if (disposing)
{
// TODO: dispose managed state (managed objects).
}
// TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
// TODO: set large fields to null.
disposedValue = true;
}
}
// TODO: override a finalizer only if Dispose(bool disposing) above has code to free unmanaged resources.
// ~CookieVisitor()
// {
// // Do not change this code. Put cleanup code in Dispose(bool disposing) above.
// Dispose(false);
// }
// This code added to correctly implement the disposable pattern.
void IDisposable.Dispose()
{
// Do not change this code. Put cleanup code in Dispose(bool disposing) above.
Dispose(true);
// TODO: uncomment the following line if the finalizer is overridden above.
// GC.SuppressFinalize(this);
}
#endregion
}
}