- Separate template definition from template declaration

- Explicitly instantiate Singleton templates to be exported from libbackend.so
- Install only header files that are backend interfaces to be exposed to the user
- Don't use full path for including templates in header files
- Instantiate a couple of smart_ptr templates to have their symbols exported outside the DSO. This happens in history.cc. FIXME: the interface for History will definitely need to be reworked, and the two smart_ptr explicit instantiations removed.
- Change SWIG exported interface to make use of Schedulable instead of (Dynamic|Static)Schedulable
- Fix provided policies to make use of the new interface
- TODO: limit the use of smart_ptrs.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@653 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-06-23 13:06:39 +00:00
parent 56db7cd6a2
commit 66d46db357
37 changed files with 153 additions and 145 deletions

View file

@ -30,8 +30,9 @@
#include "observed_subject.hh"
#include "schedulable_queue.hh"
#include "dynamic_schedulable.hh"
#include "../templates/smartp.hh"
#include "smartp.hh"
// Do not include complete template definition here:
#include "singleton.hh"
namespace sgpem
@ -49,7 +50,7 @@ namespace sgpem
*/
class History;
class SG_DLLEXPORT History : /*public Singleton<History>,*/ public ObservedSubject
class SG_DLLEXPORT History : public Singleton<History>, public ObservedSubject
{
friend class Singleton<History>;
@ -86,9 +87,6 @@ namespace sgpem
*/
virtual void truncate_at(int instant);
static History& get_instance();
protected:
History(); //private constructor.
History(const History&);
@ -97,7 +95,6 @@ namespace sgpem
private:
int _total_time_elapsed;
std::vector<sgpem::Slice> _slices;
static History* _instance;
};
}//~ namespace sgpem