Example #1
0
 /// <summary>
 /// Creates a new profile with the given name.
 /// </summary>
 /// <param name="profileName">The name of the profile.</param>
 public MadCatzProfile(string profileName)
     : base()
 {
     name        = profileName;
     version     = CURRENT_VERSION;
     controllers = new ControllerList();
     Controller[] deviceGroups = Controller.CreateAllControllers();
     foreach (Controller deviceGroup in deviceGroups)
     {
         controllers.Add(deviceGroup);
     }
     commands = new CommandList();
     blasts   = new BlastList();
 }
Example #2
0
        /// <summary>
        /// Creates a new profile from a node.
        /// </summary>
        /// <param name="validator">The validator to use for validation.</param>
        /// <param name="node">The node.</param>
        internal MadCatzProfile(NodeValidator validator, Node node)
            : base(validator, node)
        {
            name = node.Tag;
            if (node.Attributes.ContainsKey(VERSION_ATTRIBUTE))
            {
                version = ConversionHelper.ParseHexValue(node.Attributes[VERSION_ATTRIBUTE]);
                if (!SUPPORTED_VERSIONS.Contains(version))
                {
                    validator.Report.AddError("Unsupported version: " + version);
                }
            }

            foreach (var child in node.Children)
            {
                switch (child.Name.ToUpperInvariant())
                {
                case CONTROLLERS_CHILD_NODE:
                    controllers = new ControllerList(validator, child);
                    break;

                case COMMANDS_CHILD_NODE:
                    commands = new CommandList(validator, child);
                    break;

                case BLASTS_CHILD_NODE:
                    blasts = new BlastList(validator, child);
                    break;
                }
            }

            if (controllers == null)
            {
                controllers = new ControllerList();
            }
            if (commands == null)
            {
                commands = new CommandList();
            }
            if (blasts == null)
            {
                blasts = new BlastList();
            }
        }