00001 // -*- C++ -*- 00002 //============================================================================= 00003 /** 00004 * @file ETCL_Constraint_Visitor.h 00005 * 00006 * $Id: ETCL_Constraint_Visitor.h 81653 2008-05-08 21:08:49Z parsons $ 00007 * 00008 * @author Carlos O'Ryan <coryan@cs.wustl.edu> 00009 * @author Jeff Parsons <j.parsons@vanderbilt.edu> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef ACE_ETCL_CONSTRAINT_VISITOR_H 00014 #define ACE_ETCL_CONSTRAINT_VISITOR_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "ace/ETCL/ace_etcl_export.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00025 00026 class ETCL_Literal_Constraint; 00027 class ETCL_Identifier; 00028 class ETCL_Union_Value; 00029 class ETCL_Union_Pos; 00030 class ETCL_Component_Pos; 00031 class ETCL_Component_Assoc; 00032 class ETCL_Component_Array; 00033 class ETCL_Special; 00034 class ETCL_Component; 00035 class ETCL_Dot; 00036 class ETCL_Eval; 00037 class ETCL_Default; 00038 class ETCL_Exist; 00039 class ETCL_Unary_Expr; 00040 class ETCL_Binary_Expr; 00041 class ETCL_Preference; 00042 00043 class ACE_ETCL_Export ETCL_Constraint_Visitor 00044 { 00045 public: 00046 virtual ~ETCL_Constraint_Visitor (void); 00047 00048 virtual int visit_literal (ETCL_Literal_Constraint *); 00049 virtual int visit_identifier (ETCL_Identifier *); 00050 virtual int visit_union_value (ETCL_Union_Value *); 00051 virtual int visit_union_pos (ETCL_Union_Pos *); 00052 virtual int visit_component_pos (ETCL_Component_Pos *); 00053 virtual int visit_component_assoc (ETCL_Component_Assoc *); 00054 virtual int visit_component_array (ETCL_Component_Array *); 00055 virtual int visit_special (ETCL_Special *); 00056 virtual int visit_component (ETCL_Component *); 00057 virtual int visit_dot (ETCL_Dot *); 00058 virtual int visit_eval (ETCL_Eval *); 00059 virtual int visit_default (ETCL_Default *); 00060 virtual int visit_exist (ETCL_Exist *); 00061 virtual int visit_unary_expr (ETCL_Unary_Expr *); 00062 virtual int visit_binary_expr (ETCL_Binary_Expr *); 00063 virtual int visit_preference (ETCL_Preference *); 00064 }; 00065 00066 ACE_END_VERSIONED_NAMESPACE_DECL 00067 00068 #include /**/ "ace/post.h" 00069 00070 #endif // ACE_ETCL_CONSTRAINT_VISITOR_H