00001 // -*- C++ -*- 00002 00003 //======================================================================= 00004 /** 00005 * @file PG_Factory_Set.h 00006 * 00007 * PG_Factory_Set.h,v 1.7 2005/11/14 22:03:50 ossama Exp 00008 * 00009 * @author Ossama Othman <ossama@uci.edu> 00010 */ 00011 //======================================================================= 00012 00013 00014 #ifndef TAO_PG_FACTORY_SET_H 00015 #define TAO_PG_FACTORY_SET_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "ace/config-all.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "orbsvcs/PortableGroupC.h" 00026 00027 #include "ace/Array_Base.h" 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 /** 00032 * @class TAO_PG_Factory_Node 00033 * 00034 * @brief Structure that contains all factory-specific information. 00035 * 00036 * Each member created by the infrastructure instead of the 00037 * application will have a corresponding TAO_PG_Factory_Node structure 00038 * associated with it. A list of these will be maintained by the 00039 * infrastructure so that it is possible for the instrastructure to 00040 * destroy members it created when destroying the object group. 00041 */ 00042 struct TAO_PG_Factory_Node 00043 { 00044 /// Member factory information. 00045 PortableGroup::FactoryInfo factory_info; 00046 00047 /// FactoryCreationId assigned to the member. 00048 PortableGroup::GenericFactory::FactoryCreationId_var factory_creation_id; 00049 00050 }; 00051 00052 typedef ACE_Array_Base<TAO_PG_Factory_Node> TAO_PG_Factory_Set; 00053 00054 TAO_END_VERSIONED_NAMESPACE_DECL 00055 00056 #include /**/ "ace/post.h" 00057 00058 #endif /* TAO_PG_FACTORY_SET_H */