//	ADFS_O_Callbacks.h

#ifndef	_H_ADFS_O_Callbacks
#define _H_ADFS_O_Callbacks

#include "O.h"

enum	{
	ADFS_O_CB_COUNT_TYPES	= O_CB_NUMTYPES + 1, 
	ADFS_O_CB_DISPOSE, 
	ADFS_O_CB_GET_INFO, 
	ADFS_O_CB_COLLECT_BITMAP, 
	ADFS_O_CB_UPDATE_SORT, 
	ADFS_O_CB_PANE_ARRAY_GET, 
	ADFS_O_CB_PANE_ARRAY_GET_FILES, 
	ADFS_O_CB_PANE_ARRAY_GET_FILES_FOLDERS, 
	ADFS_O_CB_PANE_ARRAY_GET_DISKS, 
	ADFS_O_CB_PANE_ARRAY_GET_SEL, 
	ADFS_O_CB_PANE_ARRAY_GET_SEL_FILES, 
	ADFS_O_CB_PANE_ARRAY_GET_SEL_FILES_FOLDERS, 
	ADFS_O_CB_PANE_ARRAY_GET_SEL_DISKS, 
	ADFS_O_CB_PANE_ARRAY_GET_SEL_DRAG, 
	ADFS_O_CB_PANE_ARRAY_GET_SEL_RGNS, 
	
	ADFS_O_CB_NUMTYPES
};

class	CEntry;

typedef struct {
	short	files_normal;
	short	files_deleted;
	
	short	folders_normal;
	short	folders_deleted;
	
	short	disks;
	short	show_deleted;
	
	ushort	types;
	
	CEntry	*entryP;
	
	OSErr	errors;
} ADFS_O_CBData_COUNT_TYPES;

class	CEntryArray;

typedef struct {
	CEntryArray		*arrayP;
	Boolean			not_if_ancestor_selB;
} ADFS_O_CBData_GET_SEL;


#define		kFileSelected				0x01
#define		kDeletedFileSelected		0x02
#define		kFolderSelected				0x04
#define		kDeletedFolderSelected		0x08
#define		kDiskSelected				0x10

#endif _H_ADFS_O_Callbacks