• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

maciACSComponentDefines.h

Go to the documentation of this file.
00001 #ifndef MACIACSCOMPONENTDEFINES_H
00002 #define MACIACSCOMPONENTDEFINES_H
00003 /*******************************************************************************
00004 *    ALMA - Atacama Large Millimiter Array
00005 *    (c) European Southern Observatory, 2002
00006 *    Copyright by ESO (in the framework of the ALMA collaboration)
00007 *    and Cosylab 2002, All rights reserved
00008 *
00009 *    This library is free software; you can redistribute it and/or
00010 *    modify it under the terms of the GNU Lesser General Public
00011 *    License as published by the Free Software Foundation; either
00012 *    version 2.1 of the License, or (at your option) any later version.
00013 *
00014 *    This library is distributed in the hope that it will be useful,
00015 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 *    Lesser General Public License for more details.
00018 *
00019 *    You should have received a copy of the GNU Lesser General Public
00020 *    License along with this library; if not, write to the Free Software
00021 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00022 *
00023 * "@(#) $Id: maciACSComponentDefines.h,v 1.21 2006/10/20 10:25:43 bjeram Exp $"
00024 *
00025 * who       when        what
00026 * --------  --------    ----------------------------------------------
00027 * msekoran  2003-09-17  ConstructCOB renamed to ConstructComponent
00028 * rcirami   2003-08-28  created
00029 */
00030 
00031 /************************************************************************
00032  *
00033  *----------------------------------------------------------------------
00034  */
00035 
00036 #ifndef __cplusplus
00037 #error This is a C++ include file and cannot be used from plain C
00038 #endif
00039 
00040 #include <acserrACSbaseExImpl.h>
00041 
00042 
00048 
00049 
00050 #include <baciCharacteristicComponentImpl.h>
00051 #include <acserr.h>
00052 #include <maciErrType.h>
00053 
00067 // !!!! to be able to handel also template classes with template list longer than one we have to add args.... (variable macro arguemnt)
00068 // in this case the class name that is send to the logging system (ACS_LOG) does not add comma between first and second template argument
00069 #define MACI_DLL_SUPPORT_FUNCTIONS(Class, args...) \
00070 ACS_DLL_UNMANGLED_EXPORT PortableServer::Servant ConstructComponent( \
00071                           CORBA::ULong, \
00072                                       const char * name_p, \
00073                                       const char * type_p, \
00074                       maci::ContainerServices * containerServices) \
00075 { \
00076     ACE_UNUSED_ARG(type_p); \
00077     Class,##args* servant_p =0; \
00078     servant_p = new Class,##args(name_p, containerServices); \
00079     return servant_p; \
00080 } \
00081 \
00082 ACS_DLL_UNMANGLED_EXPORT bool DLLOpen(int, char**) \
00083 { \
00084     return true; \
00085 } \
00086 \
00087 ACS_DLL_UNMANGLED_EXPORT void DLLClose() \
00088 { \
00089 }
00090 
00091 
00092 #endif /*MACICOMPONENTDEFINES_H*/
00093 
00094 

Generated on Thu Jan 12 2012 23:13:51 for ACS-10.0 C++ API by  doxygen 1.7.0