xref: /onnv-gate/usr/src/cmd/man/src/util/nsgmls.src/lib/MessageArg.cxx (revision 0:68f95e015346)
1 // Copyright (c) 1994 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident	"%Z%%M%	%I%	%E% SMI"
4 
5 #ifdef __GNUG__
6 #pragma implementation
7 #endif
8 #include "splib.h"
9 #include "MessageArg.h"
10 #include "MessageBuilder.h"
11 
12 #ifdef SP_NAMESPACE
13 namespace SP_NAMESPACE {
14 #endif
15 
MessageArg()16 MessageArg::MessageArg()
17 {
18 }
19 
~MessageArg()20 MessageArg::~MessageArg()
21 {
22 }
23 
StringMessageArg(const StringC & s)24 StringMessageArg::StringMessageArg(const StringC &s)
25 : s_(s)
26 {
27 }
28 
copy() const29 MessageArg *StringMessageArg::copy() const
30 {
31   return new StringMessageArg(*this);
32 }
33 
append(MessageBuilder & builder) const34 void StringMessageArg::append(MessageBuilder &builder) const
35 {
36   builder.appendChars(s_.data(), s_.size());
37 }
38 
NumberMessageArg(unsigned long n)39 NumberMessageArg::NumberMessageArg(unsigned long n)
40 : n_(n)
41 {
42 }
43 
copy() const44 MessageArg *NumberMessageArg::copy() const
45 {
46   return new NumberMessageArg(*this);
47 }
48 
append(MessageBuilder & builder) const49 void NumberMessageArg::append(MessageBuilder &builder) const
50 {
51   builder.appendNumber(n_);
52 }
53 
54 
OrdinalMessageArg(unsigned long n)55 OrdinalMessageArg::OrdinalMessageArg(unsigned long n)
56 : n_(n)
57 {
58 }
59 
copy() const60 MessageArg *OrdinalMessageArg::copy() const
61 {
62   return new OrdinalMessageArg(*this);
63 }
64 
append(MessageBuilder & builder) const65 void OrdinalMessageArg::append(MessageBuilder &builder) const
66 {
67   builder.appendOrdinal(n_);
68 }
69 
RTTI_DEF0(OtherMessageArg)70 RTTI_DEF0(OtherMessageArg)
71 
72 OtherMessageArg::OtherMessageArg()
73 {
74 }
75 
append(MessageBuilder & builder) const76 void OtherMessageArg::append(MessageBuilder &builder) const
77 {
78   builder.appendOther(this);
79 }
80 
81 #ifdef SP_NAMESPACE
82 }
83 #endif
84