/usr/include/oce/Message_Algorithm.hxx is in liboce-foundation-dev 0.17.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | // This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _Message_Algorithm_HeaderFile
#define _Message_Algorithm_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_Message_Algorithm.hxx>
#include <Message_ExecStatus.hxx>
#include <Handle_Message_Messenger.hxx>
#include <Handle_TColStd_HArray1OfTransient.hxx>
#include <Message_HArrayOfMsg.hxx>
#include <MMgt_TShared.hxx>
#include <Message_Status.hxx>
#include <Standard_Integer.hxx>
#include <Standard_CString.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_TCollection_HAsciiString.hxx>
#include <Handle_TCollection_HExtendedString.hxx>
#include <Message_Gravity.hxx>
#include <Handle_TColStd_HPackedMapOfInteger.hxx>
#include <Handle_TColStd_HSequenceOfHExtendedString.hxx>
class Message_Messenger;
class TColStd_HArray1OfTransient;
class TCollection_AsciiString;
class TCollection_HAsciiString;
class TCollection_ExtendedString;
class TCollection_HExtendedString;
class Message_Msg;
class TColStd_HPackedMapOfInteger;
class TColStd_HSequenceOfHExtendedString;
class TColStd_SequenceOfHExtendedString;
//! Class Message_Algorithm is intended to be the base class for
//! classes implementing algorithms or any operations that need
//! to provide extended information on its execution to the
//! caller / user.
//!
//! It provides generic mechanism for management of the execution
//! status, collection and output of messages.
//!
//! The algorithm uses methods SetStatus() to set an execution status.
//! It is possible to associate a status with a number or a string
//! (second argument of SetStatus() methods) to indicate precisely
//! the item (object, element etc.) in the input data which caused
//! the problem.
//!
//! Each execution status generated by the algorithm has associated
//! text message that should be defined in the resouce file loaded
//! with call to Message_MsgFile::LoadFile().
//!
//! The messages corresponding to the statuses generated during the
//! algorithm execution are output to Message_Messenger using
//! methods SendMessages(). If status have associated numbers
//! or strings, they are included in the message body in place of
//! "%s" placeholder which should be present in the message text.
//!
//! The name of the message text in the resource file is constructed
//! from name of the class and name of the status, separated by dot,
//! for instance:
//!
//! .TObj_CheckModel.Alarm2
//! Error: Some objects (%s) have references to dead object(s)
//!
//! If message for the status is not found with prefix of
//! the current class type, the same message is searched for the base
//! class(es) recursively.
//!
//! Message can be set explicitly for the status; in this case the
//! above procedure is not used and supplied message is used as is.
//!
//! The messages are output to the messenger, stored in the field;
//! though messenger can be changed, it is guaranteed to be non-null.
//! By default, Message::DefaultMessenger() is used.
class Message_Algorithm : public MMgt_TShared
{
public:
//! Empty constructor
Standard_EXPORT Message_Algorithm();
//! Sets status with no parameter
Standard_EXPORT void SetStatus (const Message_Status& theStat) ;
//! Sets status with integer parameter
Standard_EXPORT void SetStatus (const Message_Status& theStat, const Standard_Integer theInt) ;
//! Sets status with string parameter.
//! If noRepetitions is True, the parameter will be added only
//! if it has not been yet recorded for the same status flag
void SetStatus (const Message_Status& theStat, const Standard_CString theStr, const Standard_Boolean noRepetitions = Standard_True) ;
//! Sets status with string parameter
//! If noRepetitions is True, the parameter will be added only
//! if it has not been yet recorded for the same status flag
void SetStatus (const Message_Status& theStat, const TCollection_AsciiString& theStr, const Standard_Boolean noRepetitions = Standard_True) ;
//! Sets status with string parameter
//! If noRepetitions is True, the parameter will be added only
//! if it has not been yet recorded for the same status flag
void SetStatus (const Message_Status& theStat, const Handle(TCollection_HAsciiString)& theStr, const Standard_Boolean noRepetitions = Standard_True) ;
//! Sets status with string parameter
//! If noRepetitions is True, the parameter will be added only
//! if it has not been yet recorded for the same status flag
void SetStatus (const Message_Status& theStat, const TCollection_ExtendedString& theStr, const Standard_Boolean noRepetitions = Standard_True) ;
//! Sets status with string parameter
//! If noRepetitions is True, the parameter will be added only
//! if it has not been yet recorded for the same status flag
Standard_EXPORT void SetStatus (const Message_Status& theStat, const Handle(TCollection_HExtendedString)& theStr, const Standard_Boolean noRepetitions = Standard_True) ;
//! Sets status with preformatted message. This message will be
//! used directly to report the status; automatic generation of
//! status messages will be disabled for it.
Standard_EXPORT void SetStatus (const Message_Status& theStat, const Message_Msg& theMsg) ;
//! Returns copy of exec status of algorithm
const Message_ExecStatus& GetStatus() const;
//! Returns exec status of algorithm
Message_ExecStatus& ChangeStatus() ;
//! Clear exec status of algorithm
Standard_EXPORT void ClearStatus() ;
//! Sets messenger to algorithm
Standard_EXPORT void SetMessenger (const Handle(Message_Messenger)& theMsgr) ;
//! Returns messenger of algorithm.
//! The returned handle is always non-null and can
//! be used for sending messages.
Handle(Message_Messenger) GetMessenger() const;
//! Print messages for all status flags that have been set during
//! algorithm execution, excluding statuses that are NOT set
//! in theFilter.
//!
//! The messages are taken from resource file, names being
//! constructed as {dynamic class type}.{status name},
//! for instance, "Message_Algorithm.Fail5".
//! If message is not found in resources for this class and all
//! its base types, surrogate text is printed.
//!
//! For the statuses having number or string parameters,
//! theMaxCount defines maximal number of numbers or strings to be
//! included in the message
//!
//! Note that this method is virtual; this allows descendant
//! classes to customize message output (e.g. by adding
//! messages from other sub-algorithms)
Standard_EXPORT virtual void SendStatusMessages (const Message_ExecStatus& theFilter, const Message_Gravity theTraceLevel = Message_Warning, const Standard_Integer theMaxCount = 20) const;
//! Convenient variant of SendStatusMessages() with theFilter
//! having defined all WARN, ALARM, and FAIL (but not DONE)
//! status flags
Standard_EXPORT void SendMessages (const Message_Gravity theTraceLevel = Message_Warning, const Standard_Integer theMaxCount = 20) const;
//! Add statuses to this algorithm from other algorithm
//! (including messages)
Standard_EXPORT void AddStatus (const Handle(Message_Algorithm)& theOther) ;
//! Add statuses to this algorithm from other algorithm, but
//! only those items are moved that correspond to statuses
//! set in theStatus
Standard_EXPORT void AddStatus (const Message_ExecStatus& theStatus, const Handle(Message_Algorithm)& theOther) ;
//! Return the numbers associated with the indicated status;
//! Null handle if no such status or no numbers associated with it
Standard_EXPORT Handle(TColStd_HPackedMapOfInteger) GetMessageNumbers (const Message_Status& theStatus) const;
//! Return the strings associated with the indicated status;
//! Null handle if no such status or no strings associated with it
Standard_EXPORT Handle(TColStd_HSequenceOfHExtendedString) GetMessageStrings (const Message_Status& theStatus) const;
//! Prepares a string containing a list of integers contained
//! in theError map, but not more than theMaxCount
Standard_EXPORT static TCollection_ExtendedString PrepareReport (const Handle(TColStd_HPackedMapOfInteger)& theError, const Standard_Integer theMaxCount) ;
//! Prepares a string containing a list of names contained
//! in theReportSeq sequence, but not more than theMaxCount
Standard_EXPORT static TCollection_ExtendedString PrepareReport (const TColStd_SequenceOfHExtendedString& theReportSeq, const Standard_Integer theMaxCount) ;
DEFINE_STANDARD_RTTI(Message_Algorithm)
protected:
Message_ExecStatus myStatus;
Handle(Message_Messenger) myMessenger;
private:
Handle(TColStd_HArray1OfTransient) myReportIntegers;
Handle(TColStd_HArray1OfTransient) myReportStrings;
Message_HArrayOfMsg myReportMessages;
};
#include <Message_Algorithm.lxx>
#endif // _Message_Algorithm_HeaderFile
|