Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_visitor_attribute / attribute.h
blobd4345eb8312c6155d6a2842e2616a101bbea00e2
1 /* -*- c++ -*- */
3 //=============================================================================
4 /**
5 * @file attribute.h
7 * Visitor for the Attribute class.
9 * @author Aniruddha Gokhale
11 //=============================================================================
14 #ifndef _BE_VISITOR_ATTRIBUTE_ATTRIBUTE_H
15 #define _BE_VISITOR_ATTRIBUTE_ATTRIBUTE_H
17 // ************************************************************
18 // Attribute visitor
19 // ************************************************************
21 /**
22 * @class be_visitor_attribute
24 * @brief be_visitor_attribute
26 * This is a concrete visitor to generate code for attributes. We have one
27 * class for mapping into the client and server.
29 class be_visitor_attribute : public be_visitor_decl
31 public:
32 /// constructor
33 be_visitor_attribute (be_visitor_context *ctx);
35 /// destructor
36 ~be_visitor_attribute (void);
38 /// visit attribute. We provide code for this method in the derived class
39 virtual int visit_attribute (be_attribute *node);
41 void for_facets (bool val);
42 void op_scope (be_decl *node);
43 void exec_class_extension (const char *extension);
45 private:
46 bool for_facets_;
47 be_decl *op_scope_;
49 /// Defaults to "exec_i" but in special cases we want to
50 /// modify it.
51 ACE_CString exec_class_extension_;
54 #endif /* _BE_VISITOR_ATTRIBUTE_ATTRIBUTE_H*/