1*0Sstevel@tonic-gate // Copyright (c) 1994 James Clark
2*0Sstevel@tonic-gate // See the file COPYING for copying permission.
3*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
4*0Sstevel@tonic-gate 
5*0Sstevel@tonic-gate #ifndef TokenMessageArg_INCLUDED
6*0Sstevel@tonic-gate #define TokenMessageArg_INCLUDED 1
7*0Sstevel@tonic-gate #ifdef __GNUG__
8*0Sstevel@tonic-gate #pragma interface
9*0Sstevel@tonic-gate #endif
10*0Sstevel@tonic-gate 
11*0Sstevel@tonic-gate #include "MessageArg.h"
12*0Sstevel@tonic-gate #include "types.h"
13*0Sstevel@tonic-gate #include "Mode.h"
14*0Sstevel@tonic-gate #include "Syntax.h"
15*0Sstevel@tonic-gate #include "Sd.h"
16*0Sstevel@tonic-gate #include "Ptr.h"
17*0Sstevel@tonic-gate 
18*0Sstevel@tonic-gate #ifdef SP_NAMESPACE
19*0Sstevel@tonic-gate namespace SP_NAMESPACE {
20*0Sstevel@tonic-gate #endif
21*0Sstevel@tonic-gate 
22*0Sstevel@tonic-gate class TokenMessageArg : public MessageArg {
23*0Sstevel@tonic-gate public:
24*0Sstevel@tonic-gate   TokenMessageArg(Token token, Mode mode,
25*0Sstevel@tonic-gate 		  const ConstPtr<Syntax> &syntax,
26*0Sstevel@tonic-gate 		  const ConstPtr<Sd> &sd);
27*0Sstevel@tonic-gate   MessageArg *copy() const;
28*0Sstevel@tonic-gate   void append(MessageBuilder &) const;
29*0Sstevel@tonic-gate private:
30*0Sstevel@tonic-gate   Token token_;
31*0Sstevel@tonic-gate   Mode mode_;
32*0Sstevel@tonic-gate   ConstPtr<Syntax> syntax_;
33*0Sstevel@tonic-gate   ConstPtr<Sd> sd_;
34*0Sstevel@tonic-gate };
35*0Sstevel@tonic-gate 
36*0Sstevel@tonic-gate #ifdef SP_NAMESPACE
37*0Sstevel@tonic-gate }
38*0Sstevel@tonic-gate #endif
39*0Sstevel@tonic-gate 
40*0Sstevel@tonic-gate #endif /* not TokenMessageArg_INCLUDED */
41