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()16MessageArg::MessageArg() 17 { 18 } 19 ~MessageArg()20MessageArg::~MessageArg() 21 { 22 } 23 StringMessageArg(const StringC & s)24StringMessageArg::StringMessageArg(const StringC &s) 25 : s_(s) 26 { 27 } 28 copy() const29MessageArg *StringMessageArg::copy() const 30 { 31 return new StringMessageArg(*this); 32 } 33 append(MessageBuilder & builder) const34void StringMessageArg::append(MessageBuilder &builder) const 35 { 36 builder.appendChars(s_.data(), s_.size()); 37 } 38 NumberMessageArg(unsigned long n)39NumberMessageArg::NumberMessageArg(unsigned long n) 40 : n_(n) 41 { 42 } 43 copy() const44MessageArg *NumberMessageArg::copy() const 45 { 46 return new NumberMessageArg(*this); 47 } 48 append(MessageBuilder & builder) const49void NumberMessageArg::append(MessageBuilder &builder) const 50 { 51 builder.appendNumber(n_); 52 } 53 54 OrdinalMessageArg(unsigned long n)55OrdinalMessageArg::OrdinalMessageArg(unsigned long n) 56 : n_(n) 57 { 58 } 59 copy() const60MessageArg *OrdinalMessageArg::copy() const 61 { 62 return new OrdinalMessageArg(*this); 63 } 64 append(MessageBuilder & builder) const65void OrdinalMessageArg::append(MessageBuilder &builder) const 66 { 67 builder.appendOrdinal(n_); 68 } 69 RTTI_DEF0(OtherMessageArg)70RTTI_DEF0(OtherMessageArg) 71 72 OtherMessageArg::OtherMessageArg() 73 { 74 } 75 append(MessageBuilder & builder) const76void OtherMessageArg::append(MessageBuilder &builder) const 77 { 78 builder.appendOther(this); 79 } 80 81 #ifdef SP_NAMESPACE 82 } 83 #endif 84