6BEGIN_MOOTOOLS_NAMESPACE
14 IO_FILE_UNKNOWN_ERROR = 0,
15 IO_FILE_CANT_OPEN_FILE = -1,
16 IO_FILE_UNKNOWN_FILE_TYPE = -2,
17 IO_FILE_BAD_FILE_FORMAT = -3,
18 IO_FILE_MEMORY_ERROR = -4,
19 IO_FILE_CRITICAL_ERROR = -5,
20 IO_SAVE_FILE_DISK_FULL = -6,
21 IO_SAVE_FILE_ACCESS_DENIED = -7,
22 IO_SAVE_EMPTY_FILE = -8,
23 IO_CANT_SAVE_IN_THIS_FORMAT = -9,
24 IO_LOAD_EMPTY_FILE = -10,
25 IO_USER_ABORT_OPERATION = -11,
26 IO_CUSTOM_ERROR = -12,
29typedef enum IoShowDialog
32 IO_DIALOG_RECOMMENDED = 1,
68 IOOPTIONS_NONE = 0x00,
69 IOOPTIONS_LOAD = 0x01,
70 IOOPTIONS_SHOWALLDLGOPTIONS = 0x02,
71 IOOPTIONS_ALLOW_GLOBALOPTIONS = 0x04,
74 IOOPTIONS_GLOBAL_PREFS = 0xFFFF0000,
75 IOOPTIONS_GLOBAL_SHOWLOG = 0x00010000,
90 void SetFlag(IoOptionsFlags
flag,
bool set);
91 bool IsFlagSet(IoOptionsFlags
flag)
const;
94 virtual void InitFromSavedPrefs(
const CCustomData& data) = 0;
97 CCustomData& GetParserOptions() {
return parserData; }
98 const CCustomData& GetParserOptions()
const {
return parserData; }
100 void AddLogInfo(IoLogInfo::loglevel level,
const CXString& txt);
101 void AddLogInfo(IoLogInfo::loglevel level,
unsigned int errorCode,
LPCTSTR filename =
NULL);
103#ifndef MOOTOOLS_NO_UI
108#define IO_FILECLASS_ID MAKE_CUSTOM_ID('I', 'O', 'C', 'L')
110typedef enum FILE_PARSER_FLAGS
112 FILE_PARSER_DEFAULT = 0x00,
113 FILE_PARSER_SAVING = 0x00,
114 FILE_PARSER_LOADING = 0x01,
115 FILE_PARSER_SILENT_MODE = 0x02,
116 FILE_PARSER_SHOW_DIALOG = 0x04,
120 FILE_PARSER_PARAMETERS_PROVIDED = 0x08,
121 FILE_PARSER_QUICK_MODE = 0x10,
122 FILE_PARSER_SHOW_FILE_DIALOG = 0x20,
139 CFileIo *GetIoMgr() {
return io; };
142 bool IsSilentMode()
const;
143 bool IsFlagSet(FILE_PARSER_FLAGS
flag)
const;
146 IoShowDialog MustShowDialog();
157 unsigned int altParserClass;
167 virtual void CloseParser();
169 bool CanTryAnotherParser()
const {
return fileInfo.CanTryAnotherParser(); }
170 void TryNextParser() { fileInfo.TryNextParser(); }
177 CXWnd *GetParentWnd()
184 CXString GetCurrentShortFileName(
void);
185 CXString GetCurrentCompleteFileName(
void);
187 void SetAlternativeClass(
unsigned int altClass);
188 unsigned int GetAlternativeClass()
const;
189 bool IsMultiParserExtension()
const {
return (fileInfo.
GetParserNbr() > 1); }
191#ifndef MOOTOOLS_NO_UI
193#ifndef MOOTOOLS_NO_MULTIPLE_FILEDLG
198#ifndef MOOTOOLS_CRUNCHERSDK
203 bool IsLoading()
const {
return IsFlagSet(FILE_PARSER_LOADING); }
210 return fileInfo.
IsURL();
241 XASSERT(
filespec.GetClass() == GetClass());
246 unsigned int GetKindOf(
void)
const
251 unsigned int GetClass(
void)
const
256 unsigned int GetProperties(
void)
const
261 unsigned int GetParser()
const
270 bool ReportIoError(
CIoOptions *options =
NULL,
unsigned int level = IoLogInfo::LOG_WARNING|IoLogInfo::LOG_ERROR);
275 int GetIoError()
const
280 void SetIoError(IO_FILE_RESULT
error,
CIoOptions *options =
NULL, IoLogInfo::loglevel level = IoLogInfo::LOG_ERROR);
284 unsigned int GetFlags()
const {
return flags; };
285 void SetFlag(FILE_PARSER_FLAGS state,
bool set);
286 bool IsFlagSet(
unsigned int state)
const;
287 void SetSilentMode(
bool silent) { SetFlag(FILE_PARSER_SILENT_MODE,
silent); }
288 bool IsSilentMode() {
return IsFlagSet(FILE_PARSER_SILENT_MODE); }
291 static IoShowDialog HasDialog(
unsigned int fileclass,
bool loading);
294 static CXString GetPreferencesFilePath();
295 bool SaveIoParameters(
bool loading,
const CCustomData& iodata,
unsigned int fileclass)
const;
296 bool LoadIoParameters(
bool loading,
CCustomData& iodata,
unsigned int fileclass)
const;
299END_MOOTOOLS_NAMESPACE
Contains many convenient functions for handling files, paths and give a way to add some custom format...
The class defines an x, y, z 3D point which can use int, float or double.
Definition 3DPoint.h:27
CCustomData is a handly class for storing any kind of data.
Definition CustomData.h:106
A convenient class to get some information giving a specific file name through a CFileNameSpec object...
Definition FileInfo.h:375
unsigned int GetSaver() const
Return saver of file.
bool IsFile() const
Is the filename a file?
unsigned int GetLoader() const
Return loader of file.
void Init(const CFileNameSpec &filepec, FILENAME_TYPE type=FILENAME_UNKNOWN)
Retrieve info about a file giving a CFileNameSpec. If known type can be provided to resolve some name...
unsigned int GetClass() const
Return type file class.
bool IsURL() const
Is the filename an URL? Note: An URL can also be a directory or a file.
CXString GetName() const
Return filename (without path)
unsigned int GetProperties() const
Return type of file.
unsigned int GetKindOf() const
Return kind of file.
CXString GetPath() const
Return path.
CXString GetCompleteName() const
Return filename (path included)
CXString GetNameWithoutExt() const
Return filename (without path and extension)
unsigned int GetParserNbr() const
Return the parser number for the extension.
CXString GetExtension() const
Return extension.
Definition IoCommon.h:150
A given extension may match several formats. In case of conflict CFileNameSpec is a way to indicate t...
Definition FileInfo.h:156
Definition IoCommon.h:130
Definition XThreadSync.h:20
CXStringArray implement an array of CXString.
Definition XStringArray.h:25
Provides log detail info to IoFile.
Definition IoCommon.h:39