# MPQC_ComponentFactory_Impl.hh

    00001 //
    00002 // File:          MPQC_ComponentFactory_Impl.hh
    00003 // Symbol:        MPQC.ComponentFactory-v0.2
    00004 // Symbol Type:   class
    00005 // Babel Version: 0.10.2
    00006 // Description:   Server-side implementation for MPQC.ComponentFactory
    00007 //
    00008 // WARNING: Automatically generated; only changes within splicers preserved
    00009 //
    00010 // babel-version = 0.10.2
    00011 //
    00012
    00013 #ifndef included_MPQC_ComponentFactory_Impl_hh
    00014 #define included_MPQC_ComponentFactory_Impl_hh
    00015
    00016 #ifndef included_sidl_cxx_hh
    00017 #include "sidl_cxx.hh"
    00018 #endif
    00019 #ifndef included_MPQC_ComponentFactory_IOR_h
    00020 #include "MPQC_ComponentFactory_IOR.h"
    00021 #endif
    00022 //
    00023 // Includes for all method dependencies.
    00024 //
    00025 #ifndef included_MPQC_ComponentFactory_hh
    00026 #include "MPQC_ComponentFactory.hh"
    00027 #endif
    00028 #ifndef included_gov_cca_CCAException_hh
    00029 #include "gov_cca_CCAException.hh"
    00030 #endif
    00031 #ifndef included_gov_cca_Component_hh
    00032 #include "gov_cca_Component.hh"
    00033 #endif
    00034 #ifndef included_gov_cca_ComponentClassDescription_hh
    00035 #include "gov_cca_ComponentClassDescription.hh"
    00036 #endif
    00037 #ifndef included_sidl_BaseInterface_hh
    00038 #include "sidl_BaseInterface.hh"
    00039 #endif
    00040 #ifndef included_sidl_ClassInfo_hh
    00041 #include "sidl_ClassInfo.hh"
    00042 #endif
    00043
    00044
    00045 // DO-NOT-DELETE splicer.begin(MPQC.ComponentFactory._includes)
    00046 // Put additional includes or other arbitrary code here...
    00047 // DO-NOT-DELETE splicer.end(MPQC.ComponentFactory._includes)
    00048
    00049 namespace MPQC {
    00050
    00054   class ComponentFactory_impl
    00055   // DO-NOT-DELETE splicer.begin(MPQC.ComponentFactory._inherits)
    00056
    00069   // DO-NOT-DELETE splicer.end(MPQC.ComponentFactory._inherits)
    00070   {
    00071
    00072   private:
    00073     // Pointer back to IOR.
    00074     // Use this to dispatch back through IOR vtable.
    00075     ComponentFactory self;
    00076
    00077     // DO-NOT-DELETE splicer.begin(MPQC.ComponentFactory._implementation)
    00078     std::vector< gov::cca::ComponentClassDescription > descriptions;
    00079     // DO-NOT-DELETE splicer.end(MPQC.ComponentFactory._implementation)
    00080
    00081   private:
    00082     // private default constructor (required)
    00083     ComponentFactory_impl()
    00084     {}
    00085
    00086   public:
    00087     // sidl constructor (required)
    00088     // Note: alternate Skel constructor doesn't call addref()
    00089     // (fixes bug #275)
    00090     ComponentFactory_impl( struct MPQC_ComponentFactory__object * s ) : self(s,
    00091       true) { _ctor(); }
    00092
    00093     // user defined construction
    00094     void _ctor();
    00095
    00096     // virtual destructor (required)
    00097     virtual ~ComponentFactory_impl() { _dtor(); }
    00098
    00099     // user defined destruction
    00100     void _dtor();
    00101
    00102     // static class initializer
    00103     static void _load();
    00104
    00105   public:
    00106
    00110     void
    00111     addDescription (
    00112       /* in */ const ::std::string& className,
    00113       /* in */ const ::std::string& classAlias
    00114     )
    00115     throw ()
    00116     ;
    00117
    00118
    00128     ::sidl::array< ::gov::cca::ComponentClassDescription>
    00129     getAvailableComponentClasses() throw (
    00130       ::gov::cca::CCAException
    00131     );
    00132
    00138     ::gov::cca::Component
    00139     createComponentInstance (
    00140       /* in */ const ::std::string& className
    00141     )
    00142     throw ()
    00143     ;
    00144
    00145
    00151     void
    00152     destroyComponentInstance (
    00153       /* in */ const ::std::string& className,
    00154       /* in */ ::gov::cca::Component c
    00155     )
    00156     throw ()
    00157     ;
    00158
    00159   };  // end class ComponentFactory_impl
    00160
    00161 } // end namespace MPQC
    00162
    00163 // DO-NOT-DELETE splicer.begin(MPQC.ComponentFactory._misc)
    00164 // Put miscellaneous things here...
    00165 // DO-NOT-DELETE splicer.end(MPQC.ComponentFactory._misc)
    00166
    00167 #endif