Exception.cc

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00002 // CERTI - HLA RunTime Infrastructure
00003 // Copyright (C) 2002-2005  ONERA
00004 //
00005 // This file is part of CERTI-libCERTI
00006 //
00007 // CERTI-libCERTI is free software ; you can redistribute it and/or
00008 // modify it under the terms of the GNU Lesser General Public License
00009 // as published by the Free Software Foundation ; either version 2 of
00010 // the License, or (at your option) any later version.
00011 //
00012 // CERTI-libCERTI is distributed in the hope that it will be useful, but
00013 // 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 program ; if not, write to the Free Software
00019 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00020 // USA
00021 //
00022 // $Id: Exception.cc,v 3.17 2008/12/07 20:16:12 gotthardp Exp $
00023 // ----------------------------------------------------------------------------
00024 
00025 #include "Exception.hh"
00026 #include "certi.hh"
00027 #include "PrettyDebug.hh"
00028 #include <sstream>
00029 
00030 // static members for HLA Exceptions
00031 long certi::ArrayIndexOutOfBounds::_type = certi::e_ArrayIndexOutOfBounds ;
00032 long certi::AsynchronousDeliveryAlreadyDisabled::_type = certi::e_AsynchronousDeliveryAlreadyDisabled ;
00033 long certi::AsynchronousDeliveryAlreadyEnabled::_type = certi::e_AsynchronousDeliveryAlreadyEnabled ;
00034 long certi::AttributeAcquisitionWasNotRequested::_type = certi::e_AttributeAcquisitionWasNotRequested ;
00035 long certi::AttributeAcquisitionWasNotCanceled::_type = certi::e_AttributeAcquisitionWasNotCanceled ;
00036 long certi::AttributeAlreadyBeingAcquired::_type = certi::e_AttributeAlreadyBeingAcquired ;
00037 long certi::AttributeAlreadyBeingDivested::_type = certi::e_AttributeAlreadyBeingDivested ;
00038 long certi::AttributeAlreadyOwned::_type = certi::e_AttributeAlreadyOwned ;
00039 long certi::AttributeDivestitureWasNotRequested::_type = certi::e_AttributeDivestitureWasNotRequested ;
00040 long certi::AttributeNotDefined::_type = certi::e_AttributeNotDefined ;
00041 long certi::AttributeNotKnown::_type = certi::e_AttributeNotKnown ;
00042 long certi::AttributeNotOwned::_type = certi::e_AttributeNotOwned ;
00043 long certi::AttributeNotPublished::_type = certi::e_AttributeNotPublished ;
00044 long certi::ConcurrentAccessAttempted::_type = certi::e_ConcurrentAccessAttempted ;
00045 long certi::CouldNotDiscover::_type = certi::e_CouldNotDiscover ;
00046 long certi::CouldNotOpenFED::_type = certi::e_CouldNotOpenFED ;
00047 long certi::CouldNotRestore::_type = certi::e_CouldNotRestore ;
00048 long certi::DeletePrivilegeNotHeld::_type = certi::e_DeletePrivilegeNotHeld ;
00049 long certi::DimensionNotDefined::_type = certi::e_DimensionNotDefined ;
00050 long certi::EnableTimeConstrainedPending::_type = certi::e_EnableTimeConstrainedPending ;
00051 long certi::EnableTimeConstrainedWasNotPending::_type = certi::e_EnableTimeConstrainedWasNotPending ;
00052 long certi::EnableTimeRegulationPending::_type = certi::e_EnableTimeRegulationPending ;
00053 long certi::EnableTimeRegulationWasNotPending::_type = certi::e_EnableTimeRegulationWasNotPending ;
00054 long certi::ErrorReadingFED::_type = certi::e_ErrorReadingFED ;
00055 long certi::EventNotKnown::_type = certi::e_EventNotKnown ;
00056 long certi::FederateAlreadyExecutionMember::_type = certi::e_FederateAlreadyExecutionMember ;
00057 long certi::FederateInternalError::_type = certi::e_FederateInternalError ;
00058 long certi::FederateLoggingServiceCalls::_type = certi::e_FederateLoggingServiceCalls ;
00059 long certi::FederateNotExecutionMember::_type = certi::e_FederateNotExecutionMember ;
00060 long certi::FederateOwnsAttributes::_type = certi::e_FederateOwnsAttributes ;
00061 long certi::FederateWasNotAskedToReleaseAttribute::_type = certi::e_FederateWasNotAskedToReleaseAttribute ;
00062 long certi::FederatesCurrentlyJoined::_type = certi::e_FederatesCurrentlyJoined ;
00063 long certi::FederationExecutionAlreadyExists::_type = certi::e_FederationExecutionAlreadyExists ;
00064 long certi::FederationExecutionDoesNotExist::_type = certi::e_FederationExecutionDoesNotExist ;
00065 long certi::FederationTimeAlreadyPassed::_type = certi::e_FederationTimeAlreadyPassed ;
00066 long certi::HandleValuePairMaximumExceeded::_type = certi::e_HandleValuePairMaximumExceeded ;
00067 long certi::InteractionClassNotDefined::_type = certi::e_InteractionClassNotDefined ;
00068 long certi::InteractionClassNotKnown::_type = certi::e_InteractionClassNotKnown ;
00069 long certi::InteractionClassNotPublished::_type = certi::e_InteractionClassNotPublished ;
00070 long certi::InteractionClassNotSubscribed::_type = certi::e_InteractionClassNotSubscribed ;
00071 long certi::InteractionParameterNotDefined::_type = certi::e_InteractionParameterNotDefined ;
00072 long certi::InteractionParameterNotKnown::_type = certi::e_InteractionParameterNotKnown ;
00073 long certi::InvalidExtents::_type = certi::e_InvalidExtents ;
00074 long certi::InvalidFederationTime::_type = certi::e_InvalidFederationTime ;
00075 long certi::InvalidHandleValuePairSetContext::_type = certi::e_InvalidHandleValuePairSetContext ;
00076 long certi::InvalidLookahead::_type = certi::e_InvalidLookahead ;
00077 long certi::InvalidOrderingHandle::_type = certi::e_InvalidOrderingHandle ;
00078 long certi::InvalidRegionContext::_type = certi::e_InvalidRegionContext ;
00079 long certi::InvalidResignAction::_type = certi::e_InvalidResignAction ;
00080 long certi::InvalidRetractionHandle::_type = certi::e_InvalidRetractionHandle ;
00081 long certi::InvalidTransportationHandle::_type = certi::e_InvalidTransportationHandle ;
00082 long certi::MemoryExhausted::_type = certi::e_MemoryExhausted ;
00083 long certi::NameNotFound::_type = certi::e_NameNotFound ;
00084 long certi::ObjectClassNotDefined::_type = certi::e_ObjectClassNotDefined ;
00085 long certi::ObjectClassNotKnown::_type = certi::e_ObjectClassNotKnown ;
00086 long certi::ObjectClassNotPublished::_type = certi::e_ObjectClassNotPublished ;
00087 long certi::ObjectClassNotSubscribed::_type = certi::e_ObjectClassNotSubscribed ;
00088 long certi::ObjectNotKnown::_type = certi::e_ObjectNotKnown ;
00089 long certi::ObjectAlreadyRegistered::_type = certi::e_ObjectAlreadyRegistered ;
00090 long certi::OwnershipAcquisitionPending::_type = certi::e_OwnershipAcquisitionPending ;
00091 long certi::RegionInUse::_type = certi::e_RegionInUse ;
00092 long certi::RegionNotKnown::_type = certi::e_RegionNotKnown ;
00093 long certi::RestoreInProgress::_type = certi::e_RestoreInProgress ;
00094 long certi::RestoreNotRequested::_type = certi::e_RestoreNotRequested ;
00095 long certi::RTIinternalError::_type = certi::e_RTIinternalError ;
00096 long certi::SpaceNotDefined::_type = certi::e_SpaceNotDefined ;
00097 long certi::SaveInProgress::_type = certi::e_SaveInProgress ;
00098 long certi::SaveNotInitiated::_type = certi::e_SaveNotInitiated ;
00099 long certi::SpecifiedSaveLabelDoesNotExist::_type = certi::e_SpecifiedSaveLabelDoesNotExist ;
00100 long certi::SynchronizationPointLabelWasNotAnnounced::_type = certi::e_SynchronizationPointLabelWasNotAnnounced ;
00101 long certi::TimeAdvanceAlreadyInProgress::_type = certi::e_TimeAdvanceAlreadyInProgress ;
00102 long certi::TimeAdvanceWasNotInProgress::_type = certi::e_TimeAdvanceWasNotInProgress ;
00103 long certi::TimeConstrainedAlreadyEnabled::_type = certi::e_TimeConstrainedAlreadyEnabled ;
00104 long certi::TimeConstrainedWasNotEnabled::_type = certi::e_TimeConstrainedWasNotEnabled ;
00105 long certi::TimeRegulationAlreadyEnabled::_type = certi::e_TimeRegulationAlreadyEnabled ;
00106 long certi::TimeRegulationWasNotEnabled::_type = certi::e_TimeRegulationWasNotEnabled ;
00107 long certi::UnableToPerformSave::_type = certi::e_UnableToPerformSave ;
00108 long certi::ValueCountExceeded::_type = certi::e_ValueCountExceeded ;
00109 long certi::ValueLengthExceeded::_type = certi::e_ValueLengthExceeded ;
00110 
00111 //  TypeException managing (how to obtain TypeException from Exception name ?)
00112 long certi::FederateNotPublishing::_type = certi::e_FederateNotPublishing ;
00113 long certi::FederateNotSubscribing::_type = certi::e_FederateNotSubscribing ;
00114 long certi::InvalidObjectHandle::_type = certi::e_InvalidObjectHandle ;
00115 long certi::CouldNotOpenRID::_type = certi::e_CouldNotOpenRID ;
00116 long certi::ErrorReadingRID::_type = certi::e_ErrorReadingRID ;
00117 long certi::AttributeNotSubscribed::_type = certi::e_AttributeNotSubscribed ;
00118 long certi::FederationAlreadyPaused::_type = certi::e_FederationAlreadyPaused ;
00119 long certi::FederationNotPaused::_type = certi::e_FederationNotPaused ;
00120 long certi::SecurityError::_type = certi::e_SecurityError ;
00121 long certi::FederateAlreadyPaused::_type = certi::e_FederateAlreadyPaused ;
00122 long certi::FederateDoesNotExist::_type = certi::e_FederateDoesNotExist ;
00123 long certi::FederateNameAlreadyInUse::_type = certi::e_FederateNameAlreadyInUse ;
00124 long certi::FederateNotPaused::_type = certi::e_FederateNotPaused ;
00125 long certi::IDsupplyExhausted::_type = certi::e_IDsupplyExhausted ;
00126 long certi::InvalidDivestitureCondition::_type = certi::e_InvalidDivestitureCondition ;
00127 long certi::InvalidFederationTimeDelta::_type = certi::e_InvalidFederationTimeDelta ;
00128 long certi::InvalidRoutingSpace::_type = certi::e_InvalidRoutingSpace ;
00129 long certi::NoPauseRequested::_type = certi::e_NoPauseRequested ;
00130 long certi::NoResumeRequested::_type = certi::e_NoResumeRequested ;
00131 long certi::TooManyIDsRequested::_type = certi::e_TooManyIDsRequested ;
00132 long certi::UnimplementedService::_type = certi::e_UnimplementedService ;
00133 long certi::UnknownLabel::_type = certi::e_UnknownLabel ;
00134 long certi::NetworkError::_type = certi::e_NetworkError ;
00135 long certi::NetworkSignal::_type = certi::e_NetworkSignal ;
00136 
00137 static PrettyDebug PD_Exception("CERTI_EXCEPTION",__FILE__);
00138 
00139 const std::string certi::Exception::displayMe() const
00140 {
00141     std::stringstream msg;
00142 
00143     msg << "CERTI::Exception [";
00144     if (NULL!=_name) {
00145         msg <<_name;
00146     } else {
00147         msg<<"<noname>";
00148     }
00149     msg << " - reason=";
00150     if (!_reason.empty()) {
00151         msg << _reason;
00152     } else {
00153         msg << "<noreason>";
00154     }
00155     msg << std::endl;
00156     msg << std::flush;
00157 
00158     PD_Exception[pdExcept] << msg.str().c_str();
00159     return msg.str();
00160 }
00161 // $Id: Exception.cc,v 3.17 2008/12/07 20:16:12 gotthardp Exp $

Generated on Thu Apr 30 15:53:48 2009 for CERTIDeveloperDocumentation by doxygen 1.5.5