init lserp cs 5.0
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
namespace Cef3
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using Cef3.Interop;
|
||||
|
||||
/// <summary>
|
||||
/// Class used to represent a single element in the request post data. The
|
||||
/// methods of this class may be called on any thread.
|
||||
/// </summary>
|
||||
public sealed unsafe partial class CefPostDataElement
|
||||
{
|
||||
/// <summary>
|
||||
/// Create a new CefPostDataElement object.
|
||||
/// </summary>
|
||||
public static CefPostDataElement Create()
|
||||
{
|
||||
return CefPostDataElement.FromNative(
|
||||
cef_post_data_element_t.create()
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if this object is read-only.
|
||||
/// </summary>
|
||||
public bool IsReadOnly
|
||||
{
|
||||
get { return cef_post_data_element_t.is_read_only(_self) != 0; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove all contents from the post data element.
|
||||
/// </summary>
|
||||
public void SetToEmpty()
|
||||
{
|
||||
cef_post_data_element_t.set_to_empty(_self);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The post data element will represent a file.
|
||||
/// </summary>
|
||||
public void SetToFile(string fileName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(fileName)) throw new ArgumentException("Argument can't be null or empty.", "fileName");
|
||||
|
||||
fixed (char* fileName_str = fileName)
|
||||
{
|
||||
var n_fileName = new cef_string_t(fileName_str, fileName.Length);
|
||||
cef_post_data_element_t.set_to_file(_self, &n_fileName);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The post data element will represent bytes. The bytes passed
|
||||
/// in will be copied.
|
||||
/// </summary>
|
||||
public void SetToBytes(byte[] bytes)
|
||||
{
|
||||
if (bytes == null) throw new ArgumentNullException("bytes");
|
||||
|
||||
fixed (byte* bytes_ptr = bytes)
|
||||
{
|
||||
cef_post_data_element_t.set_to_bytes(_self, (UIntPtr)bytes.Length, bytes_ptr);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return the type of this post data element.
|
||||
/// </summary>
|
||||
public CefPostDataElementType ElementType
|
||||
{
|
||||
get { return cef_post_data_element_t.get_type(_self); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return the file name.
|
||||
/// </summary>
|
||||
public string GetFile()
|
||||
{
|
||||
var n_result = cef_post_data_element_t.get_file(_self);
|
||||
return cef_string_userfree.ToString(n_result);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return the number of bytes.
|
||||
/// </summary>
|
||||
public long BytesCount
|
||||
{
|
||||
get { return (long)cef_post_data_element_t.get_bytes_count(_self); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Read up to |size| bytes into |bytes| and return the number of bytes
|
||||
/// actually read.
|
||||
/// </summary>
|
||||
public byte[] GetBytes()
|
||||
{
|
||||
var size = BytesCount;
|
||||
if (size == 0) return new byte[0];
|
||||
|
||||
var bytes = new byte[size];
|
||||
fixed (byte* bytes_ptr = bytes)
|
||||
{
|
||||
var written = (long)cef_post_data_element_t.get_bytes(_self, (UIntPtr)size, bytes_ptr);
|
||||
if (written != size) throw new InvalidOperationException();
|
||||
}
|
||||
|
||||
return bytes;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user