Example #1
0
        protected override Register GenerateRegister()
        {
            Register register = new Register();

            register.Type = this.TypeName;

            List <RegisterSolvableProblemsProblemName> solvableProblems = new List <RegisterSolvableProblemsProblemName>();

            foreach (ProblemType type in this.SolvableProblems)
            {
                RegisterSolvableProblemsProblemName solvProb = new RegisterSolvableProblemsProblemName();
                solvProb.Value = Utilities.ProblemNameForType(type);
                solvableProblems.Add(solvProb);
            }

            register.SolvableProblems = solvableProblems.ToArray();

            return(register);
        }
        /// <summary>
        /// Register to server and process register response message.
        /// </summary>
        /// <param name="solvableProblems">List of problems that this component may solve.</param>
        /// <returns>True on registration success, false otherwise.</returns>
        protected bool Register(RegisterSolvableProblemsProblemName[] solvableProblems)
        {
            var registerMessage = new Register
            {
                Type = Type,
                SolvableProblems = solvableProblems
            };

            var response = SendMessageSingleResponse(registerMessage);

            return ProcessRegisterResponse(response);
        }