Exemple #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateMessage(TemplateNetwork network, object messageType, int sourceProcess, int sourcePort, int destProcess, int destPort, string messageName, int round, int logicalClock) : base(network, messageType, sourceProcess, sourcePort, destProcess, destPort, messageName, round, logicalClock)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///      Create a message when all the header are given.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///
        /// \author Ilanh
        /// \date 14/03/2017
        ///
        /// \param network        (TemplateNetwork) - The network.
        /// \param messageType   (dynamic) - Type of the message.
        /// \param sourceProcess (int) - Source process.
        /// \param sourcePort    (int) - Source port.
        /// \param destProcess   (int) - Destination process.
        /// \param destPort      (int) - Destination port.
        /// \param messageName    (string) - Name of the message.
        /// \param round         (int) - The round.
        /// \param logicalClock  (int) - The logical clock.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateMessage(TemplateNetwork network,
                               object messageType,
                               int sourceProcess,
                               int sourcePort,
                               int destProcess,
                               int destPort,
                               string messageName,
                               int round,
                               int logicalClock) : base(network,
                                                        messageType,
                                                        sourceProcess,
                                                        sourcePort,
                                                        destProcess,
                                                        destPort,
                                                        messageName,
                                                        round,
                                                        logicalClock)
        {
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateChannel(TemplateNetwork network) : base(network)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///      It is not recommended to change the constructor. All the attributes has to be inserted
        ///      to the pa or dictionaries in the Init... methods         ///
        ///
        /// \author Ilanh
        /// \date 27/06/2017
        ///
        /// \param network  (TemplateNetwork) - The network.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateChannel(TemplateNetwork network) : base(network)
        {
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public static bool TemplateChannelDefaultAttributeCheck(TemplateNetwork network, NetworkElement networkElement, Attribute parentAttribute, Attribute attribute, string newValue, out string errorMessage)
        ///
        /// \brief A prototype for attribute checking.
        ///
        /// \par Description.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///      -#  Each Attribute can be assigned a value check that will be performed when changing the
        ///          attribute from the channel edit window while in design mode
        ///      -#  For each attribute that you want to add a check to one method with the prototype of the
        ///          following method have to be designed
        ///      -#  In order to add the check to the attribute you have to set the EndInputOperationMethod
        ///          member of the Attribute with the method you generated for example :
        /// ~~~{.cs}
        ///       // Setting the method to an existing attribute
        ///       attribute.EndInputOperationMethod =  TemplateChannelDefaultAttributeCheck
        ///
        ///       // Setting the method to an attribute while creation
        ///       pa.Add(c.pak.SomeKey, new Attribute {Value = SomeValue, EndInputOperationMethod =  TemplateChannelDefaultAttributeCheck})
        /// ~~~
        ///
        /// \author Ilan Hindy
        /// \date 24/01/2017
        ///
        /// \param       network          (TemplateNetwork) - The network.
        /// \param       networkElement   (NetworkElement) - The network element.
        /// \param       parentAttribute  (Attribute) - The parent attribute.
        /// \param       attribute        (Attribute) - The attribute.
        /// \param       newValue         (string) - The new value.
        /// \param [out] errorMessage    (out string) - Message describing the error.
        ///
        /// \return True if it's OK to change the attribute's value.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public static bool TemplateChannelDefaultAttributeCheck(TemplateNetwork network, NetworkElement networkElement, Attribute parentAttribute, Attribute attribute, string newValue, out string errorMessage)
        {
            errorMessage = "";
            return(true);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateChannel(TemplateNetwork network, int id, int sourceProcessId, int destProcessId) : base(network, id, sourceProcessId, destProcessId)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///
        /// \author Ilanh
        /// \date 27/06/2017
        ///
        /// \param network          (TemplateNetwork) - The network.
        /// \param id               (int) - The identifier.
        /// \param sourceProcessId  (int) - Identifier for the source process.
        /// \param destProcessId    (int) - Identifier for the destination process.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateChannel(TemplateNetwork network, int id, int sourceProcessId, int destProcessId)
            : base(network, id, sourceProcessId, destProcessId)
        {
        }
Exemple #5
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateMessage(TemplateNetwork network, object messageType, TemplateChannel channel, string messageName, int round = 0, int logicalClock = 0): base(network, messageType, channel, messageName, round, logicalClock)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///      Construct a message from header parameters.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///
        /// \author Ilanh
        /// \date 14/03/2017
        ///
        /// \param network       (TemplateNetwork) - The network.
        /// \param messageType  (dynamic) - Type of the message.
        /// \param channel      (TemplateChannel) - The channel.
        /// \param messageName   (string) - Name of the message.
        /// \param round        (Optional)  (int) - The round.
        /// \param logicalClock (Optional)  (int) - The logical clock.
        ///
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateMessage(TemplateNetwork network, object messageType, TemplateChannel channel, string messageName, int round = 0, int logicalClock = 0) :
            base(network, messageType, channel, messageName, round, logicalClock)
        {
        }
Exemple #6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateMessage(TemplateNetwork network, string messageString):base(network, messageString)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///      Create a message from string which holds the message XML.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///
        /// \author Ilanh
        /// \date 14/03/2017
        ///
        /// \param network        (TemplateNetwork) - The network.
        /// \param messageString (string) - The message string.
        ///
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateMessage(TemplateNetwork network, string messageString) : base(network, messageString)
        {
        }
Exemple #7
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateMessage(TemplateMessage sourceMessage, TemplateChannel sendingChannel): base(sourceMessage, sendingChannel)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///      A message that is duplicated to the source except for the channel parameters.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///      This constructor is useful when you want to forward a message to other channels
        ///
        /// \author Ilanh
        /// \date 14/03/2017
        ///
        /// \param sourceMessage  (TemplateMessage) - Message describing the source.
        /// \param sendingChannel (TemplateChannel) - The sending channel.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateMessage(TemplateNetwork network, TemplateMessage sourceMessage, TemplateChannel sendingChannel) :
            base(network, sourceMessage, sendingChannel)
        {
        }
Exemple #8
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateMessage(TemplateNetwork network, TemplateMessage sourceMessage): base(network, sourceMessage)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///      Constructor that generates a duplication of a source message.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///
        /// \author Ilanh
        /// \date 27/06/2017
        ///
        /// \param network       (TemplateNetwork) - The network.
        /// \param sourceMessage (TemplateMessage) - Message describing the source.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateMessage(TemplateNetwork network, TemplateMessage sourceMessage) : base(network, sourceMessage)
        {
        }
Exemple #9
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateMessage(TemplateNetwork network):base(network)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///      Constructor used by the system. You should not use it
        ///
        /// \author Ilanh
        /// \date 27/06/2017
        ///
        /// \param network  (TemplateNetwork) - The network.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateMessage(TemplateNetwork network) : base(network)
        {
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// \fn public TemplateProcess(TemplateNetwork network) : base(network)
        ///
        /// \brief Constructor.
        ///
        /// \par Description.
        ///
        /// \par Algorithm.
        ///
        /// \par Usage Notes.
        ///      It is not recommended to change the constructor. All the attributes has to be inserted
        ///      to the pa or dictionaries in the Init... methods
        ///
        /// \author Ilanh
        /// \date 27/06/2017
        ///
        /// \param network  (TemplateNetwork) - The network.
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public TemplateProcess(TemplateNetwork network) : base(network)
        {
        }