Ticket #34 (closed: fixed)

Opened 13 years ago

Last modified 5 years ago

Create the PluginManager and allow run time addition of libraries

Reported by: Nick Draper Owned by: Matt Clarke
Priority: major Milestone: Iteration 4
Component: Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

Create a PluginManager to allow the loading of shared libraries at run time. This will require conditional comiplation as the required calls are OS specific.

Look at the following in GAUDI for inspiration DLLClassManager (in GAUDIsvc) and System (in GAUDIKernel) where the real code calls are hidden.

The ADD explains how I want the plug in to work http://svn.mantidproject.org/mantid/trunk/Documents/Design/Architecture%20Design%20Document.doc

Change History

comment:1 Changed 13 years ago by Nick Draper

  • Owner set to Matt Clarke

comment:2 Changed 13 years ago by Matt Clarke

(In [206]) Added stuff for DLL opening. Refs #34

comment:3 Changed 13 years ago by Matt Clarke

(In [207]) Added shared lib loading code to kernel. Refs #34

comment:4 Changed 13 years ago by Matt Clarke

(In [208]) Added shared lib loading code to kernel. Refs #34

comment:5 Changed 13 years ago by Matt Clarke

(In [210]) Remove temporary folder. Refs #34.

comment:6 Changed 13 years ago by Matt Clarke

(In [213]) Fixed dllopen.cpp. Refs #34

comment:7 Changed 13 years ago by Nick Draper

  • Milestone changed from Iteration 2 to Iteration 3

comment:8 Changed 13 years ago by Nick Draper

(In [277]) re #34 Added functionality in the configsvc to return the current directory

comment:9 Changed 13 years ago by Matt Clarke

(In [279]) Modified LibraryManager (no longer singleton. Refs #34

comment:10 Changed 13 years ago by Matt Clarke

(In [380]) Test library. Refs #34

comment:11 Changed 13 years ago by Matt Clarke

(In [386]) Adjusted DllOpen to report error information. Refs #34

comment:12 Changed 13 years ago by Matt Clarke

(In [389]) A few mods to LibraryManager and DllOpen. Refs #34

comment:13 Changed 13 years ago by Nick Draper

Code is in place, just needs better testing. This ideally needs the build to build into seperate libraries.

comment:14 Changed 13 years ago by Matt Clarke

(In [427]) LibraryManagerTest now tries to load the MantidAlgorithms lib. Refs #34

comment:15 Changed 13 years ago by Nick Draper

  • Milestone changed from Iteration 3 to Iteration 4

comment:16 Changed 13 years ago by Nick Draper

(In [532]) re #34 Add a method to allow loading of a directories worth of libraries tidied up DllOpen

comment:17 Changed 13 years ago by Nick Draper

(In [533]) re #34 minor bug fix

comment:18 Changed 13 years ago by Nick Draper

(In [534]) re #34 minor bug fix

comment:19 Changed 13 years ago by Nick Draper

(In [546]) re #34 corrected seperator issues

comment:20 Changed 13 years ago by Matt Clarke

(In [605]) Removed LibraryManager from BoostPythonWrapper. Refs #34

comment:21 Changed 13 years ago by Matt Clarke

(In [606]) Changed LibraryManager to load all Libs in a directory. Refs #34

comment:22 Changed 13 years ago by Matt Clarke

(In [607]) Forgot some new files! Refs #34

comment:23 Changed 13 years ago by Matt Clarke

(In [608]) Changed Framework Manager to load all libraries in a specified directory (work in progress). Refs #34

comment:24 Changed 13 years ago by Matt Clarke

(In [609]) Too many underscores in ifndef! Refs #34

comment:25 Changed 13 years ago by Matt Clarke

(In [610]) Moved properties file to correct location. Refs #34

comment:26 Changed 13 years ago by Matt Clarke

(In [611]) Add method for copying properties files. Refs #34

comment:27 Changed 13 years ago by Matt Clarke

(In [622]) Changed Library Manager as per Stuart's suggestions. Refs #34

comment:28 Changed 13 years ago by Matt Clarke

(In [623]) Slight change to Library Manager. Refs #34

comment:29 Changed 13 years ago by Matt Clarke

(In [640]) Changed FrameworkManager to a singleton. Refs #34

comment:30 Changed 13 years ago by Matt Clarke

(In [642]) Changed FrameworkManager to a singleton. Refs #34

comment:31 Changed 13 years ago by Matt Clarke

(In [643]) Changed FrameworkManager to a singleton. Refs #34

comment:32 Changed 13 years ago by Matt Clarke

(In [644]) Changed FrameworkManager to a singleton. Refs #34

comment:33 Changed 13 years ago by Matt Clarke

(In [645]) Changed FrameworkManager to a singleton. Refs #34

comment:34 Changed 13 years ago by Matt Clarke

(In [646]) Changed back to using shared pointers in the map. Refs #34

comment:35 Changed 13 years ago by Matt Clarke

(In [647]) Fixed main. Refs #34

comment:36 Changed 13 years ago by Matt Clarke

(In [648]) Forgot to remove a std::cout that was for testing! Refs #34

comment:37 Changed 13 years ago by Matt Clarke

(In [667]) Changed link order. Refs #34

comment:38 Changed 13 years ago by Matt Clarke

(In [668]) Oops! Refs #34

comment:39 Changed 13 years ago by Nick Draper

(In [670]) re #34 Improveed handling if properties file missing. Changed VS build to use dynamic loading

comment:40 Changed 13 years ago by Nick Draper

  • Status changed from new to closed
  • Resolution set to fixed

comment:41 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 882

Note: See TracTickets for help on using tickets.