ReactOS 0.4.17-dev-470-gf9e3448
CEnumZipContents.cpp File Reference
#include "precomp.h"
Include dependency graph for CEnumZipContents.cpp:

Go to the source code of this file.

Classes

class  CEnumZipContents
 

Functions

static bool IncludeInEnumIDList (SHCONTF contf, SFGAOF att)
 
static bool IncludeInEnumIDList (SHCONTF contf, bool dir, unz_file_info64 &zfi)
 
HRESULT _CEnumZipContents_CreateInstance (IZip *zip, DWORD flags, PCWSTR prefix, REFIID riid, LPVOID *ppvOut)
 

Function Documentation

◆ _CEnumZipContents_CreateInstance()

HRESULT _CEnumZipContents_CreateInstance ( IZip zip,
DWORD  flags,
PCWSTR  prefix,
REFIID  riid,
LPVOID ppvOut 
)

Definition at line 134 of file CEnumZipContents.cpp.

135{
136 return ShellObjectCreatorInit<CEnumZipContents>(zip, flags, prefix, riid, ppvOut);
137}
GLbitfield flags
Definition: glext.h:7161
REFIID riid
Definition: atlbase.h:39
Character const *const prefix
Definition: tempnam.cpp:195

Referenced by CZipFolder::EnumObjects().

◆ IncludeInEnumIDList() [1/2]

static bool IncludeInEnumIDList ( SHCONTF  contf,
bool  dir,
unz_file_info64 zfi 
)
inlinestatic

Definition at line 30 of file CEnumZipContents.cpp.

31{
32 SFGAOF att = dir ? SFGAO_FOLDER : SFGAO_STREAM;
33 // TODO: SFGAO_HIDDEN,READONLY,SYSTEM from zfi.external_fa? (Use MapFSToSFAttributes)
34 return IncludeInEnumIDList(contf, att);
35}
static bool IncludeInEnumIDList(SHCONTF contf, SFGAOF att)
unsigned int dir
Definition: maze.c:112
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
Definition: ebrowser.c:83

◆ IncludeInEnumIDList() [2/2]

static bool IncludeInEnumIDList ( SHCONTF  contf,
SFGAOF  att 
)
inlinestatic

Definition at line 11 of file CEnumZipContents.cpp.

12{
13 const SHCONTF both = SHCONTF_FOLDERS | SHCONTF_NONFOLDERS;
14 const SFGAOF superbits = SFGAO_HIDDEN | SFGAO_READONLY | SFGAO_SYSTEM;
15 const bool isfile = (att & (SFGAO_STREAM | SFGAO_FOLDER)) != SFGAO_FOLDER;
16 if ((contf & both) != both && !(contf & SHCONTF_STORAGE))
17 {
18 if (isfile && (contf & SHCONTF_FOLDERS))
19 return false;
20 if ((att & SFGAO_FOLDER) && (contf & SHCONTF_NONFOLDERS))
21 return false;
22 }
23 if ((att & SFGAO_HIDDEN) && !(contf & (SHCONTF_INCLUDEHIDDEN | SHCONTF_STORAGE)))
24 return false;
25 if ((att & superbits) > SFGAO_HIDDEN && !(contf & (SHCONTF_INCLUDESUPERHIDDEN | SHCONTF_STORAGE)))
26 return false;
27 return true;
28}
#define SFGAO_SYSTEM
Definition: shobjidl.idl:198
static SHCONTF
Definition: ordinal.c:61

Referenced by IncludeInEnumIDList(), and CEnumZipContents::Next().