# NV::Rules::IController

class IController

  Controller interface.

  The controller can be used to interact with the tool runtime, e.g. to signal the tools to propose a follow-up rule.

  Public Functions

  virtual std::shared_ptr<IMessageVault> get_message_vault() = 0

    Get an IMessageVault object that can be used for message passing between rules.

  virtual void propose_rule(const char *rule) = 0

    Propose the specified `rule` in the current context.

  inline virtual ~IController()