[csmaild-cvs] csmaild/src/Common/MailstoreProviders IMailstoreProvider.cs,1.7,1.8 XmlMailstoreProvid
Brought to you by:
tamc
|
From: <ta...@us...> - 2003-08-03 01:04:30
|
Update of /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders
In directory sc8-pr-cvs1:/tmp/cvs-serv17238/src/Common/MailstoreProviders
Modified Files:
IMailstoreProvider.cs XmlMailstoreProvider.cs
Log Message:
Can add messages to mailboxes now.
Some minor fixes and additions to rfc2822 code
Index: IMailstoreProvider.cs
===================================================================
RCS file: /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders/IMailstoreProvider.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** IMailstoreProvider.cs 1 Aug 2003 22:02:37 -0000 1.7
--- IMailstoreProvider.cs 3 Aug 2003 01:04:27 -0000 1.8
***************
*** 74,78 ****
#region Message stuff
- #region Message accessors
/// <summary>
/// Gets the message
--- 74,77 ----
***************
*** 97,103 ****
/// <returns>An array containing the mailboxes (valid array of size 0 if none)</returns>
MessageCollection GetMessages(Mailbox box);
- #endregion
- #region Message delete
/// <summary>
/// Deletes all the messages in a mailbox
--- 96,100 ----
***************
*** 105,109 ****
/// <param name="box">The mailbox to clear out</param>
void DeleteMessages(Mailbox box);
! #endregion
#endregion
--- 102,113 ----
/// <param name="box">The mailbox to clear out</param>
void DeleteMessages(Mailbox box);
!
!
! /// <summary>
! /// Inserts the message into the data store
! /// </summary>
! /// <param name="msg">The message to insert</param>
! /// <returns>True is successful, false otherwise</returns>
! bool InsertMessage(Message msg, TextReader rawSrc);
#endregion
Index: XmlMailstoreProvider.cs
===================================================================
RCS file: /cvsroot/csmaild/csmaild/src/Common/MailstoreProviders/XmlMailstoreProvider.cs,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** XmlMailstoreProvider.cs 2 Aug 2003 15:57:10 -0000 1.9
--- XmlMailstoreProvider.cs 3 Aug 2003 01:04:27 -0000 1.10
***************
*** 132,135 ****
--- 132,137 ----
row["Unmarked"] = box.Unmarked;
}
+
+ Save(false, true, false);
}
#endregion
***************
*** 206,210 ****
{
DataRow message = messages[idx];
! msgs.Add(new Message(this, message["Id"], uint.Parse(message["UniqueIdentifier"].ToString()), bool.Parse(message["Seen"].ToString()), bool.Parse(message["Answered"].ToString()), bool.Parse(message["Flagged"].ToString()), bool.Parse(message["Deleted"].ToString()), bool.Parse(message["Draft"].ToString()), int.Parse(message["Size"].ToString()), DateTime.Parse(message["InternalDate"].ToString())));
}
--- 208,212 ----
{
DataRow message = messages[idx];
! msgs.Add(new Message(this, box, message["Id"], uint.Parse(message["UniqueIdentifier"].ToString()), bool.Parse(message["Seen"].ToString()), bool.Parse(message["Answered"].ToString()), bool.Parse(message["Flagged"].ToString()), bool.Parse(message["Deleted"].ToString()), bool.Parse(message["Draft"].ToString()), bool.Parse(message["Recent"].ToString()), int.Parse(message["Size"].ToString()), DateTime.Parse(message["InternalDate"].ToString())));
}
***************
*** 220,223 ****
--- 222,253 ----
msg.Delete();
Save(false, false, true);
+ }
+ #endregion
+
+ #region Message insert
+ public bool InsertMessage(Message msg, TextReader rawSrc)
+ {
+ DataRow newMsg = mMessages.NewRow();
+
+ msg.ProvidersIdentifier = mNextMessageId++;
+
+ // set provider specific unique id
+ newMsg["Id"] = msg.ProvidersIdentifier;
+ newMsg["MailboxId"] = msg.Mailbox.ProvidersIdentifier;
+ newMsg["UniqueIdentifier"] = msg.UniqueId;
+ newMsg["Seen"] = msg.Seen;
+ newMsg["Answered"] = msg.Answered;
+ newMsg["Flagged"] = msg.Flagged;
+ newMsg["Deleted"] = msg.Deleted;
+ newMsg["Draft"] = msg.Draft;
+ newMsg["Recent"] = msg.Recent;
+ newMsg["Size"] = msg.Size;
+ newMsg["InternalDate"] = msg.InternalDate;
+ newMsg["RawMessage"] = rawSrc.ReadToEnd();
+
+ mMessages.Rows.Add(newMsg);
+ Save(false, false, true);
+
+ return true;
}
#endregion
|