|
From: Frank V. C. <fr...@us...> - 2000-11-18 03:35:25
|
Update of /cvsroot/corelinux/clfw/clfw/LibLoad In directory slayer.i.sourceforge.net:/tmp/cvs-serv29061/clfw/LibLoad Modified Files: Library.hpp Log Message: 122753 Library Load Re-implementation Index: Library.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/LibLoad/Library.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** Library.hpp 2000/11/17 13:07:08 1.4 --- Library.hpp 2000/11/18 03:35:20 1.5 *************** *** 32,38 **** --- 32,46 ---- #endif + #if !defined(__LOADER_HPP) #include INCL_Loader + #endif + + #if !defined(__LIBRARYTYPE_HPP) #include INCL_LibraryType + #endif + + #if !defined(__LOADERNOTFOUNDEXCEPTION_HPP) #include INCL_LoaderNotFoundException + #endif #include <string> *************** *** 44,55 **** DECLARE_CLASS( MetaClass ); - CORELINUX_MAP( LibraryType,LoaderPtr,less<LibraryType>, TypeMap ); - DECLARE_CLASS( Library ); /** ! Library supports the registration/deregistration of library loaders ! specific to a LibraryType. If a library is resolvable, the Library ! shall provide a LibraryInstance object for that type of library. @see corelinux::LibraryType @see corelinux::LibraryInstance --- 52,60 ---- DECLARE_CLASS( MetaClass ); DECLARE_CLASS( Library ); /** ! Library supports resolving library library loaders using the ! LibraryType classes described in the 'corelinux' ontology. @see corelinux::LibraryType @see corelinux::LibraryInstance *************** *** 93,122 **** // - /** - Registers a loader associated with a particular - library type. When a request to load a library - is called, the type is resolved to have the - associated loader actually do the work. There - is a one to one association for types. - @param LibraryType describes the type that - the loader can manage - @param Loader the actual loader for the library type - @return Loader pointer if registering this replaces an - existing loader. - @exception NullPointerException if the Loader is null. - */ - - virtual LoaderPtr registerLoader( LibraryTypeRef, LoaderPtr ) - throw (NullPointerException); - - /** - Deregisters the loader associated with the LibraryType - @param LibraryType to deregister - @return Loader associated with type - @exception LoaderNotFoundException if can't be resolved - */ - - virtual LoaderPtr deregisterLoader( LibraryTypeRef ) - throw ( LoaderNotFoundException ); // --- 98,101 ---- *************** *** 154,169 **** throw (NullPointerException, LoaderNotFoundException); - /** - Load is the request to access the identified library - @param std::string pointer to name of library - @param LibraryType reference to identify loader - @return LibraryInstance instance of LibraryInstance - @exception NullPointerException if either argument is null - @exception LoaderNotFoundException if type can't be resolved - */ - - virtual LibraryInstancePtr load( const std::string &, LibraryTypeRef ) - throw (NullPointerException, LoaderNotFoundException); - protected: --- 133,136 ---- *************** *** 177,180 **** --- 144,151 ---- MetaClassPtr findLibraryHandler( CharPtr ); + /// Do the actual load + + LibraryInstancePtr loadInstance( CharPtr , MetaClassPtr ); + // // Operator overloads *************** *** 186,191 **** private: - - TypeMap theLoaderMap; }; --- 157,160 ---- |