Exemplo n.º 1
0
            public void PutClassToStorage(FB2SMV.FBXML.FBType fbType, bool elementIsRoot, ShowMessageDelegate ShowMessage)
            {
                FB2SMV.FBCollections.FBClass type;
                if (fbType.BasicFB != null)
                {
                    type = FBClass.Basic;
                }
                else if (fbType.FBNetwork != null)
                {
                    type = FBClass.Composite;
                }
                else
                {
                    throw new Exception(
                              String.Format("Unknown FB Type {0}. Only Basic and Composite FB's are supported.", fbType.Name));
                }

                Storage.PutFBType(new FB2SMV.FBCollections.FBType(fbType.Name, fbType.Comment, type, elementIsRoot));
                PutInterfaces(fbType.InterfaceList, fbType.Name);

                if (fbType.BasicFB != null) //Basic FB
                {
                    PutBasicFB(fbType.BasicFB, fbType.Name);
                }
                else if (fbType.FBNetwork != null)
                {
                    PutFBNetwork(fbType.FBNetwork, fbType.Name, ShowMessage);
                }

                _processedTypes.Add(fbType.Name);
            }
Exemplo n.º 2
0
            public void ParseRecursive(string filename, ShowMessageDelegate ShowMessage)
            {
                if (!fileExtensions.Contains(Path.GetExtension(filename)))
                {
                    fileExtensions.Add(Path.GetExtension(filename));
                }

                string directory     = Path.GetDirectoryName(filename);
                bool   elementIsRoot = true;

                while (filename != null)
                {
                    try //TODO: replace with FaultCallbackDelegate()
                    {
                        ShowMessage("Loading file: " + filename);
                        FB2SMV.FBXML.FBType fb = Deserialie(filename);
                        PutClassToStorage(fb, elementIsRoot, ShowMessage);
                        filename      = NextFileName(directory);
                        elementIsRoot = false;
                    }
                    catch (Exception e)
                    {
                        throw new Exception(String.Format("Can not load file \"{0}\" \n{1}", filename, e.Message));
                    }
                }
            }
Exemplo n.º 3
0
            private FB2SMV.FBXML.FBType Deserialie(string filename)
            {
                XmlSerializer ser = new XmlSerializer(typeof(FB2SMV.FBXML.FBType), "");
                StreamReader  sr  = new StreamReader(filename);

                FB2SMV.FBXML.FBType fb = (FB2SMV.FBXML.FBType)ser.Deserialize(sr);
                sr.Close();
                return(fb);
            }