Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (C) 1999-2001 Microsoft Corporation
Module Name:
ASSOCQP.H
Abstract:
WQL association query parser
History:
raymcc 04-Jul-99 Created. raymcc 14-Aug-99 Resubmit due to VSS problem.
--*/
#ifndef _ASSOCQP_H_
#define _ASSOCQP_H_
#define QUERY_TYPE_GETASSOCS 0x1
#define QUERY_TYPE_GETREFS 0x2
#define QUERY_TYPE_CLASSDEFS_ONLY 0x4
#define QUERY_TYPE_SCHEMA_ONLY 0x8
#define QUERY_TYPE_KEYSONLY 0x10
#define QUERY_TYPE_CLASSDEFS_ONLY_EX 0x20
class CAssocQueryParser { LPWSTR m_pszQueryText; LPWSTR m_pszTargetObjPath; LPWSTR m_pszResultClass; LPWSTR m_pszAssocClass; LPWSTR m_pszRole; LPWSTR m_pszResultRole; LPWSTR m_pszRequiredQual; LPWSTR m_pszRequiredAssocQual; DWORD m_dwType;
CObjectPathParser m_PathParser; ParsedObjectPath *m_pPath;
public: CAssocQueryParser(); ~CAssocQueryParser();
HRESULT Parse(LPWSTR Query); // Parses both query and target object path.
// Returns:
// WBEM_E_INVALID_QUERY on syntax error
// WBEM_E_INVALID_OBJECT_PATH if the object
// path is syntactically invalid.
// WBEM_E_OUT_OF_MEMORY
// WBEM_S_NO_ERROR
LPCWSTR GetQueryText() { return m_pszQueryText; } LPCWSTR GetTargetObjPath() { return m_pszTargetObjPath; } LPCWSTR GetResultClass() { return m_pszResultClass; } LPCWSTR GetAssocClass() { return m_pszAssocClass; } LPCWSTR GetRole() { return m_pszRole; } LPCWSTR GetResultRole() { return m_pszResultRole; } LPCWSTR GetRequiredQual() { return m_pszRequiredQual; } LPCWSTR GetRequiredAssocQual() { return m_pszRequiredAssocQual; } DWORD GetQueryType() { return m_dwType; } // Returns a mask of
// QUERY_TYPE_GETREFS
// QUERY_TYPE_GETASSOCS
// QUERY_TYPE_CLASSDEFS_ONLY
// QUERY_TYPE_KEYSONLY
// QUERY_TYPE_SCHEMA_ONLY
const ParsedObjectPath *GetParsedPath() { return m_pPath; } };
#endif
|