Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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_DEBUG, 00057 ACS_LOG_INFO, 00058 ACS_LOG_NOTICE, 00059 ACS_LOG_WARNING, 00060 ACS_LOG_ERROR, 00061 ACS_LOG_CRITICAL, 00062 ACS_LOG_ALERT, 00063 ACS_LOG_EMERGENCY 00064 }; 00065 00066 typedef string XMLstring; 00067 00071 struct RTContext { 00073 string thread; 00075 string process; 00077 string host; 00079 string addContext; 00081 string sourceObject; 00082 00083 /* unsigned long stackLevel; 00084 unsigned long stackId; // user must take care that stackId is unique in the context ! 00085 */ 00086 }; 00087 00091 struct SourceInfo { 00093 string file; 00095 string routine; 00097 unsigned long line; 00098 }; 00099 00100 interface LogSvc { 00101 /* if length of data is 0 -> ther are no data 00102 rtCont and srcInfo -> if evrything is NULL or 0 than that info is not writen into CL 00103 LogId ? which type unsigned long or string ? 00104 LogPriorty is explicit 00105 */ 00106 00112 void logTrace(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00113 /* It neeeds just routine info and time stamp. Should we send only this ? */ 00114 00120 void logDebug(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00121 00127 void logInfo(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00128 00134 void logNotice(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00135 00141 void logWarning(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00142 00146 void logError(in ACSErr::ErrorTrace c) raises (ACSErr::ACSException); 00147 00151 void logErrorWithPriority(in ACSErr::ErrorTrace c, in Priorities p) raises (ACSErr::ACSException); 00152 00158 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); 00159 00165 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); 00166 00172 void logCritical(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00173 00179 void logAlert(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00180 00186 void logEmergency(in acscommon::TimeStamp time, in string msg, in RTContext rtCont, in SourceInfo srcInfo, in NVPairSeq data) raises (ACSErr::ACSException); 00187 00191 void logXML(in XMLstring xml) raises (ACSErr::ACSException); 00192 00193 //void logXMLTimed(in acscommon::TimeStamp time, in XMLstring xml) raises (ACSErr::ACSException); 00194 }; 00195 00196 }; 00197 00198 #endif

Generated on Thu Apr 30 02:26:27 2009 for ACS IDL interfaces by doxygen 1.3.8