Changeset 303

Show
Ignore:
Timestamp:
03/30/05 20:35:59 (4 years ago)
Author:
athomas
Message:
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • todo2/trunk/src/backend/Makefile.am

    r295 r303  
    1313 
    1414xml_la_SOURCES = XML.cc XML.h 
    15 xml_la_LIBADD = @CRASH_LIBS@ 
    1615xml_la_LDFLAGS = -rpath $(RPATH) -module `xml2-config --libs` -avoid-version 
    1716 
    1817#sqlite_la_SOURCES = SQLite.cc SQLite.h 
    19 #sqlite_la_LIBADD = @CRASH_LIBS@ @SQL_LIBS@ 
     18#sqlite_la_LIBADD = @SQL_LIBS@ 
    2019#sqlite_la_LDFLAGS = -rpath $(RPATH) -module -module -avoid-version 
    2120# 
    2221#mysql_la_SOURCES = MySQL.cc MySQL.h 
    23 #mysql_la_LIBADD = @CRASH_LIBS@ @SQL_LIBS@ 
     22#mysql_la_LIBADD = @SQL_LIBS@ 
    2423#mysql_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version 
  • todo2/trunk/src/contactmethod/Makefile.am

    r295 r303  
    99 
    1010mail_la_SOURCES = Mail.cc Mail.h 
    11 mail_la_LIBADD = @CRASH_LIBS@ 
    1211mail_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version 
    1312 
     
    1514# 
    1615#crypto_la_SOURCES = Crypto.cc Crypto.h 
    17 #crypto_la_LIBADD = @CRASH_LIBS@ @CONTACTMETHOD_CRYPTO_LIBS@ 
     16#crypto_la_LIBADD = @CONTACTMETHOD_CRYPTO_LIBS@ 
    1817#crypto_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version 
  • todo2/trunk/src/filter/Makefile.am

    r295 r303  
    99 
    1010expression_la_SOURCES = Expression.cc Expression.h 
    11 expression_la_LIBADD = @CRASH_LIBS@ 
    1211expression_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version 
    1312 
     
    1514 
    1615crypto_la_SOURCES = Crypto.cc Crypto.h 
    17 crypto_la_LIBADD = @CRASH_LIBS@ @FILTER_CRYPTO_LIBS@ 
     16crypto_la_LIBADD = @FILTER_CRYPTO_LIBS@ 
    1817crypto_la_LDFLAGS = -rpath $(RPATH) -module -avoid-version 
  • todo2/trunk/src/ModuleProxy.h

    r295 r303  
    3838                virtual T *instantiate() const = 0; 
    3939                virtual std::string name() const = 0; 
     40                virtual std::string version() const = 0; 
    4041 
    4142                static void load(); 
     
    5657        DEBUG(5, "instantiating module '" << name << "', choosing from " << mproxies.size() << " candidates"); 
    5758        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() << "'"); 
    5960                if (name == (*i)->name()) { 
    6061                        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                        } 
    6268                } 
    6369        } 
     
    8591template <typename T, typename C> 
    8692struct ModuleProxyImpl : public ModuleProxy<C> { 
    87         ModuleProxyImpl(const char *name) : mname(name) {} 
     93        ModuleProxyImpl(const char *name) : mname(name), mversion(VERSION) {} 
    8894 
    8995        C *instantiate() const; 
    9096        std::string name() const; 
     97        std::string version() const; 
    9198 
    92         private : const std::string mname
     99        private : const std::string mname, mversion
    93100}; 
    94101 
     
    106113} 
    107114 
     115template <typename T, typename C> 
     116std::string ModuleProxyImpl<T, C>::version() const { 
     117        return mversion; 
     118} 
     119 
    108120#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 --> 
    22<todo version="0.1.18"> 
    33    <title> 
     
    1616        </note> 
    1717    </note> 
    18     <note priority="veryhigh" time="1112000751"
     18    <note priority="veryhigh" time="1112000751" done="1112102649"
    1919        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> 
    2023    </note> 
    2124    <note priority="high" time="1059060058"> 
     
    2326    </note> 
    2427    <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" 
    2629    </note> 
    27     <note priority="medium" time="1038395696"
     30    <note priority="medium" time="1038395696" done="1112109407"
    2831        Back-ends must be extended to be multi-user compatible - implement locking semantics in BackEnd class. 
    2932    </note> 
     
    5255        Have items completion percentage be related to how many of its children are complete? 
    5356    </note> 
    54     <note priority="medium" time="1112165268"> 
     57    <note priority="medium" time="1112179308"> 
    5558        Should refactor PropertyMap in order to have "name spaces". That way we can separate per-module configuration from global configuration. 
    5659    </note>