Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
        // event args which will be used only when we need to pass additional data there, otherwise null
        public interface ILinkableComponentEventArgs
        {
                EventType Type { get; }
		string Description { get; }
		DateTime Time { get; }
                IExchangeItem ChangedItem { get; }
                bool Stop { get; set; } // used if simulation should be stopped!
        }


        public enum EventType 
	{
		Warning,
		Informative,
		ValueOutOfRange,
		GlobalProgress,
		TimeStepProgres,
		DataChanged,
		TargetBeforeGetValuesCall,
		SourceAfterGetValuesCall,
		SourceBeforeGetValuesReturn,
		TargetAfterGetValuesReturn,
		Other
	}

    // C# way
    
    public delegate void LinkableComponentEventHandler(object source, ILinkableComponentEventArgs args);

    public interface ILinkableComponent
    {
        event LinkableComponentEventHandler Progressed;
    }



    // Java way (Observable is a class, Observer is an interface!)

    public class LinkableComponentObservable extends Observable
    {
        public void updatenotifyObservers(Observer o, ILinkableComponentEventArgs args);
    }


    public interface ILinkableComponent
    {
        public LinkableComponentObservable getObservable();
    }

...