Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

tcsBASE.h

Go to the documentation of this file.
00001 #ifndef tcsBASE_H
00002 #define tcsBASE_H
00003 /*******************************************************************************
00004 * E.S.O. - VLT project
00005 *
00006 * "@(#) $Id: tcsBASE.h,v 1.136 2003/11/27 15:10:05 vltsccm Exp $"
00007 *
00008 * who       when      what
00009 * --------  --------  ----------------------------------------------
00010 * rkarban  14/04/98  remove logFits patch
00011 * tcsmgr  30/03/98  PATCH: moved here temporarily logFITS class.
00012 * tcsmgr  26/03/98  add singleton instance of logFITS
00013 * gchiozzi  20/07/95  created
00014 */
00015 
00016 /************************************************************************
00017  *
00018  *----------------------------------------------------------------------
00019  */
00020 
00021 #ifndef __cplusplus
00022 #error This is a C++ include file and cannot be used from plain C
00023 #endif
00024 
00025 #include "tcs.h"
00026 #include "eccsLog.h"
00027 #include "eccsErr.h"
00028 
00029 class tcsBASE
00030 {
00031   public:
00032     tcsBASE();
00033 
00034     static const char* DbRoot();
00035     static const char* EnvName();
00036     static const char* ProcName();
00037 
00038     static logFITS    &LogFits();
00039 
00040     static ccsCOMPL_STAT DbRoot(const dbSYMADDRESS &root);
00041     static ccsCOMPL_STAT EnvName(const ccsENVNAME &env);
00042     static vltLOGICAL    ObjectOk(eccsERROR_CLASS *object, const char *name);
00043 
00044   private:
00045     static dbSYMADDRESS dbRoot;
00046     static ccsENVNAME   envName;
00047     static ccsPROCNAME  procName;
00048 
00049     static logFITS      logFits;
00050 };
00051 
00052 /* Creating this static instance makes sure that    */
00053 /* the static data members are properly initialysed */
00054 static tcsBASE tcsBaseInit;
00055 
00056 /* Convenience functions to hide the class */
00057 const char* tcsDbRoot();
00058 const char* tcsEnvName();
00059 const char* tcsProcName();
00060 
00061 const char* tcsMakeDbPoint(const dbSYMADDRESS dbRoot, 
00062          const char *format,
00063          ...);
00064 const char* tcsMakeDbPoint_v(const dbSYMADDRESS dbRoot, 
00065            const char *format,
00066            va_list va_parList);
00067 
00068 /* Define to hide the fact that global logFITS */
00069 /* instance is actually a static member of     */
00070 /* the tcsBASE "singleton"                     */
00071 #define tcsLogFits tcsBASE::LogFits()
00072 
00073 #include "tcsBASE.icc"
00074 
00075 #endif 

Generated on Wed Dec 3 14:52:20 2003 for ATCS API by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001