Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / ACE / ace / Svc_Conf.h
blob4dc2ed13b8d9aa8e843e30bd0a5df41cd908b488
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Svc_Conf.h
7 * @author Doug Schmidt
8 */
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)
20 # 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).
30 #ifdef YYPARSE_PARAM
31 #if defined __STDC__ || defined __cplusplus
32 int ace_yyparse (void *YYPARSE_PARAM);
33 #else
34 int ace_yyparse ();
35 #endif
36 #else /* ! YYPARSE_PARAM */
37 #if defined __STDC__ || defined __cplusplus
38 int ace_yyparse ();
39 #else
40 int ace_yyparse ();
41 #endif
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;
55 class ACE_Parse_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.
62 typedef union
64 int type_;
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_;
69 ACE_TCHAR *ident_;
70 } YYSTYPE;
72 #define YYSTYPE_IS_DECLARED
74 // Forward declaration
75 struct ace_yy_buffer_state;
77 /// Performs the lexical analysis
78 YY_DECL;
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 *,
98 int,
99 void *,
100 unsigned int,
101 ACE_Service_Object_Exterminator = 0);
104 ACE_END_VERSIONED_NAMESPACE_DECL
106 #include /**/ "ace/post.h"
108 #endif /* ACE_SVC_CONF_H */