Patcher.Data.Plugins.Plugin.Plugin C# (CSharp) Method

Plugin() private method

private Plugin ( DataContext context, string fileName, PluginMode mode ) : System
context DataContext
fileName string
mode PluginMode
return System
        internal Plugin(DataContext context, string fileName, PluginMode mode)
        {
            this.context = context;
            this.fileName = fileName;

            if (mode == PluginMode.Create)
            {
                header = context.CreateHeader();
                header.NextFormId = 0x800;
            }
            else if (mode == PluginMode.Open)
            {
                // Read only the header mainly to fetch the list of masters
                Stream stream = context.DataFileProvider.GetDataFile(FileMode.Open, fileName).Open();
                using (var reader = context.CreateReader(stream))
                {
                    header = reader.ReadHeader();
                }
            }
            else
            {
                throw new ArgumentException("Illegal plugin mode specified");
            }
        }