fbxfolder.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00013 #ifndef _FBXSDK_CORE_BASE_FOLDER_H_
00014 #define _FBXSDK_CORE_BASE_FOLDER_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/base/fbxstring.h>
00019 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00022 class FBXSDK_DLL FbxFolder
00023 {
00024 public:
00025     enum EEntryType {eRegularEntry, eFolderEntry};
00026 
00027     FbxFolder();
00028     ~FbxFolder();
00029 
00030     bool Open(const char *pDirName_UTF8);           // Open the first file of the directory
00031     bool Next();                                    // Get next file
00032     void Close();                                   // Close the current operation
00033     bool Create(const char *pDirName_UTF8);
00034     void Delete (const char *pDirName_UTF8);
00035     bool IsOpen() const;                            // Is there a directory open
00036     bool IsEmpty(const char *pDirName_UTF8) const;  // Does the directory contains files
00037 
00045     static bool Remove(const char* pFolderPath_UTF8, bool pRecursive=true);
00046 
00048     static bool Exist(const char* pFolderPath_UTF8);
00049 
00051     static bool EnsureExistance(const char* pFolderPath_UTF8);
00052 
00053     EEntryType GetType() const;
00054     FbxString Name() const;                         // Get the current filename
00055     char* GetExt() const;                       // Get the current file extension
00056 
00057 private:
00058     struct FolderImpl;
00059     FolderImpl* mImpl;
00060 };
00061 
00062 #include <fbxsdk/fbxsdk_nsend.h>
00063 
00064 #endif /* _FBXSDK_CORE_BASE_FOLDER_H_ */