Changeset 303
- Timestamp:
- 03/30/05 20:35:59 (4 years ago)
- Files:
-
- todo2/trunk/src/backend/Makefile.am (modified) (1 diff)
- todo2/trunk/src/contactmethod/Makefile.am (modified) (2 diffs)
- todo2/trunk/src/filter/Makefile.am (modified) (2 diffs)
- todo2/trunk/src/ModuleProxy.h (modified) (4 diffs)
- todo2/trunk/.todo (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
todo2/trunk/src/backend/Makefile.am
r295 r303 13 13 14 14 xml_la_SOURCES = XML.cc XML.h 15 xml_la_LIBADD = @CRASH_LIBS@16 15 xml_la_LDFLAGS = -rpath $(RPATH) -module `xml2-config --libs` -avoid-version 17 16 18 17 #sqlite_la_SOURCES = SQLite.cc SQLite.h 19 #sqlite_la_LIBADD = @ CRASH_LIBS@ @SQL_LIBS@18 #sqlite_la_LIBADD = @SQL_LIBS@ 20 19 #sqlite_la_LDFLAGS = -rpath $(RPATH) -module -module -avoid-version 21 20 # 22 21 #mysql_la_SOURCES = MySQL.cc MySQL.h 23 #mysql_la_LIBADD = @ CRASH_LIBS@ @SQL_LIBS@22 #mysql_la_LIBADD = @SQL_LIBS@ 24 23 #mysql_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version todo2/trunk/src/contactmethod/Makefile.am
r295 r303 9 9 10 10 mail_la_SOURCES = Mail.cc Mail.h 11 mail_la_LIBADD = @CRASH_LIBS@12 11 mail_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version 13 12 … … 15 14 # 16 15 #crypto_la_SOURCES = Crypto.cc Crypto.h 17 #crypto_la_LIBADD = @C RASH_LIBS@ @CONTACTMETHOD_CRYPTO_LIBS@16 #crypto_la_LIBADD = @CONTACTMETHOD_CRYPTO_LIBS@ 18 17 #crypto_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version todo2/trunk/src/filter/Makefile.am
r295 r303 9 9 10 10 expression_la_SOURCES = Expression.cc Expression.h 11 expression_la_LIBADD = @CRASH_LIBS@12 11 expression_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version 13 12 … … 15 14 16 15 crypto_la_SOURCES = Crypto.cc Crypto.h 17 crypto_la_LIBADD = @ CRASH_LIBS@ @FILTER_CRYPTO_LIBS@16 crypto_la_LIBADD = @FILTER_CRYPTO_LIBS@ 18 17 crypto_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version todo2/trunk/src/ModuleProxy.h
r295 r303 38 38 virtual T *instantiate() const = 0; 39 39 virtual std::string name() const = 0; 40 virtual std::string version() const = 0; 40 41 41 42 static void load(); … … 56 57 DEBUG(5, "instantiating module '" << name << "', choosing from " << mproxies.size() << " candidates"); 57 58 for (typename List::iterator i = mproxies.begin(); i != mproxies.end(); ++i) { 58 DEBUG(9, "looking for module '" << name << "', trying '" << (*i)->name() << " '");59 DEBUG(9, "looking for module '" << name << "', trying '" << (*i)->name() << " " << (*i)->version() << "'"); 59 60 if (name == (*i)->name()) { 60 61 DEBUG(5, "found module '" << name << "'"); 61 return (*i)->instantiate(); 62 if ((*i)->version() != VERSION) { 63 DEBUG(3, "version mismatch in module '" << name << "'; want version " << VERSION << ", has version " << (*i)->version()); 64 return 0; 65 } else { 66 return (*i)->instantiate(); 67 } 62 68 } 63 69 } … … 85 91 template <typename T, typename C> 86 92 struct ModuleProxyImpl : public ModuleProxy<C> { 87 ModuleProxyImpl(const char *name) : mname(name) {}93 ModuleProxyImpl(const char *name) : mname(name), mversion(VERSION) {} 88 94 89 95 C *instantiate() const; 90 96 std::string name() const; 97 std::string version() const; 91 98 92 private : const std::string mname ;99 private : const std::string mname, mversion; 93 100 }; 94 101 … … 106 113 } 107 114 115 template <typename T, typename C> 116 std::string ModuleProxyImpl<T, C>::version() const { 117 return mversion; 118 } 119 108 120 #endif todo2/trunk/.todo
r302 r303 1 <!-- Automagically generated by the ToDo program on 30/03/05, 16:47-->1 <!-- Automagically generated by the ToDo program on 30/03/05, 20:41 --> 2 2 <todo version="0.1.18"> 3 3 <title> … … 16 16 </note> 17 17 </note> 18 <note priority="veryhigh" time="1112000751" >18 <note priority="veryhigh" time="1112000751" done="1112102649"> 19 19 Add variable "registration" to PropertyMap. Instead of accepting arbitrary key/values it might be better to register a set of known keys, their acceptable values and a small help item. 20 <comment> 21 Added PropertyValidator class instead, which can be optionally bound to a PropertyMap to enforce validation. 22 </comment> 20 23 </note> 21 24 <note priority="high" time="1059060058"> … … 23 26 </note> 24 27 <note priority="high" time="1059063367"> 25 It would be good to have "section headers". That way you could completely blocks of items. eg. into "Bugs" and "Features"28 It would be good to have "section headers". That way you could completely separate blocks of items. eg. into "Bugs" and "Features" 26 29 </note> 27 <note priority="medium" time="1038395696" >30 <note priority="medium" time="1038395696" done="1112109407"> 28 31 Back-ends must be extended to be multi-user compatible - implement locking semantics in BackEnd class. 29 32 </note> … … 52 55 Have items completion percentage be related to how many of its children are complete? 53 56 </note> 54 <note priority="medium" time="11121 65268">57 <note priority="medium" time="1112179308"> 55 58 Should refactor PropertyMap in order to have "name spaces". That way we can separate per-module configuration from global configuration. 56 59 </note>
