Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

AllupImpl.hh

Go to the documentation of this file.
00001 /*
00002  * AllupImpl.hh
00003  *
00004  * Copyright (c) 2003 The University of Utah and the Flux Group.
00005  * All rights reserved.
00006  *
00007  * This file is licensed under the terms of the GNU Public License.  
00008  * See the file "license.terms" for restrictions on redistribution 
00009  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
00010  */
00011 
00012 /**
00013  * @file AllupImpl.hh
00014  *
00015  * Header file for the AllupImpl class.
00016  */
00017 
00018 #ifndef _allup_impl_hh
00019 #define _allup_impl_hh
00020 
00021 #include <map.h>
00022 #include <string>
00023 
00024 #include "AllupS.h"
00025 
00026 /**
00027  * A straight-forward implementation of the edu::utah::pces::Allup interface.
00028  *
00029  * @sa FactoryLibrary_ltdl
00030  */
00031 class AllupImpl : public virtual POA_edu::utah::pces::Allup
00032 {
00033 
00034 public:
00035 
00036     /**
00037      * Construct an AllupImpl with the default values.
00038      */
00039     AllupImpl(void);
00040 
00041     /**
00042      * Deconstruct an AllupImpl.
00043      */
00044     virtual ~AllupImpl(void);
00045 
00046     /** @copydoc edu::utah::pces::Allup::OpenLibrary */
00047     virtual edu::utah::pces::FactoryLibrary_ptr OpenLibrary(const char *name)
00048         throw (edu::utah::pces::NoSuchLibrary,
00049                CORBA::SystemException);
00050 
00051     /** @copydoc edu::utah::pces::Allup::Libraries */
00052     virtual edu::utah::pces::FactoryLibraryList *Libraries(void)
00053         throw (CORBA::SystemException);
00054 
00055     /** @copydoc edu::utah::pces::Allup::Shutdown */
00056     virtual void Shutdown(void)
00057         throw (CORBA::SystemException);
00058 
00059 private:
00060 
00061     /**
00062      * The 'name->library' map object type.
00063      */
00064     typedef map<string, edu::utah::pces::FactoryLibrary_var> library_map_t;
00065 
00066     /**
00067      * Map of currently open library names to their object references.
00068      */
00069     library_map_t ai_Libraries;
00070     
00071 };
00072 
00073 #endif

Generated on Mon Dec 1 16:29:05 2003 for CPU Broker by doxygen 1.3.4