windows-nt/Source/XPSP1/NT/enduser/windows.com/wuv3/inc/selection.h
2020-09-26 16:20:57 +08:00

82 lines
1.8 KiB
C++

//=======================================================================
//
// Copyright (c) 1998-1999 Microsoft Corporation. All Rights Reserved.
//
// File: Selection.h
//
// Owner: CharlMa
//
// Description:
//
// interface for the CSelection class. It implements
// a collection of type CORP_SELECTION, used to
// record the selected (checked) status of items in the
// corporate catalog.
//
// structure type CORP_SELECTOIN is also defined here
//
//=======================================================================
// Selection.h: interface for the CSelection class.
//
//////////////////////////////////////////////////////////////////////
#ifndef _SELECTION_H_INCLUDED_
typedef struct _CORP_SELECTION
{
PUID puid;
DWORD dwLocale;
enumV3Platform platform;
BOOL bSelected;
int iStatus; //installation status
HRESULT hrError; //installation error code
} CORP_SELECTION, *PCORP_SELECTION;
class CSelections
{
public:
CSelections();
CSelections(int iSize);
~CSelections();
//
// adjust the collection size
//
HRESULT SetCollectionSize(int iSize);
void Clear(void);
//
// add a new item to the selection collection
//
HRESULT AddItem(PUID puid, DWORD dwLocale, enumV3Platform platform, BOOL bSelected);
HRESULT AddItem(CORP_SELECTION Item);
//
// retrive item information from collection
//
inline int GetCount(void) { return m_iCount; };
PCORP_SELECTION GetItem(int Index);
inline BOOL isItemChecked(int Index)
{return m_pSelections[Index].bSelected; };
//
// modify the selection status of one item
//
HRESULT SetItemSelection(int index, BOOL bSelected);
HRESULT SetItemErrorCode(int index, HRESULT hr);
private:
PCORP_SELECTION m_pSelections;
int m_iSize;
int m_iCount;
};
#define _SELECTION_H_INCLUDED_
#endif // !defined(_SELECTION_H_INCLUDED_)