X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FVariables.ih;h=1c8d7e2d7af1bb8902745ba1a2a8f23846e482f5;hb=57daeae6f2e924ce3f16f9677c3474f531cba9e5;hp=0f703aa0ae79d8f404404c9621eda3ca5db60148;hpb=90f51da2398de98c2c217045f791ca7813730f48;p=senf.git diff --git a/senf/Utils/Console/Variables.ih b/senf/Utils/Console/Variables.ih index 0f703aa..1c8d7e2 100644 --- a/senf/Utils/Console/Variables.ih +++ b/senf/Utils/Console/Variables.ih @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2008 +// Copyright (C) 2008 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -30,7 +30,7 @@ #include #include -///////////////////////////////ih.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// namespace senf { namespace console { @@ -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,38 +66,25 @@ 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; Variable & var_; 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 }}} -///////////////////////////////ih.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #endif