3 //=============================================================================
9 //=============================================================================
12 #ifndef ACE_SVC_CONF_H
13 #define ACE_SVC_CONF_H
15 #include /**/ "ace/pre.h"
17 #include "ace/Service_Config.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "ace/Parse_Node.h"
24 #include "ace/Svc_Conf_Param.h"
26 // Make sure the yacc(1) function declarations are _outside_
27 // any ACE versioned namespace. The block below is verbatim
28 // from the template that comes with bison (ver. 2.3).
31 #if defined __STDC__ || defined __cplusplus
32 int ace_yyparse (void *YYPARSE_PARAM
);
36 #else /* ! YYPARSE_PARAM */
37 #if defined __STDC__ || defined __cplusplus
42 #endif /* ! YYPARSE_PARAM */
45 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
47 #if (ACE_USES_CLASSIC_SVC_CONF == 1)
49 // The following yylex() declarations require support for reentrant
50 // parser generation (e.g. from GNU Bison).
51 #define YY_DECL extern "C" int ace_yylex (YYSTYPE *ace_yylval, void *YYLEX_PARAM)
53 // Forward declarations
54 class ACE_Location_Node
;
56 class ACE_Static_Node
;
57 class ACE_Service_Type_Factory
;
59 // The following definition for the YYSTYPE must occur before
60 // YY_DECL is declared since YY_DECL expands to function
61 // prototypes that use YYSTYPE.
65 ACE_Location_Node
*location_node_
;
66 ACE_Parse_Node
*parse_node_
;
67 ACE_Static_Node
*static_node_
;
68 ACE_Service_Type_Factory
*svc_record_
;
72 #define YYSTYPE_IS_DECLARED
74 // Forward declaration
75 struct ace_yy_buffer_state
;
77 /// Performs the lexical analysis
80 /// Name of input stream
81 extern FILE *ace_yyin
;
83 /// Error handling routines required by YACC or BISON
84 extern void ace_yyerror (ACE_TCHAR
const *);
85 extern void ace_yyerror (int yyerrno
, int yylineno
, ACE_TCHAR
const *);
87 /// Holds the lexeme for the current token
88 extern ACE_TCHAR
*ace_yytext
;
90 /// Holds the length of the lexeme for the current token
91 extern int ace_yyleng
;
93 #endif /* ACE_USES_CLASSIC_SVC_CONF == 1 */
95 /// Factory that creates a new ACE_Service_Type_Impl.
96 extern ACE_Service_Type_Impl
*
97 ace_create_service_type (ACE_TCHAR
const *,
101 ACE_Service_Object_Exterminator
= 0);
104 ACE_END_VERSIONED_NAMESPACE_DECL
106 #include /**/ "ace/post.h"
108 #endif /* ACE_SVC_CONF_H */