1 // Copyright (c) 1994 James Clark, 1999 Matthias Clasen
2 // See the file COPYING for copying permission.
4 #ifndef MessageArg_INCLUDED
5 #define MessageArg_INCLUDED 1
15 namespace SP_NAMESPACE {
20 class SP_API MessageArg {
23 virtual ~MessageArg();
24 virtual MessageArg *copy() const = 0;
25 virtual void append(MessageBuilder &) const = 0;
28 class SP_API StringMessageArg : public MessageArg {
30 StringMessageArg(const StringC &);
31 MessageArg *copy() const;
32 void append(MessageBuilder &) const;
37 class SP_API NumberMessageArg : public MessageArg {
39 NumberMessageArg(unsigned long);
40 MessageArg *copy() const;
41 void append(MessageBuilder &) const;
46 class SP_API OrdinalMessageArg : public MessageArg {
48 OrdinalMessageArg(unsigned long);
49 MessageArg *copy() const;
50 void append(MessageBuilder &) const;
55 class SP_API OtherMessageArg : public MessageArg {
59 void append(MessageBuilder &) const;
62 class SP_API StringVectorMessageArg : public MessageArg {
64 StringVectorMessageArg(const Vector<StringC> &);
65 MessageArg *copy() const;
66 void append(MessageBuilder &) const;
76 #endif /* not MessageArg_INCLUDED */