// Copyright © 2020 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
//NOTE:Classes in the CefSharp.Core namespace have been hidden from intellisnse so users don't use them directly
using System;
namespace CefSharp.Core
{
///
/// Create instances of Public Api classes, ,
/// etc.
///
public static class ObjectFactory
{
public static readonly Type BrowserSetingsType = typeof(CefSharp.Core.BrowserSettings);
public static readonly Type RequestContextType = typeof(CefSharp.Core.RequestContext);
///
/// Create a new instance of
///
/// Dispose of browser setings after it has been used to create a browser
/// returns new instance of
public static IBrowserSettings CreateBrowserSettings(bool autoDispose)
{
return new CefSharp.Core.BrowserSettings(autoDispose);
}
///
/// Create a new instance of
///
/// returns new instance of
public static IWindowInfo CreateWindowInfo()
{
return new CefSharp.Core.WindowInfo();
}
///
/// Create a new instance of
///
/// returns new instance of
public static IPostData CreatePostData()
{
return new CefSharp.Core.PostData();
}
///
/// Create a new instance of
///
/// returns new instance of
public static IPostDataElement CreatePostDataElement()
{
return new CefSharp.Core.PostDataElement();
}
///
/// Create a new instance of
///
/// returns new instance of
public static IRequest CreateRequest()
{
return new CefSharp.Core.Request();
}
///
/// Create a new instance of
///
/// request
/// url request client
/// returns new instance of
public static IUrlRequest CreateUrlRequest(IRequest request, IUrlRequestClient urlRequestClient)
{
return new CefSharp.Core.UrlRequest(request, urlRequestClient);
}
///
/// Create a new instance of
///
/// request
/// url request client
/// request context
/// returns new instance of
public static IUrlRequest CreateUrlRequest(IRequest request, IUrlRequestClient urlRequestClient, IRequestContext requestContext)
{
return new CefSharp.Core.UrlRequest(request, urlRequestClient, requestContext);
}
///
/// Create a new instance of
///
/// returns new instance of
public static IDragData CreateDragData()
{
return Core.DragData.Create();
}
///
/// Create a new which can be used to
/// create a new in a fluent flashion.
/// Call to create the actual
/// instance
///
/// RequestContextBuilder
public static RequestContextBuilder ConfigureRequestContext()
{
return new RequestContextBuilder();
}
}
}