00001 #ifndef acsutil_h 00002 #define acsutil_h 00003 00004 /******************************************************************************* 00005 * ALMA - Atacama Large Millimiter Array 00006 * (c) European Southern Observatory, 2002 00007 * Copyright by ESO (in the framework of the ALMA collaboration) 00008 * and Cosylab 2002, All rights reserved 00009 * 00010 * This library is free software; you can redistribute it and/or 00011 * modify it under the terms of the GNU Lesser General Public 00012 * License as published by the Free Software Foundation; either 00013 * version 2.1 of the License, or (at your option) any later version. 00014 * 00015 * This library is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public 00021 * License along with this library; if not, write to the Free Software 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00023 * 00024 * "@(#) $Id: acsutil.h,v 1.20 2008/07/28 07:01:40 cparedes Exp $" 00025 * 00026 * who when what 00027 * -------- ---------- ---------------------------------------------- 00028 * bjeram 2003/05/05 turnedon native namspeace since we are using tornado 2.2 00029 * msekoran 2001/04/19 created 00030 */ 00031 00032 #ifndef __cplusplus 00033 #error This is a C++ include file and cannot be used from plain C 00034 #endif 00035 00041 #include <vector> 00042 #include <ace/OS.h> 00043 #include <Functor_String.h> 00044 00045 00049 #define ACS_HAS_TAO // use TAO 00050 00054 #define CDB_HAS_ANY 00055 00059 #undef ACS_HAS_OB // do not use Orbacus 00060 00063 #undef ACS_HAS_WIN32 // we are not using windows 00064 00068 #define ACS_HAS_DLL 00069 00072 #undef ACS_HAS_STATIC_LIBS 00073 00074 // automatically set WIN32 platform 00075 #if defined (_MSC_VER) 00076 #define ACS_HAS_WIN32 00077 #endif 00078 00079 #ifdef MAKE_VXWORKS 00080 #include <vsprintf.h> 00081 #endif 00082 00086 #define ACS_DLL_EXPORT ACE_Proper_Export_Flag 00087 00090 #define ACS_DLL_IMPORT ACE_Proper_Import_Flag 00091 00094 #define ACS_DLL_UNMANGLED_EXPORT extern "C" ACS_DLL_EXPORT 00095 00096 // 00097 // DESCRIPTION: Namespace support 00098 // 00104 #define USING_NAMESPACES 00105 00106 00107 #ifdef USING_NAMESPACES 00108 # define NAMESPACE_BEGIN(ns) namespace ns { 00109 # define NAMESPACE_END(ns) } 00110 # define NAMESPACE_USE(ns) using namespace ns; 00111 # define NAMESPACE_DIR(ns, code) ns##::##code // semicolon not set by macro 00112 #else 00113 # define NAMESPACE_BEGIN(ns) 00114 # define NAMESPACE_END(ns) 00115 # define NAMESPACE_USE(ns) 00116 # define NAMESPACE_DIR(ns, code) code // semicolon not set by macro 00117 #endif 00118 00144 #define ACS_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) 00145 00155 #define ACS_NEW(POINTER,CONSTRUCTOR) ACE_NEW(POINTER,CONSTRUCTOR) 00156 00160 typedef std::vector<ACE_CString> ACE_CString_Vector; 00161 00162 #endif /* acsutil_h */ 00163 00164 // ************************************************************************ 00165 // 00166 // REVISION HISTORY: 00167 // 00168 // $Log: acsutil.h,v $ 00169 // Revision 1.20 2008/07/28 07:01:40 cparedes 00170 // removing the using namespace 00171 // 00172 // Revision 1.19 2005/08/26 22:22:54 dfugate 00173 // Improved inline documentation a great deal. 00174 // 00175 // Revision 1.18 2005/04/26 08:03:46 bjeram 00176 // added vsprintf include for VXWORKS 00177 // 00178 // Revision 1.17 2005/04/12 12:48:56 acaproni 00179 // Added the following definition used in several modules: 00180 // typedef std::vector<ACE_CString> ACE_CString_Vector; 00181 // 00182 // Revision 1.16 2003/05/06 13:26:10 bjeram 00183 // porting to Tornado 2.2 (namespaces) 00184 // 00185 // Revision 1.15 2003/03/10 14:33:09 rgeorgie 00186 // LGPL 00187 // 00188 // Revision 1.14 2002/12/05 12:31:53 vltsccm 00189 // gchiozzi: Added proper GPL licence header to wildcard library 00190 // 00191 // ************************************************************************