/// <summary>
        /// Constructor.
        /// </summary>
        public ControlClientDynamicTopics()
        {
            session = Diffusion.Sessions.Principal("control").Password("password")
                      .Open("ws://diffusion.example.com:80");

            var tc = session.GetTopicControlFeature();
            var proceedCallback = new AddTopicAndProceed();

            // Add a handler that, upon receiving subscriptions or fetches for any topic under 'topicroot', creates a
            // topic. If the topic name starts with 'SV', it creates a single value topic, otherwise a delegated topic.
            tc.AddMissingTopicHandler("topicroot", new MissingTopicHandler(tc, proceedCallback));
        }
 public MissingTopicHandler(ITopicControl topicControl, AddTopicAndProceed proceedCallback)
 {
     theTopicControl    = topicControl;
     theProceedCallback = proceedCallback;
 }