00001 #ifndef __cmt_cmtpath_pattern_h__ 00002 #define __cmt_cmtpath_pattern_h__ 00003 00004 #include "cmt_pattern.h" 00005 00006 class CmtPathPattern 00007 { 00008 public: 00009 typedef cmt_vectorCmtPathPatternVector; 00010 typedef cmt_vector CmtPathPatternPtrVector; 00011 00012 static void action (const CmtSystem::cmt_string_vector& words, Use* use); 00013 00014 static void add (const CmtSystem::cmt_string_vector& words, Use* use); 00015 00016 static int pattern_number (); 00017 static CmtPathPattern& pattern (int index); 00018 static void clear_all (); 00019 static CmtPathPatternVector& patterns (); 00020 00021 static void apply_all (); 00022 static void show_all (); 00023 00024 public: 00025 CmtPathPattern (); 00026 ~CmtPathPattern (); 00027 00028 void clear (); 00029 void apply () const; 00030 void expand (cmt_string& line, const cmt_string& path, const cmt_string& project) const; 00031 00032 cmt_string line; 00033 Use* use; 00034 }; 00035 00036 #endif