public static bool AddCommand(CommandCategories categories, string cmdName, params string[] cmdArgs)
        {
            var result = true;

            if (categories.HasFlag(CommandCategories.AllDirectories))
            {
                result &= AddCommandHelper(ALL_DIRECTORIES, cmdName, cmdArgs);
            }

            if (categories.HasFlag(CommandCategories.AllDrives))
            {
                result &= AddCommandHelper(ALL_DRIVES, cmdName, cmdArgs);
            }

            if (categories.HasFlag(CommandCategories.AllFiles))
            {
                result &= AddCommandHelper(ALL_FILES, cmdName, cmdArgs);
            }

            if (categories.HasFlag(CommandCategories.Background))
            {
                result &= AddCommandHelper(BACKGROUND, cmdName, cmdArgs);
            }
            return result;
        }
 public static CommandCategory TryGetValue(this CommandCategories commandCategories, string key)
 {
     try
     {
         return(commandCategories[key]);
     }
     catch
     {
         return(null);
     }
 }
        protected ViscaCommand(CommandTypes cmdType, CommandCategories category, bool broadcast)
        {
            if (broadcast && cmdType == CommandTypes.Inquiry)
            {
                throw new ArgumentException("Inquiries cannot be broadcast.");
            }
            if (cmdType == CommandTypes.Custom && category != CommandCategories.Custom)
            {
                throw new ArgumentException("category must be Custom when cmdType is Custom.");
            }

            Broadcast = broadcast;
            Type      = cmdType;
            Category  = category;
        }
 public static bool AddCommand(CommandCategories categories, string cmdName, string appPath,
     bool passFilePathToApp, params string[] additionalArgs)
 {
     var cmdArgs = CreateCmdArgArray(appPath, passFilePathToApp, additionalArgs);
     return AddCommand(categories, cmdName, cmdArgs);
 }