windows-nt/Source/XPSP1/NT/base/cluster/setup/common/answerfile.h

150 lines
4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996-1998 Microsoft Corporation
//
// Module Name:
// AnswerFile.h
//
// Abstract:
// This is the class definition file for the CAnswerFileSection class and its'
// contained classes.
//
// Author:
// C. Brent Thomas - a-brentt
//
// Revision History:
//
// 24-Sep-1998 original
//
// Notes:
//
// The classes defined in this file include:
//
// CAnswerFileSection
// CAnswerFileEntry
// CParameterListEntry
//
// I consciously chose not to use MFC because I expect cluster setup to
// move away from MFC (probably to ATL) when it gets rewritten.
//
/////////////////////////////////////////////////////////////////////////////
#ifndef __ANSWERFILE_H_
#define __ANSWERFILE_H_
// CParameterListEntry class
//
// An object of this class corresponds to a parameter on an entry in an answer file.
// It is implemented as a singly linked list of pointers to arrays of type TCHAR.
class CParameterListEntry
{
public:
CParameterListEntry(); // constructor
~CParameterListEntry(); // destructor
// Data members
private:
LPTSTR m_ptszParameter; // points to the parameter string
CParameterListEntry * m_pNextParameter; // points to the next parameter list entry
// Member functions
public:
BOOL SetParameterString( LPTSTR ptszParameterString );
BOOL SetNextParameterPointer( CParameterListEntry * pParameterListEntry );
CParameterListEntry * GetParameterListPointer( void );
LPTSTR GetParameterStringPointer( void );
private:
};
// CAnswerFileEntry class definition
//
// An object of this class corresponds to an entry in an answer file.
class CAnswerFileEntry
{
public:
CAnswerFileEntry(); // constructor
~CAnswerFileEntry(); // destructor
// Data members
private:
CAnswerFileEntry * m_pNextEntry; // points to the next CAnswerFileEntry object
// in the list.
LPTSTR m_ptszKey; // points to the key string for this
// answer file entry
CParameterListEntry * m_pParameterList; // points to the parameter list for
// this answer file (may be empty)
int m_xParameterCount; // the number of parameters that may
// be present (on initialization) or
// the number of parameters found (after
// the parameter list has been read)
// Member functions
public:
BOOL SetKey( LPTSTR ptszKey );
BOOL ReadParameters( PINFCONTEXT pAnswerFileContext );
BOOL SetNextEntryPointer( CAnswerFileEntry * pEntry );
CAnswerFileEntry * GetNextEntryPointer( void );
LPTSTR GetKeyPointer( void );
CParameterListEntry * GetParameterListPointer( void );
int GetParameterCount( void );
private:
BOOL SetParameterListPointer( CParameterListEntry * pParameterList );
BOOL SetParameterCount( int xParameterCount );
}; // class CAnswerFileEntry
// CAnswerFileSection class definition
//
// An object of this class corresponds to a section in an answer file.
class CAnswerFileSection
{
public:
CAnswerFileSection(); // constructor
~CAnswerFileSection(); // destructor
// Data members
private:
CAnswerFileEntry * m_pEntries; // points to the entries in the answer file section
int m_xCurrentRequiredParameterCount;
int m_xCurrentOptionalParameterCount;
// Member functions
public:
CAnswerFileEntry * GetEntryPointer( void );
BOOL ReadAnswerFileSection( HINF hAnswerFile,
LPTSTR ptszSection );
}; // class CAnswerFileSection
#endif // __ANSWERFILE_H_