58 lines
2.5 KiB
C
58 lines
2.5 KiB
C
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
//
|
||
|
// Copyright (C) Microsoft Corporation, 2000
|
||
|
//
|
||
|
// File: auxml.h
|
||
|
//
|
||
|
// About: header file for AU related XML and schema data structure and functions
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
#pragma once
|
||
|
#include <windows.h>
|
||
|
#include <ole2.h>
|
||
|
#include <msxml.h>
|
||
|
#include <URLLogging.h>
|
||
|
#include "AUBaseCatalog.h"
|
||
|
|
||
|
class CItemDetails
|
||
|
{
|
||
|
public:
|
||
|
CItemDetails() : m_pxml(NULL) {};
|
||
|
~CItemDetails() {};
|
||
|
BOOL Init(BSTR bsxml);
|
||
|
void Uninit();
|
||
|
HRESULT CloneIdentityNode(BSTR bstrItemId, IXMLDOMDocument *pDesXml, IXMLDOMNode ** ppDesNode);
|
||
|
HRESULT CloneDescriptionNode(BSTR bstrItemId,IXMLDOMDocument *pDesXml, IXMLDOMNode ** ppDesNode);
|
||
|
HRESULT ClonePlatformNode(BSTR bstrItemId,IXMLDOMDocument *pDesXml, IXMLDOMNode ** ppDesNode);
|
||
|
HRESULT GetItemIds(long *puItemNum, BSTR ** ppbstrItemIds);
|
||
|
HRESULT GetItemInfo(LPCSTR szFieldName, BSTR bstrItemId, BSTR * pbstrItemInfo);
|
||
|
HRESULT GetCabNames(BSTR bstrItemId, BSTR ** ppCabNames, BSTR **ppRealCabNames, BSTR **ppCabChecksums, UINT *pCabsNum);
|
||
|
HRESULT GetRTFCRC(BSTR bstrItemId, BSTR * pRTFCRC);
|
||
|
HRESULT FindFirstExclusiveItem(BSTR *pbstrItemId, AUCatalogItemList & hiddenItemList);
|
||
|
HRESULT DeleteItem(BSTR bstrItemId);
|
||
|
HRESULT GetXML(BSTR *pbstrxml);
|
||
|
HRESULT BuildDirectDependency(AUCatalogItemList IN OUT &item);
|
||
|
BSTR GetItemDownloadPath(BSTR bstrItemId);
|
||
|
BOOL IsVisible(BSTR bstrItemId);
|
||
|
HRESULT GetItemIdentities(BSTR bstrItemId, IXMLDOMNodeList ** ppIdentityNodeList);
|
||
|
|
||
|
private:
|
||
|
IXMLDOMDocument * m_pxml;
|
||
|
IXMLDOMNode * getIdentityNode(BSTR bstrItemId);
|
||
|
IXMLDOMNode * getItemNode(BSTR bstrItemId);
|
||
|
|
||
|
};
|
||
|
|
||
|
BOOL fExtractItemInfo(BSTR bstrDetails, AUCatalogItemList & itemList, /*BOOL fDriver,*/ BOOL *pfFoundExclusiveItem/*, BOOL fIgnoreExclusiveNhidden*/);
|
||
|
BSTR ReadXMLFromFile(LPCTSTR szFile);
|
||
|
HRESULT PrepareInstallXML(BSTR bstrItemDetails, AUCatalogItemList &itemList, BSTR * pbstrDownloadResult, BSTR *pbstrInstallation);
|
||
|
HRESULT MergeCatalogs(BSTR bsCatalog1, BSTR bsCatalog2, BSTR *pbsDesCatalog );
|
||
|
HRESULT PersistHiddenItems(AUCatalogItemList &itemlist, URLLOGACTIVITY activity);
|
||
|
HRESULT GetDetailedItemInfoFromDisk(AUCatalogItemList OUT &ItemList, BSTR OUT *pbstrInstallation, BOOL fUpdateDriver);
|
||
|
HRESULT BuildDependencyList(AUCatalogItemList IN OUT &itemlist, BSTR IN bstrDriverDetail, BSTR IN bstrNonDriverDetail);
|
||
|
HRESULT MungleIdentity(IXMLDOMNode *pIdentity, DWORD dwSuffix);
|
||
|
|
||
|
|