public override void InitTemplates(IRuleTemplateFactory factory)
        {
            factory.CreateRuleTemplate(RuleGuid, "OPERATIONS.SWITCH.NAME", "OPERATIONS.SWITCH.DESCRIPTION",
                                       "operations-switch", "OPERATIONS.NAME", 100, 100);

            factory.CreateRuleInterfaceTemplate(RuleInput, "OPERATIONS.SWITCH.INPUT.NAME", "OPERATIONS.SWITCH.INPUT.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, 0, 1, RuleInterfaceType.Input);
            factory.CreateRuleInterfaceTemplate(RuleState, "OPERATIONS.SWITCH.STATE.NAME", "OPERATIONS.SWITCH.STATE.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, 0, 2, RuleInterfaceType.Status);

            factory.CreateRuleInterfaceTemplate(RuleOutput, "OPERATIONS.SWITCH.OUTPUT.NAME", "OPERATIONS.SWITCH.OUTPUT.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Output, 0, 1, RuleInterfaceType.Output);

            factory.ChangeDefaultVisuTemplate(RuleGuid, VisuMobileObjectTemplateTypes.ToggleButton);
        }
        public override void InitTemplates(IRuleTemplateFactory factory)
        {
            factory.CreateRuleTemplate(RuleGuid, "SURVEILLANCE.WINDOW_MONITOR.NAME", "MATH.WINDOW_MONITOR.DESCRIPTION",
                                       "surveillance.window_monitor", "SUVREILLANCE.NAME", 100, 100);


            factory.CreateRuleInterfaceTemplate(Ct, "Ct", "SURVEILLANCE.WINDOW_MONITOR.TILT.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, int.MaxValue, 2);
            factory.CreateRuleInterfaceTemplate(Co, "Co", "SURVEILLANCE.WINDOW_MONITOR.OPEN.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, int.MaxValue, 3);
            factory.CreateRuleInterfaceTemplate(Cl, "Cl", "SURVEILLANCE.WINDOW_MONITOR.LOCKED.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, int.MaxValue, 4);


            factory.CreateRuleInterfaceTemplate(Cti, "Cti", "SURVEILLANCE.WINDOW_MONITOR.TILT_INVERTED.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, int.MaxValue, 5);
            factory.CreateRuleInterfaceTemplate(Coi, "Coi", "SURVEILLANCE.WINDOW_MONITOR.OPEN_INVERTED.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, int.MaxValue, 6);
            factory.CreateRuleInterfaceTemplate(Cli, "Cli", "SURVEILLANCE.WINDOW_MONITOR.LOCKED_INVERTED.DESCRIPTION", RuleGuid, RuleInterfaceDirection.Input, int.MaxValue, 7);

            factory.ChangeDefaultVisuTemplate(RuleGuid, VisuMobileObjectTemplateTypes.WindowMonitor);
        }