ACE_Svc_Conf_Param Class Reference

An instance of this object will be passed down to the yyparse() and yylex() functions. More...

#include <Svc_Conf_Param.h>

Collaboration diagram for ACE_Svc_Conf_Param:

Collaboration graph
[legend]
List of all members.

Public Types

 SVC_CONF_FILE
 The lexer will scan a file containing one or more directives.
 SVC_CONF_DIRECTIVE
 The lexer will scan a string containing a directive.
enum  SVC_CONF_PARAM_TYPE { SVC_CONF_FILE, SVC_CONF_DIRECTIVE }

Public Member Functions

 ACE_Svc_Conf_Param (ACE_Service_Gestalt *config, FILE *file)
 Constructor.
 ACE_Svc_Conf_Param (ACE_Service_Gestalt *config, const ACE_TCHAR *directive)
 Constructor.
 ~ACE_Svc_Conf_Param (void)

Public Attributes

union {
   FILE *   file
 FILE stream from which directives will be scanned and parsed.
   const ACE_TCHAR *   directive
 String containing directive that will be scanned and parsed.
source
SVC_CONF_PARAM_TYPE type
 Discriminant use to determine which union member to use.
int yyerrno
 Keeps track of the number of errors encountered so far.
int yylineno
 Keeps track of the current line number for error-handling routine.
ace_yy_buffer_statebuffer
ACE_Obstack_T< ACE_TCHARobstack
ACE_Service_Gestaltconfig
 A reference to the configuration.

Detailed Description

An instance of this object will be passed down to the yyparse() and yylex() functions.

This is intended for internal use within ACE service configuration framework only.

This class retains the state for a given parse/scan. It primarily makes it possible to hold the static object lock in the scanner for as short a period of time as possible. The resulting finer grained locking prevents deadlocks from occuring when scanning a `svc.conf' file and activating an ACE_Task, for example, as a result of processing the directives in that file.

Definition at line 54 of file Svc_Conf_Param.h.


Member Enumeration Documentation

enum ACE_Svc_Conf_Param::SVC_CONF_PARAM_TYPE

Enumerator:
SVC_CONF_FILE  The lexer will scan a file containing one or more directives.
SVC_CONF_DIRECTIVE  The lexer will scan a string containing a directive.

Definition at line 58 of file Svc_Conf_Param.h.

00059     {
00060       /// The lexer will scan a file containing one or more directives.
00061       SVC_CONF_FILE,
00062 
00063       /// The lexer will scan a string containing a directive.
00064       SVC_CONF_DIRECTIVE
00065     };


Constructor & Destructor Documentation

ACE_Svc_Conf_Param::ACE_Svc_Conf_Param ( ACE_Service_Gestalt config,
FILE *  file 
) [inline]

Constructor.

Definition at line 68 of file Svc_Conf_Param.h.

References source.

00069     : type (SVC_CONF_FILE),
00070       yyerrno (0),
00071       yylineno (1),
00072       buffer (0),
00073       obstack (),
00074       config (config)
00075   {
00076     source.file = file;
00077   }

ACE_Svc_Conf_Param::ACE_Svc_Conf_Param ( ACE_Service_Gestalt config,
const ACE_TCHAR directive 
) [inline]

Constructor.

Definition at line 80 of file Svc_Conf_Param.h.

References source.

00081     : type (SVC_CONF_DIRECTIVE),
00082       yyerrno (0),
00083       yylineno (1),
00084       buffer (0),
00085       obstack (),
00086       config (config)
00087   {
00088     source.directive = directive;
00089   }

ACE_Svc_Conf_Param::~ACE_Svc_Conf_Param ( void   )  [inline]

Definition at line 91 of file Svc_Conf_Param.h.

References ace_yy_delete_buffer().

00092   {
00093     ace_yy_delete_buffer (this->buffer);
00094   }


Member Data Documentation

ace_yy_buffer_state* ACE_Svc_Conf_Param::buffer

Lexer buffer that corresponds to the current Service Configurator file/direct scan.

Definition at line 119 of file Svc_Conf_Param.h.

Referenced by ACE_Svc_Conf_Lexer::input(), ACE_Svc_Conf_Lexer::scan(), and ACE_Svc_Conf_Lexer::yylex().

ACE_Service_Gestalt* ACE_Svc_Conf_Param::config

A reference to the configuration.

Definition at line 126 of file Svc_Conf_Param.h.

Referenced by ACE_Service_Gestalt::process_directives_i().

const ACE_TCHAR* ACE_Svc_Conf_Param::directive

String containing directive that will be scanned and parsed.

Definition at line 104 of file Svc_Conf_Param.h.

Referenced by ACE_Svc_Conf_Lexer::input(), and ACE_Service_Gestalt::process_directives_i().

FILE* ACE_Svc_Conf_Param::file

FILE stream from which directives will be scanned and parsed.

Definition at line 101 of file Svc_Conf_Param.h.

Referenced by ACE_Svc_Conf_Lexer::input().

ACE_Obstack_T<ACE_TCHAR> ACE_Svc_Conf_Param::obstack

Obstack used for efficient memory allocation when parsing/scanning a service configurator directive.

Definition at line 123 of file Svc_Conf_Param.h.

Referenced by ACE_Svc_Conf_Lexer::scan().

union { ... } ACE_Svc_Conf_Param::source

Referenced by ACE_Svc_Conf_Param(), ACE_Svc_Conf_Lexer::input(), and ACE_Service_Gestalt::process_directives_i().

SVC_CONF_PARAM_TYPE ACE_Svc_Conf_Param::type

Discriminant use to determine which union member to use.

Definition at line 109 of file Svc_Conf_Param.h.

Referenced by ACE_Svc_Conf_Lexer::input(), and ACE_Service_Gestalt::process_directives_i().

int ACE_Svc_Conf_Param::yyerrno

Keeps track of the number of errors encountered so far.

Definition at line 112 of file Svc_Conf_Param.h.

Referenced by ACE_Svc_Conf_Lexer::input(), ACE_Service_Gestalt::process_directives_i(), and ACE_Svc_Conf_Lexer::scan().

int ACE_Svc_Conf_Param::yylineno

Keeps track of the current line number for error-handling routine.

Definition at line 115 of file Svc_Conf_Param.h.

Referenced by ACE_Svc_Conf_Lexer::input(), and ACE_Svc_Conf_Lexer::scan().


The documentation for this class was generated from the following file:
Generated on Tue Feb 2 17:35:43 2010 for ACE by  doxygen 1.4.7