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

acslog.idl

Go to the documentation of this file.
00001 /*
00002  *    ALMA - Atacama Large Millimiter Array
00003  *    (c) European Southern Observatory, 2002
00004  *    Copyright by ESO (in the framework of the ALMA collaboration)
00005  *    and Cosylab 2002, All rights reserved
00006  *
00007  *    This library is free software; you can redistribute it and/or
00008  *    modify it under the terms of the GNU Lesser General Public
00009  *    License as published by the Free Software Foundation; either
00010  *    version 2.1 of the License, or (at your option) any later version.
00011  *
00012  *    This library is distributed in the hope that it will be useful,
00013  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  *    Lesser General Public License for more details.
00016  *
00017  *    You should have received a copy of the GNU Lesser General Public
00018  *    License along with this library; if not, write to the Free Software
00019  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
00020  *    MA 02111-1307  USA
00021  */
00022 #ifndef _ACS_LOG_IDL
00023 #define _ACS_LOG_IDL
00024 
00025 #include <acscommon.idl>
00026 
00027 #include "acserr.idl"
00028 
00029 #pragma prefix "alma"
00030 
00031 
00032 module ACSLog {
00033   /*
00034   NVPair ? should we take from another place (PropertyService ?)
00035   NVPair Seq ?
00036   Ther is NVPair already in acserr !!
00037   */
00041   struct NVPair {
00042     string name;
00043     string value; // any ? -> use than Property from Property Service
00044   };
00045   
00049   typedef sequence<NVPair> NVPairSeq;
00050 
00054   enum Priorities {
00055     ACS_LOG_TRACE, 
00056     ACS_LOG_DELOUSE, 
00057     ACS_LOG_DEBUG,  
00058     ACS_LOG_INFO,  
00059     ACS_LOG_NOTICE,  
00060     ACS_LOG_WARNING,  
00061     ACS_LOG_ERROR,  
00062     ACS_LOG_CRITICAL,  
00063     ACS_LOG_ALERT,  
00064     ACS_LOG_EMERGENCY
00065   };
00066 
00067   typedef string XMLstring;
00068 
00072   struct RTContext {
00074     string thread;
00076     string process;
00078     string host;
00080     string addContext;  
00082       string sourceObject;
00083   
00084     /* unsigned long stackLevel;
00085     unsigned long stackId;  // user must take care that stackId is unique in the context !
00086     */
00087   };
00088 
00092   struct SourceInfo {
00094     string file;
00096     string routine;
00098     unsigned long line;
00099   };
00100 
00101   interface LogSvc {
00102     /* if length of data is 0 -> ther are no data
00103        rtCont and srcInfo -> if evrything is NULL or 0 than that info is not writen into CL
00104        LogId ? which type unsigned long or string ? 
00105        LogPriorty is explicit
00106     */
00107 
00113     void logTrace(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00114     /* It neeeds just routine info and time stamp. Should we send only this  ? */
00115     
00121     void logDelouse(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00122    
00128     void logDebug(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00129 
00135     void logInfo(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00136     
00142     void logNotice(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00143     
00149     void logWarning(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00150 
00154     void logError(in ACSErr::ErrorTrace c) raises (ACSErr::ACSException);
00155 
00159     void logErrorWithPriority(in ACSErr::ErrorTrace c, in Priorities p) raises (ACSErr::ACSException);
00160 
00166     void logWithPriority(in Priorities p, in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data, in string audience, in string array, in string antenna) raises (ACSErr::ACSException);
00167     
00173     void logWithAudience(in Priorities p, in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in string audience, in string array, in string antenna) raises (ACSErr::ACSException);
00174     
00180     void logCritical(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00181     
00187     void logAlert(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00188     
00194     void logEmergency(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo,  in NVPairSeq data) raises (ACSErr::ACSException);
00195 
00199     void logXML(in XMLstring xml) raises (ACSErr::ACSException); 
00200     
00201     //void logXMLTimed(in acscommon::TimeStamp time, in XMLstring xml) raises (ACSErr::ACSException);
00202  };
00203 
00204 };
00205 
00206 #endif

Generated on Thu Jan 12 2012 23:13:14 for ACS-10.0 IDL interfaces by  doxygen 1.7.0