// Copyright © 2015 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.
using System;
using System.Collections.Generic;
namespace CefSharp
{
///
/// Class used to represent post data for a web request. The methods of this class may be called on any thread.
///
public interface IPostData : IDisposable
{
///
/// Add the specified .
///
/// element to be added.
/// Returns true if the add succeeds.
bool AddElement(IPostDataElement element);
///
/// Remove the specified .
///
/// element to be removed.
/// Returns true if the add succeeds.
bool RemoveElement(IPostDataElement element);
///
/// Retrieve the post data elements.
///
IList Elements { get; }
///
/// Returns true if this object is read-only.
///
bool IsReadOnly { get; }
///
/// Remove all existing post data elements.
///
void RemoveElements();
///
/// Gets a value indicating whether the object has been disposed of.
///
bool IsDisposed { get; }
///
/// Create a new instance
///
/// PostDataElement
IPostDataElement CreatePostDataElement();
///
/// Returns true if the underlying POST data includes elements that are not
/// represented by this IPostData object (for example, multi-part file upload
/// data). Modifying IPostData objects with excluded elements may result in
/// the request failing.
///
bool HasExcludedElements { get; }
}
}