ACE  6.2.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
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]

Public Types

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. More...
 
 ACE_Svc_Conf_Param (ACE_Service_Gestalt *config, const ACE_TCHAR *directive)
 Constructor. More...
 
 ~ACE_Svc_Conf_Param (void)
 

Public Attributes

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

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.

Member Enumeration Documentation

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.

Constructor & Destructor Documentation

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

Constructor.

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

Constructor.

ACE_Svc_Conf_Param::~ACE_Svc_Conf_Param ( void  )
inline

Member Data Documentation

ace_yy_buffer_state* ACE_Svc_Conf_Param::buffer

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

ACE_Service_Gestalt* ACE_Svc_Conf_Param::config

A reference to the configuration.

const ACE_TCHAR* ACE_Svc_Conf_Param::directive

String containing directive that will be scanned and parsed.

FILE* ACE_Svc_Conf_Param::file

FILE stream from which directives will be scanned and parsed.

ACE_Obstack_T<ACE_TCHAR> ACE_Svc_Conf_Param::obstack

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

union { ... } ACE_Svc_Conf_Param::source
SVC_CONF_PARAM_TYPE ACE_Svc_Conf_Param::type

Discriminant use to determine which union member to use.

int ACE_Svc_Conf_Param::yyerrno

Keeps track of the number of errors encountered so far.

int ACE_Svc_Conf_Param::yylineno

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


The documentation for this class was generated from the following file: