X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FConsole%2FVariables.ih;h=1c8d7e2d7af1bb8902745ba1a2a8f23846e482f5;hb=4101c2b818ec67e7469ebb44f030eed2185c4ab0;hp=23a5074f1d438d88c2734c0e58b7c5d5eeb6776b;hpb=084d18afd1abb3c6b19de612dbdf4dbc40ffd795;p=senf.git diff --git a/senf/Utils/Console/Variables.ih b/senf/Utils/Console/Variables.ih index 23a5074..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 const & var); - }; - #endif }}} -///////////////////////////////ih.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #endif