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.
114 lines
2.7 KiB
114 lines
2.7 KiB
/******************************************************************************
|
|
|
|
Copyright (c) 1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
WMIParser_Property_Array.cpp
|
|
|
|
Abstract:
|
|
This file contains the implementation of the WMIParser::Property_Array class,
|
|
which is used to hold the data of an property inside a CIM schema.
|
|
|
|
Revision History:
|
|
Davide Massarenti (Dmassare) 07/25/99
|
|
created
|
|
|
|
******************************************************************************/
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
|
#define TAG_VALUE L"VALUE.ARRAY/VALUE"
|
|
|
|
|
|
WMIParser::Property_Array::Property_Array()
|
|
{
|
|
__HCP_FUNC_ENTRY( "WMIParser::Property_Array::Property_Array" );
|
|
|
|
// ElemList m_lstElements;
|
|
}
|
|
|
|
WMIParser::Property_Array::~Property_Array()
|
|
{
|
|
__HCP_FUNC_ENTRY( "WMIParser::Property_Array::~Property_Array" );
|
|
}
|
|
|
|
////////////////////////////////////////////////
|
|
|
|
|
|
bool WMIParser::Property_Array::operator==( /*[in]*/ Property_Array const &wmippa ) const
|
|
{
|
|
__HCP_FUNC_ENTRY( "WMIParser::Property_Array::operator==" );
|
|
|
|
bool fRes = (*(static_cast<Property const *>(this)) == wmippa.m_szName);
|
|
|
|
if(fRes)
|
|
{
|
|
fRes = (m_lstElements == wmippa.m_lstElements);
|
|
}
|
|
|
|
|
|
__HCP_FUNC_EXIT(fRes);
|
|
}
|
|
|
|
////////////////////////////////////////////////
|
|
|
|
HRESULT WMIParser::Property_Array::put_Node( /*[in]*/ IXMLDOMNode* pxdnNode )
|
|
{
|
|
__HCP_FUNC_ENTRY( "WMIParser::Property_Array::put_Node" );
|
|
|
|
HRESULT hr;
|
|
CComPtr<IXMLDOMNodeList> xdnlList;
|
|
CComPtr<IXMLDOMNode> xdnNode;
|
|
|
|
|
|
__MPC_EXIT_IF_METHOD_FAILS(hr, (static_cast<Property*>(this))->put_Node( pxdnNode ));
|
|
|
|
//
|
|
// Get all the elements of type "VALUE".
|
|
//
|
|
__MPC_EXIT_IF_METHOD_FAILS(hr, m_xmlNode.GetNodes( TAG_VALUE, &xdnlList ));
|
|
|
|
for(;SUCCEEDED(hr = xdnlList->nextNode( &xdnNode )) && xdnNode != NULL; xdnNode = NULL)
|
|
{
|
|
ElemIter wmipvNew = m_lstElements.insert( m_lstElements.end() );
|
|
|
|
__MPC_EXIT_IF_METHOD_FAILS(hr, wmipvNew->Parse( xdnNode, NULL ));
|
|
}
|
|
|
|
hr = S_OK;
|
|
|
|
|
|
__HCP_FUNC_CLEANUP;
|
|
|
|
__HCP_FUNC_EXIT(hr);
|
|
}
|
|
|
|
////////////////////////////////////////////////
|
|
|
|
|
|
HRESULT WMIParser::Property_Array::get_Data( /*[in]*/ int iIndex ,
|
|
/*[out]*/ MPC::wstring& szData )
|
|
{
|
|
__HCP_FUNC_ENTRY( "WMIParser::Property_Array::get_Data" );
|
|
|
|
HRESULT hr;
|
|
|
|
hr = E_NOTIMPL;
|
|
|
|
__HCP_FUNC_EXIT(hr);
|
|
}
|
|
|
|
|
|
HRESULT WMIParser::Property_Array::put_Data( /*[in]*/ int iIndex ,
|
|
/*[in]*/ const MPC::wstring& szData ,
|
|
/*[out]*/ bool& fFound )
|
|
{
|
|
__HCP_FUNC_ENTRY( "WMIParser::Property_Array::put_Data" );
|
|
|
|
HRESULT hr;
|
|
|
|
hr = E_NOTIMPL;
|
|
|
|
__HCP_FUNC_EXIT(hr);
|
|
}
|