00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Svc_Conf.h 00006 * 00007 * $Id: Svc_Conf.h 81332 2008-04-10 22:47:04Z iliyan $ 00008 * 00009 * @author Doug Schmidt 00010 */ 00011 //============================================================================= 00012 00013 00014 #ifndef ACE_SVC_CONF_H 00015 #define ACE_SVC_CONF_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "ace/Service_Config.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "ace/Parse_Node.h" 00026 #include "ace/Svc_Conf_Param.h" 00027 00028 // Make sure the yacc(1) function declarations are _outside_ 00029 // any ACE versioned namespace. The block below is verbatim 00030 // from the template that comes with bison (ver. 2.3). 00031 00032 #ifdef YYPARSE_PARAM 00033 #if defined __STDC__ || defined __cplusplus 00034 int ace_yyparse (void *YYPARSE_PARAM); 00035 #else 00036 int ace_yyparse (); 00037 #endif 00038 #else /* ! YYPARSE_PARAM */ 00039 #if defined __STDC__ || defined __cplusplus 00040 int ace_yyparse (void); 00041 #else 00042 int ace_yyparse (); 00043 #endif 00044 #endif /* ! YYPARSE_PARAM */ 00045 00046 00047 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00048 00049 #if (ACE_USES_CLASSIC_SVC_CONF == 1) 00050 00051 // The following yylex() declarations require support for reentrant 00052 // parser generation (e.g. from GNU Bison). 00053 #define YY_DECL extern "C" int ace_yylex (YYSTYPE *ace_yylval, void *YYLEX_PARAM) 00054 00055 // Forward declarations 00056 class ACE_Location_Node; 00057 class ACE_Parse_Node; 00058 class ACE_Static_Node; 00059 class ACE_Service_Type_Factory; 00060 00061 // The following definition for the YYSTYPE must occur before 00062 // YY_DECL is declared since YY_DECL expands to function 00063 // prototypes that use YYSTYPE. 00064 typedef union 00065 { 00066 int type_; 00067 ACE_Location_Node *location_node_; 00068 ACE_Parse_Node *parse_node_; 00069 ACE_Static_Node *static_node_; 00070 ACE_Service_Type_Factory *svc_record_; 00071 ACE_TCHAR *ident_; 00072 } YYSTYPE; 00073 00074 #define YYSTYPE_IS_DECLARED 00075 00076 // Forward declaration 00077 struct ace_yy_buffer_state; 00078 00079 /// Performs the lexical analysis 00080 YY_DECL; 00081 00082 /// Name of input stream 00083 extern FILE *ace_yyin; 00084 00085 /// Error handling routines required by YACC or BISON 00086 extern void ace_yyerror (ACE_TCHAR const *); 00087 extern void ace_yyerror (int yyerrno, int yylineno, ACE_TCHAR const *); 00088 00089 /// Holds the lexeme for the current token 00090 extern ACE_TCHAR *ace_yytext; 00091 00092 /// Holds the length of the lexeme for the current token 00093 extern int ace_yyleng; 00094 00095 #endif /* ACE_USES_CLASSIC_SVC_CONF == 1 */ 00096 00097 /// Factory that creates a new ACE_Service_Type_Impl. 00098 extern ACE_Service_Type_Impl * 00099 ace_create_service_type (ACE_TCHAR const *, 00100 int, 00101 void *, 00102 unsigned int, 00103 ACE_Service_Object_Exterminator = 0); 00104 00105 00106 ACE_END_VERSIONED_NAMESPACE_DECL 00107 00108 #include /**/ "ace/post.h" 00109 00110 #endif /* ACE_SVC_CONF_H */