예제 #1
0
 public override void Add(IPackage pck)
 {
     if (!this.Packages.Keys.Contains(pck.Name))
     {
         var pckinfo = pck.PackageInfo;
         pckinfo.FID           = this.NameManager.NextFID();
         pckinfo.FileName      = string.Format("{0}{1}{2}", InputDic, Project.Name, pckinfo.FileExtension);
         pckinfo.WorkDirectory = this.WorkDirectory;
         pck.FileName          = pckinfo.FileName;
         pck.Owner             = this;
         pck.Clear();
         pck.Initialize();
         pck.New();
         Packages.Add(pck.Name, pck);
         NameManager.Add(pckinfo);
         MFOutputPackage mfout = this.Select(MFOutputPackage.PackageName) as MFOutputPackage;
         (pck as IMFPackage).CompositeOutput(mfout);
         if (this.Owner != null)
         {
             Owner.OnPackageAdded(pck);
         }
         else
         {
             this.OnPackageAdded(pck);
         }
     }
 }