/// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Owner user message rule.</param>
        internal UserMessageRuleActionCollection(UserMessageRule rule)
        {
            m_pRule    = rule;
            m_pActions = new List<UserMessageRuleActionBase>();

            Bind();
        }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 internal UserMessageRuleAction_DeleteMessage(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description) : base(UserMessageRuleAction_enum.DeleteMessage,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
             </ActionData>
     */
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 internal UserMessageRuleAction_DeleteMessage(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description) : base(UserMessageRuleAction_enum.DeleteMessage, rule, owner, id, description)
 {
     /*  Action data structure:
      *      <ActionData>
      *      </ActionData>
      */
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Adds new user message rule to virtual server.
        /// </summary>
        /// <param name="enabled">Specifies if user message rules is enabled.</param>
        /// <param name="description">User message rule description.</param>
        /// <param name="matchExpression">Match expression.</param>
        /// <param name="checkNext">Specifies when next rule is checked.</param>
        /// <returns></returns>
        public UserMessageRule Add(bool enabled, string description, string matchExpression, GlobalMessageRule_CheckNextRule_enum checkNext)
        {
            /* AddUserMessageRule <virtualServerID> "<userID>" "<ruleID>" <cost> <enabled> "<description>" "<matchExpression>" <checkNext>
             *    Responses:
             +OK
             *      -ERR <errorText>
             */

            string id   = Guid.NewGuid().ToString();
            long   cost = DateTime.Now.Ticks;

            // Call TCP AddUserMessageRule
            m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("AddUserMessageRule " +
                                                                       m_pUser.VirtualServer.VirtualServerID + " " +
                                                                       TextUtils.QuoteString(m_pUser.UserID) + " " +
                                                                       TextUtils.QuoteString(id) + " " +
                                                                       cost + " " +
                                                                       enabled + " " +
                                                                       TextUtils.QuoteString(description) + " " +
                                                                       TextUtils.QuoteString(matchExpression.TrimEnd()) + " " +
                                                                       (int)checkNext
                                                                       );

            string response = m_pUser.VirtualServer.Server.ReadLine();

            if (!response.ToUpper().StartsWith("+OK"))
            {
                throw new Exception(response);
            }

            UserMessageRule rule = new UserMessageRule(this, id, cost, enabled, description, matchExpression, checkNext);

            m_pRules.Add(rule);
            return(rule);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Deletes specified user message rule from virtual server.
        /// </summary>
        /// <param name="rule">User message rule to delete.</param>
        public void Remove(UserMessageRule rule)
        {
            /* DeleteUserMessageRule <virtualServerID> "<userID>" "<ruleID>"
             *    Responses:
             +OK
             *      -ERR <errorText>
             */

            string id = Guid.NewGuid().ToString();

            // Call TCP DeleteUserMessageRule
            m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUserMessageRule " +
                                                                       m_pUser.VirtualServer.VirtualServerID + " " +
                                                                       TextUtils.QuoteString(m_pUser.UserID) + " " +
                                                                       TextUtils.QuoteString(rule.ID)
                                                                       );

            string response = m_pUser.VirtualServer.Server.ReadLine();

            if (!response.ToUpper().StartsWith("+OK"))
            {
                throw new Exception(response);
            }

            m_pRules.Remove(rule);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Adds new user message rule to virtual server.
        /// </summary>
        /// <param name="enabled">Specifies if user message rules is enabled.</param>
        /// <param name="description">User message rule description.</param>
        /// <param name="matchExpression">Match expression.</param>
        /// <param name="checkNext">Specifies when next rule is checked.</param>
        /// <returns></returns>
        public UserMessageRule Add(bool enabled,string description,string matchExpression,GlobalMessageRule_CheckNextRule_enum checkNext)
        {
            /* AddUserMessageRule <virtualServerID> "<userID>" "<ruleID>" <cost> <enabled> "<description>" "<matchExpression>" <checkNext>
                  Responses:
                    +OK                     
                    -ERR <errorText>
            */
            
            string id   = Guid.NewGuid().ToString();
            long   cost = DateTime.Now.Ticks;

            // Call TCP AddUserMessageRule
            m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("AddUserMessageRule " + 
                m_pUser.VirtualServer.VirtualServerID + " " + 
                TextUtils.QuoteString(m_pUser.UserID) + " " + 
                TextUtils.QuoteString(id) + " " + 
                cost + " " +
                enabled + " " +
                TextUtils.QuoteString(description) + " " + 
                TextUtils.QuoteString(matchExpression.TrimEnd()) + " " + 
                (int)checkNext
            );
                        
            string response = m_pUser.VirtualServer.Server.ReadLine();
            if(!response.ToUpper().StartsWith("+OK")){
                throw new Exception(response);
            }

            UserMessageRule rule = new UserMessageRule(this,id,cost,enabled,description,matchExpression,checkNext);
            m_pRules.Add(rule);
            return rule;
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Owner user message rule.</param>
        internal UserMessageRuleActionCollection(UserMessageRule rule)
        {
            m_pRule    = rule;
            m_pActions = new List <UserMessageRuleActionBase>();

            Bind();
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="actionType">Specifies action type.</param>
 /// <param name="rule">Onwer rule that owns this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 internal UserMessageRuleActionBase(UserMessageRuleAction_enum actionType, UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description)
 {
     m_ActionType  = actionType;
     m_pRule       = rule;
     m_pOwner      = owner;
     m_ID          = id;
     m_Description = description;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="actionType">Specifies action type.</param>
 /// <param name="rule">Onwer rule that owns this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 internal UserMessageRuleActionBase(UserMessageRuleAction_enum actionType,UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description)
 {
     m_ActionType  = actionType;
     m_pRule       = rule;
     m_pOwner      = owner;
     m_ID          = id;
     m_Description = description;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="host">FTP server where to store message.</param>
 /// <param name="port">FTP server port.</param>
 /// <param name="userName">FTP server user name.</param>
 /// <param name="password">FTP server user password.</param>
 /// <param name="folder">FTP folder where to store message.</param>
 internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string host, int port, string userName, string password, string folder) : base(UserMessageRuleAction_enum.StoreToFTPFolder, rule, owner, id, description)
 {
     m_Server   = host;
     m_Port     = port;
     m_UserName = userName;
     m_Password = password;
     m_Folder   = folder;
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="host">FTP server where to store message.</param>
        /// <param name="port">FTP server port.</param>
        /// <param name="userName">FTP server user name.</param>
        /// <param name="password">FTP server user password.</param>
        /// <param name="folder">FTP folder where to store message.</param>
        internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string host,int port,string userName,string password,string folder) : base(UserMessageRuleAction_enum.StoreToFTPFolder,rule,owner,id,description)
        {
            m_Server   = host;
            m_Port     = port;
            m_UserName = userName;
            m_Password = password;
            m_Folder   = folder;

        }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.RemoveHeaderField,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <HeaderFieldName></HeaderFieldName>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_HeaderFieldName = table.GetValue("HeaderFieldName");            
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToEmail,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <Email></Email>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_EmailAddress = table.GetValue("Email");            
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.StoreToDiskFolder,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <Folder></Folder>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_Folder = table.GetValue("Folder");            
 }
Ejemplo n.º 15
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToEmail, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <Email></Email>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_EmailAddress = table.GetValue("Email");
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.StoreToDiskFolder, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <Folder></Folder>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_Folder = table.GetValue("Folder");
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.RemoveHeaderField, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <HeaderFieldName></HeaderFieldName>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_HeaderFieldName = table.GetValue("HeaderFieldName");
        }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.ExecuteProgram,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <Program></Program>
                 <Arguments></Arguments>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_Program     = table.GetValue("Program");
     m_ProgramArgs = table.GetValue("Arguments");            
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToHost,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <Host></Host>
                 <Port></Port>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_Host = table.GetValue("Host");
     m_Port = Convert.ToInt32(table.GetValue("Port"));
 }
Ejemplo n.º 20
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_PostToHttp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.PostToHTTP,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <URL></URL>
                 <FileName></FileName>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_Url = table.GetValue("URL");
  // table.GetValue("FileName");            
 }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_PostToHttp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.PostToHTTP, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <URL></URL>
             *          <FileName></FileName>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_Url = table.GetValue("URL");
            // table.GetValue("FileName");
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.ForwardToHost, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <Host></Host>
             *          <Port></Port>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_Host = table.GetValue("Host");
            m_Port = Convert.ToInt32(table.GetValue("Port"));
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_AutoResponse(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.AutoResponse,rule,owner,id,description)
        {
            /*  Action data structure:
                    <ActionData>
                        <From></From>
                        <Message></Message>
                    </ActionData>
            */

            
            XmlTable table = new XmlTable("ActionData");
            table.Parse(actionData);
            m_From    = table.GetValue("From");
            m_Message = System.Text.Encoding.Default.GetBytes(table.GetValue("Message"));  
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.ExecuteProgram, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <Program></Program>
             *          <Arguments></Arguments>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_Program     = table.GetValue("Program");
            m_ProgramArgs = table.GetValue("Arguments");
        }
Ejemplo n.º 25
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_AutoResponse(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.AutoResponse, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <From></From>
             *          <Message></Message>
             *      </ActionData>
             */


            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_From    = table.GetValue("From");
            m_Message = System.Text.Encoding.Default.GetBytes(table.GetValue("Message"));
        }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <Server></Server>
                 <Port></Server>
                 <User></User>
                 <Password></Password>
                 <Newsgroup></Newsgroup>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_Server    = table.GetValue("Server");
     m_Port      = Convert.ToInt32(table.GetValue("Port"));
     // table.Add("User","");
     // table.Add("Password","");
     m_Newsgroup = table.GetValue("Newsgroup");            
 }
Ejemplo n.º 27
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner USerMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="actionData">Action data.</param>
 internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,byte[] actionData) : base(UserMessageRuleAction_enum.StoreToFTPFolder,rule,owner,id,description)
 {
     /*  Action data structure:
             <ActionData>
                 <Server></Server>
                 <Port></Server>
                 <User></User>
                 <Password></Password>
                 <Folder></Folder>
             </ActionData>
     */
                 
     XmlTable table = new XmlTable("ActionData");
     table.Parse(actionData);
     m_Server   = table.GetValue("Server");
     m_Port     = Convert.ToInt32(table.GetValue("Port"));
     m_UserName = table.GetValue("User");
     m_Password = table.GetValue("Password");
     m_Folder   = table.GetValue("Folder");            
 }
Ejemplo n.º 28
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <Server></Server>
             *          <Port></Server>
             *          <User></User>
             *          <Password></Password>
             *          <Newsgroup></Newsgroup>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_Server = table.GetValue("Server");
            m_Port   = Convert.ToInt32(table.GetValue("Port"));
            // table.Add("User","");
            // table.Add("Password","");
            m_Newsgroup = table.GetValue("Newsgroup");
        }
        /// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="rule">Onwer rule that ows this action.</param>
        /// <param name="owner">Owner USerMessageRuleActionCollection that owns this action.</param>
        /// <param name="id">Action ID.</param>
        /// <param name="description">Action description.</param>
        /// <param name="actionData">Action data.</param>
        internal UserMessageRuleAction_StoreToFtp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, byte[] actionData) : base(UserMessageRuleAction_enum.StoreToFTPFolder, rule, owner, id, description)
        {
            /*  Action data structure:
             *      <ActionData>
             *          <Server></Server>
             *          <Port></Server>
             *          <User></User>
             *          <Password></Password>
             *          <Folder></Folder>
             *      </ActionData>
             */

            XmlTable table = new XmlTable("ActionData");

            table.Parse(actionData);
            m_Server   = table.GetValue("Server");
            m_Port     = Convert.ToInt32(table.GetValue("Port"));
            m_UserName = table.GetValue("User");
            m_Password = table.GetValue("Password");
            m_Folder   = table.GetValue("Folder");
        }
Ejemplo n.º 30
0
        /// <summary>
        /// Edit constructor.
        /// </summary>
        /// <param name="user">Message rule owner user</param>
        /// <param name="rule">Rule to update.</param>
        public wfrm_User_MessageRule(User user,UserMessageRule rule)
        {
            m_pUser = user;
            m_pRule = rule;

            InitUI();
        
            m_pTab_General_Enabled.Checked = rule.Enabled;
            if(rule.CheckNextRule == GlobalMessageRule_CheckNextRule_enum.Always){
                m_pTab_General_CheckNextRule.SelectedIndex = 0;
            }
            else if(rule.CheckNextRule == GlobalMessageRule_CheckNextRule_enum.IfMatches){
                m_pTab_General_CheckNextRule.SelectedIndex = 1;
            }
            else if(rule.CheckNextRule == GlobalMessageRule_CheckNextRule_enum.IfNotMatches){
                m_pTab_General_CheckNextRule.SelectedIndex = 2;
            }
            m_pTab_General_Description.Text = rule.Description;
            m_pTab_General_MatchExpression.Text = rule.MatchExpression;
            this.m_pTab_General_MatchExpression_TextChanged(this,new EventArgs());

            LoadActions();
        }
Ejemplo n.º 31
0
        /// <summary>
        /// Deletes specified user message rule from virtual server.
        /// </summary>
        /// <param name="rule">User message rule to delete.</param>
        public void Remove(UserMessageRule rule)
        {
            /* DeleteUserMessageRule <virtualServerID> "<userID>" "<ruleID>"
                  Responses:
                    +OK                     
                    -ERR <errorText>
            */
            
            string id = Guid.NewGuid().ToString();

            // Call TCP DeleteUserMessageRule
            m_pUser.VirtualServer.Server.TcpClient.TcpStream.WriteLine("DeleteUserMessageRule " + 
                m_pUser.VirtualServer.VirtualServerID + " " +
                TextUtils.QuoteString(m_pUser.UserID) + " " +
                TextUtils.QuoteString(rule.ID)
            );
                        
            string response = m_pUser.VirtualServer.Server.ReadLine();
            if(!response.ToUpper().StartsWith("+OK")){
                throw new Exception(response);
            }

            m_pRules.Remove(rule);
        }
 /// <summary>
 /// Default constructor. 
 /// </summary>
 /// <param name="rule">Onwer rule that owns this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="headerFieldName">Header field name.</param>
 /// <param name="headerFieldValue">Header field name.</param>
 internal UserMessageRuleAction_AddHeaderField(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string headerFieldName,string headerFieldValue) : base(UserMessageRuleAction_enum.AddHeaderField,rule,owner,id,description)
 {
     m_HeaderFieldName  = headerFieldName;
     m_HeaderFieldValue = headerFieldValue;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="headerField">Header field name what to remove.</param>
 internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string headerField) : base(UserMessageRuleAction_enum.RemoveHeaderField, rule, owner, id, description)
 {
     m_HeaderFieldName = headerField;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="headerField">Header field name what to remove.</param>
 internal UserMessageRuleAction_RemoveHeaderField(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string headerField) : base(UserMessageRuleAction_enum.RemoveHeaderField,rule,owner,id,description)
 {
     m_HeaderFieldName = headerField;
 }
Ejemplo n.º 35
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="from">MAIL FROM: what is reported to destination SMTP server when auto response is sent.</param>
 /// <param name="message">Full auto response message. This must be rfc 2822 defined message.</param>
 internal UserMessageRuleAction_AutoResponse(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string from, byte[] message) : base(UserMessageRuleAction_enum.AutoResponse, rule, owner, id, description)
 {
     m_From    = from;
     m_Message = message;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="host">Host name or IP where to forward message.</param>
 /// <param name="port">Destination host port.</param>
 internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string host,int port) : base(UserMessageRuleAction_enum.ForwardToHost,rule,owner,id,description)
 {
     m_Host = host;
     m_Port = port;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="from">MAIL FROM: what is reported to destination SMTP server when auto response is sent.</param>
 /// <param name="message">Full auto response message. This must be rfc 2822 defined message.</param>
 internal UserMessageRuleAction_AutoResponse(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string from,byte[] message) : base(UserMessageRuleAction_enum.AutoResponse,rule,owner,id,description)
 {
     m_From    = from;
     m_Message = message;
 }
Ejemplo n.º 38
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="url">HTTP URL where to post message.</param>
 internal UserMessageRuleAction_PostToHttp(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string url) : base(UserMessageRuleAction_enum.PostToHTTP,rule,owner,id,description)
 {
     m_Url = url;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="program">Program to execute.</param>
 /// <param name="programArgs">Executable program arguments.</param>
 internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string program,string programArgs) : base(UserMessageRuleAction_enum.ExecuteProgram,rule,owner,id,description)
 {
     m_Program     = program;
     m_ProgramArgs = programArgs;
 }
Ejemplo n.º 40
0
        /// <summary>
        /// Add constructor.
        /// </summary>
        /// <param name="rule">Owner rule.</param>
        public wfrm_UserMessageRule_Action(UserMessageRule rule)
        {
            m_pRule = rule;

            InitUI();

            m_pAction.SelectedIndex = 0;
        }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="folder">IMAP folder where to move message. If specified folder doesn't exist, message is store users Inbox.</param>
 internal UserMessageRuleAction_MoveToImapFolder(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string folder) : base(UserMessageRuleAction_enum.MoveToIMAPFolder, rule, owner, id, description)
 {
     m_Folder = folder;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="folder">IMAP folder where to move message. If specified folder doesn't exist, message is store users Inbox.</param>
 internal UserMessageRuleAction_MoveToImapFolder(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string folder) : base(UserMessageRuleAction_enum.MoveToIMAPFolder,rule,owner,id,description)
 {
     m_Folder = folder;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="host">NTTP server where to post message.</param>
 /// <param name="port">NNTP server port.</param>
 /// <param name="newsgroup">NTTP newsgroup where to post message.</param>
 internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string host,int port,string newsgroup) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup,rule,owner,id,description)
 {
     m_Server    = host;
     m_Port      = port;
     m_Newsgroup = newsgroup;
 }
Ejemplo n.º 44
0
        private void m_pOk_Click(object sender, EventArgs e)
        {
            if(!CheckSyntax(false)){
                return;
            }

            if(m_pTab_General_Description.Text == ""){
                MessageBox.Show(this,"Please fill description !","Error:",MessageBoxButtons.OK,MessageBoxIcon.Error);
                return;
            }            
                 
            // Add new rule
            if(m_pRule == null){                
                m_pRule = m_pUser.MessageRules.Add(
                    m_pTab_General_Enabled.Checked,
                    m_pTab_General_Description.Text,
                    m_pTab_General_MatchExpression.Text,
                    (GlobalMessageRule_CheckNextRule_enum)((WComboBoxItem)m_pTab_General_CheckNextRule.SelectedItem).Tag
                );
            }
            // Edit rule
            else{
                m_pRule.Enabled         = m_pTab_General_Enabled.Checked;
                m_pRule.Description     = m_pTab_General_Description.Text;
                m_pRule.MatchExpression = m_pTab_General_MatchExpression.Text;
                m_pRule.CheckNextRule   = (GlobalMessageRule_CheckNextRule_enum)((WComboBoxItem)m_pTab_General_CheckNextRule.SelectedItem).Tag;
                m_pRule.Commit();
            }
            
            this.DialogResult = DialogResult.OK;
        }
Ejemplo n.º 45
0
        private void m_pTab_General_Create_Click(object sender,EventArgs e)
        {
            if(!CheckSyntax(false)){
                return;
            }

            m_pRule = m_pUser.MessageRules.Add(
                m_pTab_General_Enabled.Checked,
                m_pTab_General_Description.Text,
                m_pTab_General_MatchExpression.Text,
                (GlobalMessageRule_CheckNextRule_enum)((WComboBoxItem)m_pTab_General_CheckNextRule.SelectedItem).Tag
            );

            m_pTab_General_Create.Visible = false;
            m_pTab_General_MatchExpression.Height += 25;
            m_pTab.TabPages.Add(m_pTab_Actions);
        }
Ejemplo n.º 46
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="email">Email address where to forward message.</param>
 internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string email) : base(UserMessageRuleAction_enum.ForwardToEmail, rule, owner, id, description)
 {
     m_EmailAddress = email;
 }
Ejemplo n.º 47
0
        /// <summary>
        /// Edit constructor.
        /// </summary>
        /// <param name="rule">Owner rule.</param>
        /// <param name="action">User messgae rule action action.</param>
        public wfrm_UserMessageRule_Action(UserMessageRule rule,UserMessageRuleActionBase action)
        {
            m_pRule       = rule;
            m_pActionData = action;

            InitUI();

            m_pDescription.Text = action.Description;
            m_pAction.Enabled = false;

            //--- Pase action data -------------------------------------------------//

            #region AutoResponse

            if(action.ActionType == UserMessageRuleAction_enum.AutoResponse){
                UserMessageRuleAction_AutoResponse a = (UserMessageRuleAction_AutoResponse)action;
                m_pAutoResponse_From.Text        = a.From;
                m_pAutoResponse_FullMEssage.Text = System.Text.Encoding.Default.GetString(a.Message);
                
                m_pAction.SelectedIndex = 0;
            }

            #endregion

            #region DeleteMessage

            else if(action.ActionType == UserMessageRuleAction_enum.DeleteMessage){
                UserMessageRuleAction_DeleteMessage a = (UserMessageRuleAction_DeleteMessage)action;

                m_pAction.SelectedIndex = 1;
            }

            #endregion

            #region ExecuteProgram

            else if(action.ActionType == UserMessageRuleAction_enum.ExecuteProgram){
                UserMessageRuleAction_ExecuteProgram a = (UserMessageRuleAction_ExecuteProgram)action;
                m_pExecuteProgram_ProgramToExecute.Text = a.Program;
                m_pExecuteProgram_ProgramArguments.Text = a.ProgramArguments;

                m_pAction.SelectedIndex = 2;
            }

            #endregion

            #region ForwardToEmail

            else if(action.ActionType == UserMessageRuleAction_enum.ForwardToEmail){
                UserMessageRuleAction_ForwardToEmail a = (UserMessageRuleAction_ForwardToEmail)action;
                m_pForwardToEmail_Email.Text = a.EmailAddress;

                m_pAction.SelectedIndex = 3;
            }

            #endregion

            #region ForwardToHost

            else if(action.ActionType == UserMessageRuleAction_enum.ForwardToHost){
                UserMessageRuleAction_ForwardToHost a = (UserMessageRuleAction_ForwardToHost)action;
                m_pForwardToHost_Host.Text      = a.Host;
                m_pForwardToHost_HostPort.Value = a.Port;

                m_pAction.SelectedIndex = 4;
            }

            #endregion

            #region StoreToDiskFolder

            else if(action.ActionType == UserMessageRuleAction_enum.StoreToDiskFolder){
                UserMessageRuleAction_StoreToDiskFolder a = (UserMessageRuleAction_StoreToDiskFolder)action;
                m_pStoreToDiskFolder_Folder.Text = a.Folder;

                m_pAction.SelectedIndex = 5;
            }

            #endregion

            #region StoreToIMAPFolder

            else if(action.ActionType == UserMessageRuleAction_enum.MoveToIMAPFolder){
                UserMessageRuleAction_MoveToImapFolder a = (UserMessageRuleAction_MoveToImapFolder)action;
                m_pMoveToIMAPFolder_Folder.Text = a.Folder;

                m_pAction.SelectedIndex = 6;
            }

            #endregion

            #region AddHeaderField

            else if(action.ActionType == UserMessageRuleAction_enum.AddHeaderField){
                UserMessageRuleAction_AddHeaderField a = (UserMessageRuleAction_AddHeaderField)action;
                m_pAddHeaderField_FieldName.Text  = a.HeaderFieldName;
                m_pAddHeaderField_FieldValue.Text = a.HeaderFieldValue;

                m_pAction.SelectedIndex = 7;
            }

            #endregion

            #region RemoveHeaderField

            else if(action.ActionType == UserMessageRuleAction_enum.RemoveHeaderField){
                UserMessageRuleAction_RemoveHeaderField a = (UserMessageRuleAction_RemoveHeaderField)action;
                m_pRemoveHeaderField_FieldName.Text = a.HeaderFieldName;

                m_pAction.SelectedIndex = 8;
            }

            #endregion

            #region StoreToFTPFolder

            else if(action.ActionType == UserMessageRuleAction_enum.StoreToFTPFolder){
                UserMessageRuleAction_StoreToFtp a = (UserMessageRuleAction_StoreToFtp)action;
                m_pStoreToFTPFolder_Server.Text   = a.Server;
                m_pStoreToFTPFolder_Port.Value    = a.Port;
                m_pStoreToFTPFolder_User.Text     = a.UserName;
                m_pStoreToFTPFolder_Password.Text = a.Password;
                m_pStoreToFTPFolder_Folder.Text   = a.Folder;

                m_pAction.SelectedIndex = 10;
            }

            #endregion

            #region PostToNNTPNewsGroup

            else if(action.ActionType == UserMessageRuleAction_enum.PostToNNTPNewsGroup){
                UserMessageRuleAction_PostToNntpNewsgroup a = (UserMessageRuleAction_PostToNntpNewsgroup)action;
                m_pPostToNNTPNewsgroup_Server.Text = a.Server;
                m_pPostToNNTPNewsgroup_Port.Value  = a.Port;
                // table.Add("User","");
                // table.Add("Password","");
                m_pPostToNNTPNewsgroup_Newsgroup.Text = a.Newsgroup;

                m_pAction.SelectedIndex = 11;
            }

            #endregion

            #region PostToHTTP

            else if(action.ActionType == UserMessageRuleAction_enum.PostToHTTP){
                UserMessageRuleAction_PostToHttp a = (UserMessageRuleAction_PostToHttp)action;
                m_pPostToHTTP_URL.Text = a.Url;
                // table.GetValue("FileName");

                m_pAction.SelectedIndex = 12;
            }

            #endregion

            //---------------------------------------------------------------------//
        }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="url">HTTP URL where to post message.</param>
 internal UserMessageRuleAction_PostToHttp(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string url) : base(UserMessageRuleAction_enum.PostToHTTP, rule, owner, id, description)
 {
     m_Url = url;
 }
Ejemplo n.º 49
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="folder">Disk folder where to store message.</param>
 internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string folder) : base(UserMessageRuleAction_enum.StoreToDiskFolder, rule, owner, id, description)
 {
     m_Folder = folder;
 }
Ejemplo n.º 50
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="host">NTTP server where to post message.</param>
 /// <param name="port">NNTP server port.</param>
 /// <param name="newsgroup">NTTP newsgroup where to post message.</param>
 internal UserMessageRuleAction_PostToNntpNewsgroup(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string host, int port, string newsgroup) : base(UserMessageRuleAction_enum.PostToNNTPNewsGroup, rule, owner, id, description)
 {
     m_Server    = host;
     m_Port      = port;
     m_Newsgroup = newsgroup;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="program">Program to execute.</param>
 /// <param name="programArgs">Executable program arguments.</param>
 internal UserMessageRuleAction_ExecuteProgram(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string program, string programArgs) : base(UserMessageRuleAction_enum.ExecuteProgram, rule, owner, id, description)
 {
     m_Program     = program;
     m_ProgramArgs = programArgs;
 }
Ejemplo n.º 52
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="host">Host name or IP where to forward message.</param>
 /// <param name="port">Destination host port.</param>
 internal UserMessageRuleAction_ForwardToHost(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string host, int port) : base(UserMessageRuleAction_enum.ForwardToHost, rule, owner, id, description)
 {
     m_Host = host;
     m_Port = port;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="email">Email address where to forward message.</param>
 internal UserMessageRuleAction_ForwardToEmail(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string email) : base(UserMessageRuleAction_enum.ForwardToEmail,rule,owner,id,description)
 {
     m_EmailAddress = email;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that ows this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="folder">Disk folder where to store message.</param>
 internal UserMessageRuleAction_StoreToDiskFolder(UserMessageRule rule,UserMessageRuleActionCollection owner,string id,string description,string folder) : base(UserMessageRuleAction_enum.StoreToDiskFolder,rule,owner,id,description)
 {
     m_Folder = folder;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="rule">Onwer rule that owns this action.</param>
 /// <param name="owner">Owner UserMessageRuleActionCollection that owns this action.</param>
 /// <param name="id">Action ID.</param>
 /// <param name="description">Action description.</param>
 /// <param name="headerFieldName">Header field name.</param>
 /// <param name="headerFieldValue">Header field name.</param>
 internal UserMessageRuleAction_AddHeaderField(UserMessageRule rule, UserMessageRuleActionCollection owner, string id, string description, string headerFieldName, string headerFieldValue) : base(UserMessageRuleAction_enum.AddHeaderField, rule, owner, id, description)
 {
     m_HeaderFieldName  = headerFieldName;
     m_HeaderFieldValue = headerFieldValue;
 }