/*****************************************************************************
* var_manager.hpp
*****************************************************************************
- * Copyright (C) 2003 VideoLAN
- * $Id: var_manager.hpp,v 1.3 2004/01/24 13:08:12 asmax Exp $
+ * Copyright (C) 2003 the VideoLAN team
+ * $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
- * Olivier Teulière <ipkiss@via.ecp.fr>
+ * Olivier Teulière <ipkiss@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef VAR_MANAGER_HPP
/// Delete the instance of VarManager
static void destroy( intf_thread_t *pIntf );
- /// Register a variable in the manager
+ /// Register a named variable in the manager
void registerVar( const VariablePtr &rcVar, const string &rName );
+ /// Register an anonymous variable in the manager
+ void registerVar( const VariablePtr &rcVar );
+
/// Get a variable by its name (NULL if not found)
Variable *getVar( const string &rName );
Variable *getVar( const string &rName, const string &rType );
/// Get the tooltip text variable
- VarText &getTooltipText() { return m_tooltipText; }
+ VarText &getTooltipText() { return *m_pTooltipText; }
/// Get the help text variable
- VarText &getHelpText() { return m_helpText; }
+ VarText &getHelpText() { return *m_pHelpText; }
+
+ /// Register a constant value
+ void registerConst( const string &rName, const string &rValue);
+
+ /// Get a constant value by its name
+ string getConst( const string &rName );
private:
/// Tooltip text
- VarText m_tooltipText;
+ VarText *m_pTooltipText;
/// Help text
- VarText m_helpText;
- /// Map of registerd variables
+ VarText *m_pHelpText;
+ /// Map of named registered variables
map<string, VariablePtr> m_varMap;
- /// List of registed variables
+ /// List of named registed variables
list<string> m_varList;
+ /// List of anonymous registed variables
+ list<VariablePtr> m_anonVarList;
+ /// Map of constant values
+ map<string, string> m_constMap;
/// Private because it is a singleton
VarManager( intf_thread_t *pIntf );