Ignore:
Timestamp:
Mar 14, 2005, 8:42:34 AM (19 years ago)
Author:
arnault
Message:

Steps for strategy management

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMT/v1r19/source/cmt_project.h

    r11 r15  
    1313
    1414class Project;
     15
     16class StrategyDef
     17{
     18public:
     19  typedef cmt_vector <StrategyDef*> StrategyDefs;
     20
     21  cmt_string m_name;
     22  cmt_string m_on_value;
     23  cmt_string m_off_value;
     24  bool m_default_value;
     25  bool m_priority_value;
     26
     27  const cmt_string& get_default_value () const;
     28};
     29
     30class Strategy
     31{
     32public:
     33  StrategyDef* m_definition;
     34  bool m_specified;
     35  bool m_specified_value;
     36  bool m_value;
     37  Tag* m_on_tag;
     38  Tag* m_off_tag;
     39
     40  void set (StrategyDef* definition, bool value, const cmt_string& project_name);
     41  void update (StrategyDef* definition, bool value, const cmt_string& project_name);
     42};
     43
     44class StrategyMgr
     45{
     46public:
     47  static StrategyMgr& instance ();
     48  static StrategyDef* find_strategy (const cmt_string& name);
     49  static bool get_default_strategy (const cmt_string& name);
     50  static bool get_priority_strategy (const cmt_string& name);
     51  static StrategyDef::StrategyDefs& get_definitions ();
     52
     53private:
     54  StrategyMgr ();
     55  StrategyDef::StrategyDefs m_defs;
     56};
    1557
    1658class ProjectFactory : public IProjectFactory
     
    110152  void show ();
    111153  void show_strategies () const;
    112   int get_build_strategy () const;
    113   int get_setup_strategy () const;
    114   void set_build_strategy (int mask, int strategy);
    115   void set_setup_strategy (int mask, int strategy);
     154
     155  bool has_strategy (const StrategyDef* definition) const;
     156  bool is_specified (const StrategyDef* definition) const;
     157  bool get_strategy (const StrategyDef* definition) const;
     158  bool get_strategy (const cmt_string& name) const;
     159  void set_default_strategy (const cmt_string& name);
     160  void set_strategy (const cmt_string& name, const cmt_string& value);
     161  void set_strategy (StrategyDef* definition, bool b_value);
     162  void update_strategy (StrategyDef* definition, bool b_value);
     163  void update_strategy_from_children (StrategyDef* definition);
     164  void update_strategies_from_children ();
    116165
    117166  void visit (IProjectVisitor& visitor);
     
    133182  cmt_string m_cmtpath_source;
    134183
    135   int m_build_strategy_mask;
    136   int m_build_strategy;
    137   int m_setup_strategy_mask;
    138   int m_setup_strategy;
    139 
    140184  bool m_configured;
    141185
    142   Tag* m_prototypes_tag;
    143   Tag* m_no_prototypes_tag;
    144   Tag* m_with_installarea_tag;
    145   Tag* m_without_installarea_tag;
    146 
    147   Tag* m_setup_config_tag;
    148   Tag* m_setup_no_config_tag;
    149   Tag* m_setup_root_tag;
    150   Tag* m_setup_no_root_tag;
    151   Tag* m_setup_cleanup_tag;
    152   Tag* m_setup_no_cleanup_tag;
    153 
     186  cmt_vector <Strategy> m_strategies;
    154187};
    155188
Note: See TracChangeset for help on using the changeset viewer.