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.
45 lines
907 B
45 lines
907 B
/*++
|
|
|
|
Copyright (C) 1996-2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
Abstract:
|
|
|
|
History:
|
|
|
|
--*/
|
|
|
|
#ifndef __WBEM_TEXT_TEMPLATE__H_
|
|
#define __WBEM_TEXT_TEMPLATE__H_
|
|
|
|
#include <windows.h>
|
|
#include <wbemidl.h>
|
|
#include <wstring.h>
|
|
|
|
class CTextTemplate
|
|
{
|
|
protected:
|
|
WString m_wsTemplate;
|
|
|
|
public:
|
|
CTextTemplate(LPCWSTR wszTemplate = NULL);
|
|
~CTextTemplate();
|
|
|
|
void SetTemplate(LPCWSTR wszTemplate);
|
|
BSTR Apply(IWbemClassObject* pObj);
|
|
|
|
private:
|
|
BSTR HandleEmbeddedObjectProperties(WCHAR* wszTemplate, IWbemClassObject* pObj);
|
|
BOOL IsEmbeddedObjectProperty(WCHAR * wszProperty);
|
|
BSTR GetPropertyFromIUnknown(WCHAR *wszProperty, IUnknown *pUnk);
|
|
BSTR ProcessArray(const VARIANT& v, BSTR str);
|
|
void ConcatWithoutQuotes(WString& str, BSTR& property);
|
|
|
|
|
|
bool HasEscapeSequence(BSTR str);
|
|
BSTR ReturnEscapedReturns(BSTR str);
|
|
|
|
};
|
|
|
|
#endif
|