public bool LoadFromFile(string filename)
        {
            if (File.Exists(filename))
            {
                Clear();
                XElement xroot  = XElement.Load(filename);
                XElement xmlApp = xroot.Element("AUTOSARTAPP");
                BaseDataTypes.Clear();

                LoadProperties(xroot);
                Enums.LoadFromXML(xroot);
                systemErrors.LoadFromXML(xroot);
                BaseDataTypes.LoadFromXML(xroot);
                SimpleDataTypes.LoadFromXML(xroot);
                ComplexDataTypes.LoadFromXML(xroot);
                SenderReceiverInterfaces.LoadFromXML(xroot);
                ClientServerInterfaces.LoadFromXML(xroot);
                ComponentDefenitionsList.LoadFromXML(xroot);
                Compositions.LoadFromXML(xroot);
                OsTasks.LoadFromXML(xroot);
                arrayDataTypes.LoadFromXML(xroot);
                BaseDataTypes.CheckBaseDataTypes();
                SyncronizeRunnables(null, true);
                UpdateConnections();

                FileName = filename;
                return(true);
            }
            else
            {
                return(false);
            }
        }
 public void Clear()
 {
     SimpleDataTypes.Clear();
     ComplexDataTypes.Clear();
     ClientServerInterfaces.Clear();
     SenderReceiverInterfaces.Clear();
     Compositions.ClearCompositions();
     ComponentDefenitionsList.Clear();
     Enums.Clear();
     systemErrors.Clear();
     BaseDataTypes.Clear();
     OsTasks.Clear();
     arrayDataTypes.Clear();
     FileName = "";
     CleanProperties();
 }
        /* Delete component defenition and its instances */
        public void Delete(ComponentDefenition componentDefenition)
        {
            /* Find Object instances */
            foreach (CompositionInstance composition in Compositions)
            {
                for (int i = composition.ComponentInstances.Count - 1; i >= 0; i--)
                {
                    ComponentInstance compInstance = composition.ComponentInstances[i];
                    if (compInstance.ComponentDefenition.Equals(componentDefenition))
                    {
                        Delete(compInstance);
                    }
                }
            }

            ComponentDefenitionsList.Remove(componentDefenition);
        }
        public bool SaveToFile(string filename)
        {
            XDocument xdoc = new XDocument();
            XElement  root = new XElement("AUTOSARTAPP");

            xdoc.Add(root);
            SaveProperties(root);
            BaseDataTypes.WriteToXML(root);
            SimpleDataTypes.WriteToXML(root);
            arrayDataTypes.WriteToXML(root);
            ComplexDataTypes.WriteToXML(root);
            SenderReceiverInterfaces.WriteToXML(root);
            ClientServerInterfaces.WriteToXML(root);
            ComponentDefenitionsList.WriteToXML(root);
            Enums.WriteToXML(root);
            systemErrors.WriteToXML(root);
            OsTasks.WriteToXML(root);
            Compositions.WriteToXML(root);

            xdoc.Save(filename);
            return(true);
        }
 public ComponentDefenition FindComponentDefenitionByGuid(Guid componentDefenitionGuid)
 {
     return(ComponentDefenitionsList.FindObject(componentDefenitionGuid));
 }