本文整理汇总了C#中LumiSoft.Net.MIME.MIME_Entity类的典型用法代码示例。如果您正苦于以下问题:C# MIME_Entity类的具体用法?C# MIME_Entity怎么用?C# MIME_Entity使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MIME_Entity类属于LumiSoft.Net.MIME命名空间,在下文中一共展示了MIME_Entity类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="defaultContentType">Default content-type for this body.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>defaultContentType</b> or <b>stream</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static new MIME_b Parse(MIME_Entity owner,MIME_h_ContentType defaultContentType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
// We need to buffer all body data, otherwise we don't know if we have readed all data
// from stream.
MemoryStream msBuffer = new MemoryStream();
Net_Utils.StreamCopy(stream,msBuffer,32000);
msBuffer.Position = 0;
SmartStream parseStream = new SmartStream(msBuffer,true);
MIME_b_MessageDeliveryStatus retVal = new MIME_b_MessageDeliveryStatus();
//Pare per-message fields.
retVal.m_pMessageFields.Parse(parseStream);
// Parse per-recipient fields.
while(parseStream.Position - parseStream.BytesInReadBuffer < parseStream.Length){
MIME_h_Collection recipientFields = new MIME_h_Collection(new MIME_h_Provider());
recipientFields.Parse(parseStream);
retVal.m_pRecipientBlocks.Add(recipientFields);
}
return retVal;
}
示例2: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="defaultContentType">Default content-type for this body.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>mediaType</b> or <b>stream</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static new MIME_b Parse(MIME_Entity owner,MIME_h_ContentType defaultContentType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
MIME_b_Text retVal = null;
if(owner.ContentType != null){
retVal = new MIME_b_Text(owner.ContentType.TypeWithSubtype);
}
else{
retVal = new MIME_b_Text(defaultContentType.TypeWithSubtype);
}
Net_Utils.StreamCopy(stream,retVal.EncodedStream,32000);
retVal.SetModified(false);
return retVal;
}
示例3: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="defaultContentType">Default content-type for this body.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>defaultContentType</b> or <b>strean</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static new MIME_b Parse(MIME_Entity owner,MIME_h_ContentType defaultContentType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
string mediaType = null;
try{
mediaType = owner.ContentType.TypeWithSubtype;
}
catch{
mediaType = "unparsable/unparsable";
}
MIME_b_Unknown retVal = new MIME_b_Unknown(mediaType);
Net_Utils.StreamCopy(stream,retVal.EncodedStream,32000);
return retVal;
}
示例4: SetParent
/// <summary>
/// Sets body parent.
/// </summary>
/// <param name="entity">Owner entity.</param>
/// <param name="setContentType">If true sets entity.ContentType header value.</param>
internal virtual void SetParent(MIME_Entity entity,bool setContentType)
{
m_pEntity = entity;
// Owner entity has no content-type or has different content-type, just add/overwrite it.
if(setContentType &&(entity.ContentType == null || !string.Equals(entity.ContentType.TypeWithSubtype,this.MediaType,StringComparison.InvariantCultureIgnoreCase))){
entity.ContentType = m_pContentType;
}
}
示例5: Remove
/// <summary>
/// Removes specified MIME entity from the collection.
/// </summary>
/// <param name="entity">MIME entity.</param>
/// <exception cref="ArgumentNullException">Is raised when <b>field</b> is null reference.</exception>
public void Remove(MIME_Entity entity)
{
if(entity == null){
throw new ArgumentNullException("field");
}
m_pCollection.Remove(entity);
m_IsModified = true;
}
示例6: Insert
/// <summary>
/// Inserts a new MIME entity into the collection at the specified location.
/// </summary>
/// <param name="index">The location in the collection where you want to add the MIME entity.</param>
/// <param name="entity">MIME entity.</param>
/// <exception cref="IndexOutOfRangeException">Is raised when <b>index</b> is out of range.</exception>
/// <exception cref="ArgumentNullException">Is raised when <b>entity</b> is null reference.</exception>
public void Insert(int index,MIME_Entity entity)
{
if(entity == null){
throw new ArgumentNullException("entity");
}
m_pCollection.Insert(index,entity);
m_IsModified = true;
}
示例7: SetParent
/// <summary>
/// Sets body parent.
/// </summary>
/// <param name="entity">Owner entity.</param>
/// <param name="setContentType">If true sets entity.ContentType header value.</param>
internal override void SetParent(MIME_Entity entity,bool setContentType)
{
base.SetParent(entity,setContentType);
// Owner entity has no content-type or has different content-type, just add/overwrite it.
if(setContentType && (this.Entity.ContentType == null || !string.Equals(this.Entity.ContentType.TypeWithSubtype,this.MediaType,StringComparison.InvariantCultureIgnoreCase))){
this.Entity.ContentType = new MIME_h_ContentType(MediaType);
}
}
示例8: Add
/// <summary>
/// Adds specified MIME enity to the collection.
/// </summary>
/// <param name="entity">MIME entity.</param>
/// <exception cref="ArgumentNullException">Is raised when <b>entity</b> is null reference.</exception>
public void Add(MIME_Entity entity)
{
if(entity == null){
throw new ArgumentNullException("entity");
}
m_pCollection.Add(entity);
m_IsModified = true;
}
示例9: Parse
/// <summary>
/// Parses MIME entity body from specified stream.
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="stream">Stream from where to parse entity body.</param>
/// <param name="defaultContentType">Default content type.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>owner</b>, <b>strean</b> or <b>defaultContentType</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when header field parsing errors.</exception>
public MIME_b Parse(MIME_Entity owner,SmartStream stream,MIME_h_ContentType defaultContentType)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
string mediaType = defaultContentType.TypeWithSubype;
if(owner.ContentType != null){
mediaType = owner.ContentType.TypeWithSubype;
}
Type bodyType = null;
// We have exact body provider for specified mediaType.
if(m_pBodyTypes.ContainsKey(mediaType)){
bodyType = m_pBodyTypes[mediaType];
}
// Use default mediaType.
else{
// Registered list of mediaTypes are available: http://www.iana.org/assignments/media-types/.
string mediaRootType = mediaType.Split('/')[0].ToLowerInvariant();
if(mediaRootType == "application"){
bodyType = typeof(MIME_b_Application);
}
else if(mediaRootType == "audio"){
bodyType = typeof(MIME_b_Audio);
}
else if(mediaRootType == "image"){
bodyType = typeof(MIME_b_Image);
}
else if(mediaRootType == "message"){
bodyType = typeof(MIME_b_Message);
}
else if(mediaRootType == "multipart"){
bodyType = typeof(MIME_b_Multipart);
}
else if(mediaRootType == "text"){
bodyType = typeof(MIME_b_Text);
}
else if(mediaRootType == "video"){
bodyType = typeof(MIME_b_Video);
}
else{
throw new ParseException("Invalid media-type '" + mediaType + "'.");
}
}
return (MIME_b)bodyType.GetMethod("Parse",System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.FlattenHierarchy).Invoke(null,new object[]{owner,mediaType,stream});
}
示例10: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="defaultContentType">Default content-type for this body.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>defaultContentType</b> or <b>stream</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static MIME_b Parse(MIME_Entity owner,MIME_h_ContentType defaultContentType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
throw new NotImplementedException("Body provider class does not implement required Parse method.");
}
示例11: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="defaultContentType">Default content-type for this body.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>defaultContentType</b> or <b>stream</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static new MIME_b Parse(MIME_Entity owner,MIME_h_ContentType defaultContentType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
MIME_b_MessageRfc822 retVal = new MIME_b_MessageRfc822();
retVal.m_pMessage = Mail_Message.ParseFromStream(stream);
return retVal;
}
示例12: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="defaultContentType">Default content-type for this body.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>defaultContentType</b> or <b>strean</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static new MIME_b Parse(MIME_Entity owner,MIME_h_ContentType defaultContentType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
MIME_b_ApplicationPkcs7Mime retVal = new MIME_b_ApplicationPkcs7Mime();
Net_Utils.StreamCopy(stream,retVal.EncodedStream,32000);
return retVal;
}
示例13: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="mediaType">MIME media type. For example: text/plain.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>mediaType</b> or <b>strean</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static new MIME_b Parse(MIME_Entity owner,string mediaType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(mediaType == null){
throw new ArgumentNullException("mediaType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
MIME_b_Audio retVal = new MIME_b_Audio(mediaType);
Net_Utils.StreamCopy(stream,retVal.EncodedStream,32000);
return retVal;
}
示例14: CreateEntity_Text_Plain
/// <summary>
/// Creates text/plain MIME entity.
/// </summary>
/// <param name="transferEncoding">Content transfer encoding.</param>
/// <param name="charset">Charset to use to encode text. If not sure, utf-8 is recommended.</param>
/// <param name="text">Text.</param>
/// <returns>Returns created entity.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>transferEncoding</b>, <b>charset</b> or <b>text</b> is null reference.</exception>
/// <exception cref="NotSupportedException">Is raised when body contains not supported Content-Transfer-Encoding.</exception>
public static MIME_Entity CreateEntity_Text_Plain(string transferEncoding,Encoding charset,string text)
{
if(transferEncoding == null){
throw new ArgumentNullException("transferEncoding");
}
if(charset == null){
throw new ArgumentNullException("charset");
}
if(text == null){
throw new ArgumentNullException("text");
}
MIME_Entity retVal = new MIME_Entity();
MIME_b_Text body = new MIME_b_Text(MIME_MediaTypes.Text.plain);
retVal.Body = body;
body.SetText(transferEncoding,charset,text);
return retVal;
}
示例15: Parse
/// <summary>
/// Parses body from the specified stream
/// </summary>
/// <param name="owner">Owner MIME entity.</param>
/// <param name="defaultContentType">Default content-type for this body.</param>
/// <param name="stream">Stream from where to read body.</param>
/// <returns>Returns parsed body.</returns>
/// <exception cref="ArgumentNullException">Is raised when <b>stream</b>, <b>defaultContentType</b> or <b>stream</b> is null reference.</exception>
/// <exception cref="ParseException">Is raised when any parsing errors.</exception>
protected static new MIME_b Parse(MIME_Entity owner,MIME_h_ContentType defaultContentType,SmartStream stream)
{
if(owner == null){
throw new ArgumentNullException("owner");
}
if(defaultContentType == null){
throw new ArgumentNullException("defaultContentType");
}
if(stream == null){
throw new ArgumentNullException("stream");
}
if(owner.ContentType == null || owner.ContentType.Param_Boundary == null){
throw new ParseException("Multipart entity has not required 'boundary' paramter.");
}
MIME_b_MultipartParallel retVal = new MIME_b_MultipartParallel(owner.ContentType);
ParseInternal(owner,owner.ContentType.TypeWithSubtype,stream,retVal);
return retVal;
}