| Last change
 on this file since 9cc4ac was             9b8fa4, checked in by Frederik Heber <heber@…>, 14 years ago | 
        
          | 
Huge update of file structure to place installation header files into right folder.
 The problem ist that we desire use as include "CodePatterns/...". For this to
work, especially with the new Observer subfolder structure, it has been
necessary to place all header files away from their source files into a
distinct folder called CodePatterns. This emulates the later, after make
install present structure.
essentially all source and header files had to be changed to adapt the
include.
all Makefile.am's had to be changed.
nobase_ ... was removed such that header files are installed flat and not
creating their subfolder along the process.
We placed Observer into its own convenience library and own folder Observer
away from Patterns.
 
Some other changes:
 FIX: MemDebug.hpp inclusion has been removed in all stubs.
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            822 bytes | 
      
      
| Rev | Line |  | 
|---|
| [746ff1] | 1 | /* | 
|---|
|  | 2 | * CreatorStub.hpp | 
|---|
|  | 3 | * | 
|---|
|  | 4 | *  Created on: Jan 4, 2011 | 
|---|
|  | 5 | *      Author: heber | 
|---|
|  | 6 | */ | 
|---|
|  | 7 |  | 
|---|
|  | 8 | #ifndef CREATORSTUB_HPP_ | 
|---|
|  | 9 | #define CREATORSTUB_HPP_ | 
|---|
|  | 10 |  | 
|---|
| [724564] | 11 | // include config.h | 
|---|
|  | 12 | #ifdef HAVE_CONFIG_H | 
|---|
|  | 13 | #include <config.h> | 
|---|
|  | 14 | #endif | 
|---|
|  | 15 |  | 
|---|
| [746ff1] | 16 | #include <typeinfo> | 
|---|
|  | 17 |  | 
|---|
| [9b8fa4] | 18 | #include "CodePatterns/Creator.hpp" | 
|---|
| [746ff1] | 19 |  | 
|---|
|  | 20 | class ICreatorStub { | 
|---|
|  | 21 | public: | 
|---|
|  | 22 | virtual ~ICreatorStub() {}; | 
|---|
|  | 23 | virtual void count() = 0; | 
|---|
|  | 24 | virtual int getcount() = 0; | 
|---|
|  | 25 | virtual std::string name() = 0; | 
|---|
|  | 26 | }; | 
|---|
|  | 27 |  | 
|---|
|  | 28 |  | 
|---|
|  | 29 | template <class T> | 
|---|
|  | 30 | class CreatorStub : public ICreatorStub, public Creator<ICreatorStub, CreatorStub<T> > | 
|---|
|  | 31 | { | 
|---|
|  | 32 | public: | 
|---|
|  | 33 | CreatorStub() {}; | 
|---|
|  | 34 | virtual ~CreatorStub() {}; | 
|---|
|  | 35 |  | 
|---|
|  | 36 | virtual void count() { | 
|---|
|  | 37 | member.counter++; | 
|---|
|  | 38 | } | 
|---|
|  | 39 | virtual int getcount() { | 
|---|
|  | 40 | return member.counter; | 
|---|
|  | 41 | } | 
|---|
|  | 42 | virtual std::string name() { | 
|---|
|  | 43 | return std::string(typeid(T).name()); | 
|---|
|  | 44 | } | 
|---|
|  | 45 | private: | 
|---|
|  | 46 | T member; | 
|---|
|  | 47 | }; | 
|---|
|  | 48 |  | 
|---|
|  | 49 |  | 
|---|
|  | 50 | #endif /* CREATORSTUB_HPP_ */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.