You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.3 KiB
84 lines
2.3 KiB
/****************************************************************************
|
|
Copyright information : Copyright (c) 1998-1999 Microsoft Corporation
|
|
File Name : CmdTokenizer.h
|
|
Project Name : WMI Command Line
|
|
Author Name : Ch. Sriramachandramurthy
|
|
Date of Creation (dd/mm/yy) : 27th-September-2000
|
|
Version Number : 1.0
|
|
Brief Description : This file consist of class declaration of
|
|
class CmdTokenizer
|
|
Revision History :
|
|
Last Modified By : Ch. Sriramachandramurthy
|
|
Last Modified Date : 23th-February-2001
|
|
****************************************************************************/
|
|
/*-------------------------------------------------------------------
|
|
Class Name : CCmdTokenizer
|
|
Class Type : Concrete
|
|
Brief Description : This class encapsulates the functionality needed
|
|
for tokenizing the command line string passed as
|
|
input to the wmic.exe
|
|
Super Classes : None
|
|
Sub Classes : None
|
|
Classes Used : None
|
|
Interfaces Used : None
|
|
--------------------------------------------------------------------*/
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCmdTokenizer
|
|
class CCmdTokenizer
|
|
{
|
|
public:
|
|
// Construction
|
|
CCmdTokenizer();
|
|
|
|
// Destruction
|
|
~CCmdTokenizer();
|
|
|
|
// Restrict Assignment
|
|
CCmdTokenizer& operator=(CCmdTokenizer& rCmdTknzr);
|
|
|
|
// Attributes
|
|
private:
|
|
// command string
|
|
_TCHAR* m_pszCommandLine;
|
|
|
|
// token-offset counter
|
|
WMICLIINT m_nTokenOffSet;
|
|
|
|
// token-start counter
|
|
WMICLIINT m_nTokenStart;
|
|
|
|
// token vector
|
|
CHARVECTOR m_cvTokens;
|
|
|
|
// Escape sequence flag
|
|
BOOL m_bEscapeSeq;
|
|
|
|
// Format switch
|
|
BOOL m_bFormatToken;
|
|
|
|
// Operations
|
|
private:
|
|
//Extracts token and adds it to the token vector.
|
|
_TCHAR* Token();
|
|
|
|
//Identify the Next token to be extracted by adjusting
|
|
//m_nTokenStart and m_nTokenOffset
|
|
_TCHAR* NextToken();
|
|
|
|
// This function checks whether CALL or SET is present
|
|
// in the tokens vector.
|
|
BOOL CallSetOrCreatePresent();
|
|
|
|
public:
|
|
// returns the reference to token vector.
|
|
CHARVECTOR& GetTokenVector();
|
|
|
|
// tokenize the command using the pre-defined
|
|
// delimiters
|
|
BOOL TokenizeCommand(_TCHAR* pszCommandInput);
|
|
|
|
// Free the member variables
|
|
void Uninitialize();
|
|
};
|
|
|
|
|