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

acserr.idl

Go to the documentation of this file.
00001 #ifndef _ACSERR_IDL_
00002 #define _ACSERR_IDL_
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 
00025 #pragma prefix "alma"
00026 
00027 module ACSErr {
00028 
00029 // it does not  work with JacORB
00030 //  const  ::ACSErrTypeOK::ACSErrTypeOK_ ACSErrOK = ::ACSErrTypeOK::ACSErrOK;
00031 
00032     struct NameValue {
00033         string name;
00034         string value; // any ? -> use than Property from Property Service
00035     };
00036 
00037     typedef sequence<NameValue> NameValueSeq;
00038 
00039     typedef unsigned long CompletionType;
00040     typedef unsigned long CompletionCode;
00041 
00042     typedef CompletionType ACSErrType;
00043     typedef CompletionCode ErrorCode;
00044 
00049     enum Severity {
00050         Error, 
00051         Critical, 
00052         Alert, 
00053         Emergency 
00054     };
00055 
00056     struct ErrorTrace; 
00057     typedef sequence<ErrorTrace/*, 1*/> ErrorLinkedList;
00058   
00059 
00064     struct ErrorTrace {
00065 
00069         string file;
00070     
00074         long lineNum;
00075     
00079         string routine;
00080     
00084         string host;
00085     
00089         string process;
00090 
00094         string thread;
00095 
00099         unsigned long long timeStamp;
00100 
00104         string sourceObject;
00105 
00109         ACSErr::ACSErrType errorType;
00110 
00114         ACSErr::ErrorCode errorCode;
00115 
00119         ACSErr::Severity severity;    
00120 
00124         string shortDescription;
00125     
00129         NameValueSeq data;
00130 
00134         ErrorLinkedList previousError;
00135     };
00136 
00137     struct Completion {
00138      
00142         unsigned long long timeStamp;
00143         
00147         ACSErr::CompletionType type;
00148         
00152         ACSErr::CompletionCode code;
00153         
00157         ErrorLinkedList  previousError;
00158     };
00159 
00163     typedef sequence <Completion> CompletionSeq;
00164 
00168     exception ACSException {
00169         ErrorTrace error;
00170     };
00171 
00172     exception ACSbaseEx {
00173         ErrorTrace error;
00174     };
00175 };
00176 
00177 #endif

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