summaryrefslogtreecommitdiff
path: root/inc/Message_Messenger.lxx
blob: 3515bbb7ba24fa3faf2274954c6877cd25c0491a (plain)
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
// File:      Message_Messenger.lxx
// Created:   29.06.07 09:19:08
// Author:    OCC Team
// Copyright: Open CASCADE S.A. 2007

#include <Message_Messenger.hxx>

//=======================================================================
//function : GetPrinters
//purpose  : 
//=======================================================================

inline const Message_SequenceOfPrinters& Message_Messenger::Printers() const
{
  return myPrinters;
}

//=======================================================================
//function : GetPrinters
//purpose  : 
//=======================================================================

inline Message_SequenceOfPrinters& Message_Messenger::ChangePrinters()
{
  return myPrinters;
}

//=======================================================================
//function : operator <<
//purpose  : 
//=======================================================================

#ifndef _TCollection_HAsciiString_HeaderFile
#include <TCollection_HAsciiString.hxx>
#endif
#ifndef _TCollection_HExtendedString_HeaderFile
#include <TCollection_HExtendedString.hxx>
#endif

// CString
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const Standard_CString theStr)
{
  theMessenger->Send (theStr, Message_Info, Standard_False);
  return theMessenger;
}

// const char* (not the same as const CString which is char const*)
/*
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const char* theStr)
{
  theMessenger->Send ((Standard_CString)theStr, Message_Info, Standard_False);
  return theMessenger;
}
*/
// AsciiString
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const TCollection_AsciiString& theStr)
{
  theMessenger->Send (theStr, Message_Info, Standard_False);
  return theMessenger;
}

// HAsciiString
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const Handle(TCollection_HAsciiString)& theStr)
{
  theMessenger->Send (theStr->String(), Message_Info, Standard_False);
  return theMessenger;
}

// ExtendedString
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const TCollection_ExtendedString& theStr)
{
  theMessenger->Send (theStr, Message_Info, Standard_False);
  return theMessenger;
}

// HExtendedString
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const Handle(TCollection_HExtendedString)& theStr)
{
  theMessenger->Send (theStr->String(), Message_Info, Standard_False);
  return theMessenger;
}

// Integer
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const Standard_Integer theVal)
{
  TCollection_AsciiString aStr (theVal);
  theMessenger->Send (aStr, Message_Info, Standard_False);
  return theMessenger;
}

// Real
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const Standard_Real theVal)
{
  TCollection_AsciiString aStr (theVal);
  theMessenger->Send (aStr, Message_Info, Standard_False);
  return theMessenger;
}

// Stream
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const Standard_SStream& theStream)
{
#ifdef USE_STL_STREAM
  theMessenger->Send (theStream.str().c_str(), Message_Info, Standard_False);
#else
  // Note: use dirty tricks -- unavoidable with old streams 
  TCollection_AsciiString aStr (((Standard_SStream&)theStream).str(), theStream.pcount());
  theMessenger->Send (aStr, Message_Info, Standard_False);
  ((Standard_SStream&)theStream).freeze (false);
#endif
  return theMessenger;
}

// manipulators
inline const Handle(Message_Messenger)&
       operator << (const Handle(Message_Messenger)& theMessenger,
                    const Handle(Message_Messenger)& (*pman) (const Handle(Message_Messenger)&))
{
  return pman (theMessenger);
}

// endl
inline const Handle(Message_Messenger)& endl (const Handle(Message_Messenger)& theMessenger)
{
  theMessenger->Send ("", Message_Info, Standard_True);
  return theMessenger;
}