# DataExchange
TKXSBase
Interface

# Interface_MSG Class Reference

This class gives a set of functions to manage and use a list
of translated messages (messagery)
Keys are strings, their corresponding (i.e. translated) items
are strings, managed by a dictionary (a global one).
If the dictionary is not set, or if a key is not recorded,
the key is returned as item, and it is possible to :
- trace or not this fail, record or not it for further trace
It is also possible to suspend the translation (keys are then
always returned as items)
This class also provides a file format for loading :
It is made of couples of lines, the first one begins by '@'
the following is the key, the second one is the message
Lines which are empty or which begin by '' are skipped
. More...

`#include <Interface_MSG.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT | Interface_MSG (const Standard_CString key)
| A MSG is created to write a "functional code" in conjunction with operator () attached to Value Then, to have a translated message, write in C++ : Interface_MSG("...mykey...") which returns a CString See also some help which follow .
Standard_EXPORT | Interface_MSG (const Standard_CString key, const Standard_Integer i1)
| Translates a message which contains one integer variable It is just a help which avoid the following : char mess[100]; sprintf(mess,Interface_MSG("code"),ival); then AddFail(mess); replaced by AddFail (Interface_MSG("code",ival)); The basic message is intended to be in C-sprintf format, with one d form in it .
Standard_EXPORT | Interface_MSG (const Standard_CString key, const Standard_Integer i1, const Standard_Integer i2)
| Translates a message which contains two integer variables As for one integer, it is just a writing help The basic message is intended to be in C-sprintf format with two d forms in it .
Standard_EXPORT | Interface_MSG (const Standard_CString key, const Standard_Real r1, const Standard_Integer intervals=-1)
| Translates a message which contains one real variable <intervals> if set, commands the variable to be rounded to an interval (see below, method Intervals) As for one integer, it is just a writing help The basic message is intended to be in C-sprintf format with one f form (or equivalent : e etc) in it .
Standard_EXPORT | Interface_MSG (const Standard_CString key, const Standard_CString str)
| Translates a message which contains one string variable As for one integer, it is just a writing help The basic message is intended to be in C-sprintf format with one s form in it .
Standard_EXPORT | Interface_MSG (const Standard_CString key, const Standard_Integer ival, const Standard_CString str)
| Translates a message which contains one integer and one string variables As for one integer, it is just a writing help Used for instance to say "Param n0.<ival> i.e. <str> is not.." The basic message is intended to be in C-sprintf format with one d then one s forms in it .
Standard_EXPORT void | Destroy ()
| Optimised destructor (applies for additional forms of Create) .
| ~Interface_MSG ()
Standard_EXPORT Standard_CString | Value () const
| Returns the translated message, in a functional form with operator () was C++ : return const .
| operator Standard_CString () const

## Static Public Member Functions

static Standard_EXPORT Standard_Integer | Read (Standard_IStream &S)
| Reads a list of messages from a stream, returns read count 0 means empty file, -1 means error .
static Standard_EXPORT Standard_Integer | Read (const Standard_CString file)
| Reads a list of messages from a file defined by its name .
static Standard_EXPORT Standard_Integer | Write (Standard_OStream &S, const Standard_CString rootkey="")
| Writes the list of messages recorded to be translated, to a stream. Writes all the list (Default) or only keys which begin by <rootkey>. Returns the count of written messages .
static Standard_EXPORT Standard_Boolean | IsKey (const Standard_CString mess)
| Returns True if a given message is surely a key (according to the form adopted for keys) (before activating messages, answer is false) .
static Standard_EXPORT Standard_CString | Translated (const Standard_CString key)
| Returns the item recorded for a key. Returns the key itself if : - it is not recorded (then, the trace system is activated) - MSG has been required to be hung on .
static Standard_EXPORT void | Record (const Standard_CString key, const Standard_CString item)
| Fills the dictionary with a couple (key-item) If a key is already recorded, it is possible to : - keep the last definition, and activate the trace system .
static Standard_EXPORT void | SetTrace (const Standard_Boolean toprint, const Standard_Boolean torecord)
| Sets the trace system to work when activated, as follow : - if <toprint> is True, print immediately on standard output - if <torecord> is True, record it for further print .
static Standard_EXPORT void | SetMode (const Standard_Boolean running, const Standard_Boolean raising)
| Sets the main modes for MSG : - if <running> is True, translation works normally - if <running> is False, translated item equate keys - if <raising> is True, errors (from Record or Translate) cause MSG to raise an exception - if <raising> is False, MSG runs without exception, then see also Trace Modes above .
static Standard_EXPORT void | PrintTrace (Standard_OStream &S)
| Prints the recorded errors (without title; can be empty, this is the normally expected case) .
static Standard_EXPORT Standard_Real | Intervalled (const Standard_Real val, const Standard_Integer order=3, const Standard_Boolean upper=Standard_False)

Returns an "intervalled" value from a starting real <val> :
i.e. a value which is rounded on an interval limit
Interval limits are defined to be in a coarsely "geometric"
progression (two successive intervals are inside a limit ratio)
<order> gives the count of desired intervals in a range <1-10>
<upper> False, returns the first lower interval (D)
<upper> True, returns the first upper interval
Values of Intervals according <order> :
0,1 : 1 10 100 ...
2 : 1 3 10 30 100 ...
3(D): 1 2 5 10 20 50 100 ...
4 : 1 2 3 6 10 20 30 60 100 ...
6 : 1 1.5 2 3 5 7 10 15 20 ...
10 : 1 1.2 1.5 2 2.5 3 4 5 6 8 10 12 15 20 25 ...
.

static Standard_EXPORT void | TDate (const Standard_CString text, const Standard_Integer yy, const Standard_Integer mm, const Standard_Integer dd, const Standard_Integer hh, const Standard_Integer mn, const Standard_Integer ss, const Standard_CString format="")
| Codes a date as a text, from its numeric value (-> seconds) : YYYY-MM-DD:HH-MN-SS fixed format, completed by leading zeros Another format can be provided, as follows : C:d ... C like format, preceeded by C: S:... format to call system (not yet implemented) .
static Standard_EXPORT Standard_Boolean | NDate (const Standard_CString text, Standard_Integer &yy, Standard_Integer &mm, Standard_Integer &dd, Standard_Integer &hh, Standard_Integer &mn, Standard_Integer &ss)
| Decodes a date to numeric integer values Returns True if OK, False if text does not fit with required format. Incomplete forms are allowed (for instance, for only YYYY-MM-DD, hour is zero) .
static Standard_EXPORT Standard_Integer | CDate (const Standard_CString text1, const Standard_CString text2)
| Returns a value about comparison of two dates 0 : equal. <0 text1 anterior. >0 text1 posterior .
static Standard_EXPORT Standard_CString | Blanks (const Standard_Integer val, const Standard_Integer max)
| Returns a blank string, of length between 0 and <max>, to fill the printing of a numeric value <val>, i.e. : If val < 10 , max-1 blanks If val between 10 and 99, max-2 blanks ... etc... .
static Standard_EXPORT Standard_CString | Blanks (const Standard_CString val, const Standard_Integer max)
| Returns a blank string, to complete a given string <val> up to <max> characters : If strlen(val) is 0, max blanks If strlen(val) is 5, max-5 blanks etc... .
static Standard_EXPORT Standard_CString | Blanks (const Standard_Integer count)
| Returns a blank string of <count> blanks (mini 0, maxi 76) .
static Standard_EXPORT void | Print (Standard_OStream &S, const Standard_CString val, const Standard_Integer max, const Standard_Integer just=-1)
| Prints a String on an Output Stream, as follows : Accompagned with blanks, to give up to <max> charis at all, justified according just : -1 (D) : left 0 : center 1 : right Maximum 76 characters .

## Private Attributes

Standard_CString | thekey
Standard_PCharacter | theval

## Detailed Description

@

## Constructor & Destructor Documentation

Standard_EXPORT Interface_MSG::Interface_MSG | ( | const Standard_CString | key | ) |

Standard_EXPORT Interface_MSG::Interface_MSG | ( | const Standard_CString | key,
|  | const Standard_Integer | i1
| ) |

Standard_EXPORT Interface_MSG::Interface_MSG | ( | const Standard_CString | key,
|  | const Standard_Integer | i1,
|  | const Standard_Integer | i2
| ) |

Standard_EXPORT Interface_MSG::Interface_MSG | ( | const Standard_CString | key,
|  | const Standard_Real | r1,
|  | const Standard_Integer | intervals = `-1`
| ) |

Standard_EXPORT Interface_MSG::Interface_MSG | ( | const Standard_CString | key,
|  | const Standard_CString | str
| ) |

Standard_EXPORT Interface_MSG::Interface_MSG | ( | const Standard_CString | key,
|  | const Standard_Integer | ival,
|  | const Standard_CString | str
| ) |

Interface_MSG::~Interface_MSG | ( |  | ) | `[inline]`

## Member Function Documentation

static Standard_EXPORT Standard_CString Interface_MSG::Blanks | ( | const Standard_Integer | count | ) | `[static]`

static Standard_EXPORT Standard_CString Interface_MSG::Blanks | ( | const Standard_CString | val,
|  | const Standard_Integer | max
| ) | `[static]`

static Standard_EXPORT Standard_CString Interface_MSG::Blanks | ( | const Standard_Integer | val,
|  | const Standard_Integer | max
| ) | `[static]`

static Standard_EXPORT Standard_Integer Interface_MSG::CDate | ( | const Standard_CString | text1,
|  | const Standard_CString | text2
| ) | `[static]`

Standard_EXPORT void Interface_MSG::Destroy | ( |  | ) |

static Standard_EXPORT Standard_Real Interface_MSG::Intervalled | ( | const Standard_Real | val,
|  | const Standard_Integer | order = `3`,
|  | const Standard_Boolean | upper = `Standard_False`
| ) | `[static]`

static Standard_EXPORT Standard_Boolean Interface_MSG::IsKey | ( | const Standard_CString | mess | ) | `[static]`

static Standard_EXPORT Standard_Boolean Interface_MSG::NDate | ( | const Standard_CString | text,
|  | Standard_Integer & | yy,
|  | Standard_Integer & | mm,
|  | Standard_Integer & | dd,
|  | Standard_Integer & | hh,
|  | Standard_Integer & | mn,
|  | Standard_Integer & | ss
| ) | `[static]`

void Interface_MSG::operator delete | ( | void * | anAddress | ) | `[inline]`

void* Interface_MSG::operator new | ( | size_t | size | ) | `[inline]`

void* Interface_MSG::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

Interface_MSG::operator Standard_CString | ( |  | ) | const

static Standard_EXPORT void Interface_MSG::Print | ( | Standard_OStream & | S,
|  | const Standard_CString | val,
|  | const Standard_Integer | max,
|  | const Standard_Integer | just = `-1`
| ) | `[static]`

static Standard_EXPORT void Interface_MSG::PrintTrace | ( | Standard_OStream & | S | ) | `[static]`

static Standard_EXPORT Standard_Integer Interface_MSG::Read | ( | const Standard_CString | file | ) | `[static]`

static Standard_EXPORT Standard_Integer Interface_MSG::Read | ( | Standard_IStream & | S | ) | `[static]`

static Standard_EXPORT void Interface_MSG::Record | ( | const Standard_CString | key,
|  | const Standard_CString | item
| ) | `[static]`

static Standard_EXPORT void Interface_MSG::SetMode | ( | const Standard_Boolean | running,
|  | const Standard_Boolean | raising
| ) | `[static]`

static Standard_EXPORT void Interface_MSG::SetTrace | ( | const Standard_Boolean | toprint,
|  | const Standard_Boolean | torecord
| ) | `[static]`

static Standard_EXPORT void Interface_MSG::TDate | ( | const Standard_CString | text,
|  | const Standard_Integer | yy,
|  | const Standard_Integer | mm,
|  | const Standard_Integer | dd,
|  | const Standard_Integer | hh,
|  | const Standard_Integer | mn,
|  | const Standard_Integer | ss,
|  | const Standard_CString | format = `""`
| ) | `[static]`

static Standard_EXPORT Standard_CString Interface_MSG::Translated | ( | const Standard_CString | key | ) | `[static]`

Standard_EXPORT Standard_CString Interface_MSG::Value | ( |  | ) | const

static Standard_EXPORT Standard_Integer Interface_MSG::Write | ( | Standard_OStream & | S,
|  | const Standard_CString | rootkey = `""`
| ) | `[static]`

## Field Documentation

Standard_CString Interface_MSG::thekey `[private]`

Standard_PCharacter Interface_MSG::theval `[private]`

The documentation for this class was generated from the following file:

- Interface_MSG.hxx