|
From: Frank V. C. <fr...@us...> - 2000-11-17 13:07:24
|
Update of /cvsroot/corelinux/clfw/clfw/LibLoad In directory slayer.i.sourceforge.net:/tmp/cvs-serv9356/clfw/LibLoad Modified Files: Library.hpp Log Message: 122619 Fatten MetaClass interface Index: Library.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/LibLoad/Library.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** Library.hpp 2000/08/31 23:12:42 1.3 --- Library.hpp 2000/11/17 13:07:08 1.4 *************** *** 25,33 **** #if !defined(__CLFWCOMMON_HPP) ! #include <ClfwCommon.hpp> #endif #if !defined(__MAP_HPP) ! #include <Map.hpp> #endif --- 25,33 ---- #if !defined(__CLFWCOMMON_HPP) ! #include <clfw/ClfwCommon.hpp> #endif #if !defined(__MAP_HPP) ! #include <corelinx/Map.hpp> #endif *************** *** 42,45 **** --- 42,46 ---- DECLARE_CLASS( LibraryInstance ); + DECLARE_CLASS( MetaClass ); CORELINUX_MAP( LibraryType,LoaderPtr,less<LibraryType>, TypeMap ); *************** *** 122,125 **** --- 123,157 ---- // Load routines // + + /** + Load is the request to access a Loader that handles the + library type as determined by the name. This will delegate + the work to the first loader it finds that can handle the + file type. + @param Char pointer to name of library + @return LibraryInstance instance of LibraryInstance + @exception NullPointerException if pointer is null + @exception LoaderNotFoundException if type can't be resolved + */ + + virtual LibraryInstancePtr load( CharPtr ) + throw (NullPointerException, LoaderNotFoundException); + + /** + Load is the request to access a Loader that handles the + library type as determined by the MetaClass provided with + the library name. In effect, this overrides searching for + the first handler available. + @param Char pointer to name of library + @param MetaClass pointer to MetaLibraryType derivation + that handles the load + @return LibraryInstance instance of LibraryInstance + @exception NullPointerException if either pointer is null + @exception LoaderNotFoundException if type can't be resolved + */ + + virtual LibraryInstancePtr load( CharPtr, MetaClassPtr ) + throw (NullPointerException, LoaderNotFoundException); + /** Load is the request to access the identified library *************** *** 139,142 **** --- 171,179 ---- Library( LibraryCref ) throw (Assertion); + + + /// Finds a handler for the library type + + MetaClassPtr findLibraryHandler( CharPtr ); // |