palm-os-sdk/PalmOne/Incs/common/libraries/filebrowser/FileBrowserLibCommon.h

86 lines
3.3 KiB
C

/******************************************************************************
* Copyright (c) 2004 PalmOne, Inc. or its subsidiaries.
* All rights reserved.
*****************************************************************************/
/**
* @file FileBrowserLibCommon.h
* @version 1.0
* @date
*
* FileBrowser common definitions
*
* <hr>
*/
#ifndef __FILE_BROWSER_LIB_COMMON_H__
#define __FILE_BROWSER_LIB_COMMON_H__
#include <ExgLib.h>
/***********************************************************************
*
* Constants
*
***********************************************************************/
// Shared library
#define kFileBrowserLibName "FileBrowser-PFil"
// Use SysLibFind to find this library. There is no need to load it.
// This must match the database name since this is an Exchange
// Library In Application (ELIA).
// Flags for Open and Save As dialogs
#define kFileBrowserLibFlagOneVolume 0x00000001UL // no volume picker
// Flags for Open dialog
#define kFileBrowserLibFlagNoFiles 0x00000002UL // no files; only folders
#define kFileBrowserLibFlagNoFolders 0x00000004UL // no folders; only files
// Flags for Save As dialog
#define kFileBrowserLibFlagPromptOverwrite 0x00000008UL // warn before replacing
#define kFileBrowserLibFlagRequireExtension 0x00000010UL // only given extensions
#define kFileBrowserLibFlagNoNewFolder 0x00000020UL // no New Folder button
// Flags for Open and Save As dialogs
#define kFileBrowserLibFlagNoDirChange 0x00000040UL // stay within tree
#define kFileBrowserLibFlagNoSubDir 0x00000080UL // stay within folder
// Buffer sizes
#define kFileBrowserLibMaxPathLength 2047 // room for most paths
#define kFileBrowserLibPathBufferSize (kFileBrowserLibMaxPathLength + 1)
// Exchange Manager registry enums
//<><> Remove when PalmSource adds these to their SDK
#define exgRegEditCreatorID 0xff7b // creator ID registry
#define exgRegEditExtensionID 0xff7d // filename extension registry
#define exgRegEditTypeID 0xff7e // MIME type registry
// ExgControl opcodes
#define kFileBrowserLibCtlGetVersion exgLibCtlSpecificOp // API version
// File Browser library API versions
#define kFileBrowserLibAPIVersion0 0 // original version on Tungsten T5
#define kFileBrowserLibAPIVersion1 1 // version with multiselect
// Error codes
#define kFileBrowserLibErrorClass (oemErrorClass + 0x0400)
#define kFileBrowserLibErrStillOpen (kFileBrowserLibErrorClass | 0x01)
#define kFileBrowserLibErrPathTooLong (kFileBrowserLibErrorClass | 0x02)
#define kFileBrowserLibErrMemError (kFileBrowserLibErrorClass | 0x03)
#define kFileBrowserLibErrCantFind (kFileBrowserLibErrorClass | 0x04)
#define kFileBrowserLibErrInternal (kFileBrowserLibErrorClass | 0x05)
#define kFileBrowserLibErrCantOpen (kFileBrowserLibErrorClass | 0x06)
#define kFileBrowserLibErrCantParse (kFileBrowserLibErrorClass | 0x07)
// Traps
#define kFileBrowserLibTrapShowOpenDialog (exgLibTrapLast)
#define kFileBrowserLibTrapShowSaveAsDialog (exgLibTrapLast + 1)
#define kFileBrowserLibTrapParseFileURL (exgLibTrapLast + 2)
#define kFileBrowserLibTrapShowMultiselectDialog (exgLibTrapLast + 3)
#endif // __FILE_BROWSER_LIB_COMMON_H__