# 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.h>`

Collaboration diagram for ACE_Svc_Conf_Param:

[legend]
List of all members.

## Public Types

enum | SVC_CONF_PARAM_TYPE { SVC_CONF_FILE, SVC_CONF_DIRECTIVE }

## Public Member Functions

| ACE_Svc_Conf_Param (FILE *file)
| Constructor.
| ACE_Svc_Conf_Param (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_state * | buffer
ACE_Obstack_T< ACE_TCHAR > | obstack

## Detailed Description

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

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

enum ACE_Svc_Conf_Param::SVC_CONF_PARAM_TYPE

Enumeration values:

  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 | ( | FILE * | file | ) | `[inline]`

| Constructor.

ACE_Svc_Conf_Param::ACE_Svc_Conf_Param | ( | 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.

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:

- Svc_Conf.h