X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FVariables.ih;h=3e3f2f54d337b5df9715bb3f45f6f2f97531b109;hb=c92498e86ff9f107be25e9cf159c38f7122dbfc7;hp=0f703aa0ae79d8f404404c9621eda3ca5db60148;hpb=90f51da2398de98c2c217045f791ca7813730f48;p=senf.git diff --git a/senf/Utils/Console/Variables.ih b/senf/Utils/Console/Variables.ih index 0f703aa..3e3f2f5 100644 --- a/senf/Utils/Console/Variables.ih +++ b/senf/Utils/Console/Variables.ih @@ -48,10 +48,13 @@ namespace detail { typedef Variable const & Signature (); typedef boost::function Function; typedef detail::ParsedCommandTraits Traits; + typedef detail::CreateParsedCommandOverload CreateOverload; typedef Variable const & result_type; QueryVariable(Variable const & var); + static typename Traits::Overload::ptr create(Variable const & var); + Variable const & operator()() const; Variable const & var_; @@ -63,10 +66,13 @@ namespace detail { typedef void Signature (Variable &); typedef boost::function Function; typedef detail::ParsedCommandTraits Traits; + typedef detail::CreateParsedCommandOverload CreateOverload; typedef boost::function OnChangeHandler; typedef void result_type; SetVariable(Variable & var, OnChangeHandler handler = OnChangeHandler()); + + static typename Traits::Overload::ptr create(Variable & var); void operator()(Variable const & value) const; @@ -74,22 +80,6 @@ namespace detail { OnChangeHandler handler_; }; - template ::value> - struct VariableNodeCreator - { - typedef VariableAttributor result_type; - static VariableAttributor add(DirectoryNode & node, std::string const & name, - Variable & var); - }; - - template - struct VariableNodeCreator - { - typedef ConstVariableAttributor result_type; - static ConstVariableAttributor add(DirectoryNode & node, std::string const & name, - Variable & var); - }; - #endif }}}