cocos2d-x  2.2.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CCFileUtilsWin32 Class Reference

Helper class to handle file operations. More...

#include <CCFileUtilsWin32.h>

Inheritance diagram for CCFileUtilsWin32:
CCFileUtils TypeInfo

Public Member Functions

bool init ()
 Initializes the instance of CCFileUtils. More...
 
virtual std::string getWritablePath ()
 Gets the writable path. More...
 
virtual bool isFileExist (const std::string &strFilePath)
 Checks whether a file exists. More...
 
var isFileExist ( var strFilePath)
 Checks whether a file exists. More...
 
local isFileExist ( local strFilePath)
 Checks whether a file exists. More...
 
virtual bool isAbsolutePath (const std::string &strPath)
 Checks whether the path is an absolute path. More...
 
var isAbsolutePath ( var strPath)
 Checks whether the path is an absolute path. More...
 
local isAbsolutePath ( local strPath)
 Checks whether the path is an absolute path. More...
 
virtual void addSearchPath (const char *path)
 Adds a path to search paths. More...
 
virtual void removeSearchPath (const char *path)
 Removes a path from search paths. More...
 
local removeSearchPath ( local path)
 Removes a path from search paths. More...
 
std::string utf8Togbk (const char *src)
var utf8Togbk ( var src)
local utf8Togbk ( local src)
virtual std::string fullPathForFilename (const char *pszFileName)
 Returns the fullpath for a given filename. More...
 
- Public Member Functions inherited from CCFileUtils
virtual long getClassTypeInfo ()
 Returns an unique ID for this class. More...
 
virtual ~CCFileUtils ()
 The destructor of CCFileUtils. More...
 
virtual void purgeCachedEntries ()
 Purges the file searching cache. More...
 
local purgeCachedEntries ()
 Purges the file searching cache. More...
 
virtual unsigned char * getFileData (const char *pszFileName, const char *pszMode, unsigned long *pSize)
 Gets resource file data. More...
 
local getFileData ( local pszFileName, local pszMode, local pSize)
 Gets resource file data. More...
 
virtual unsigned char * getFileDataFromZip (const char *pszZipFilePath, const char *pszFileName, unsigned long *pSize)
 Gets resource file data from a zip file. More...
 
virtual void loadFilenameLookupDictionaryFromFile (const char *filename)
 Loads the filenameLookup dictionary from the contents of a filename. More...
 
virtual void setFilenameLookupDictionary (CCDictionary *pFilenameLookupDict)
 Sets the filenameLookup dictionary. More...
 
var setFilenameLookupDictionary ( var pFilenameLookupDict)
 Sets the filenameLookup dictionary. More...
 
virtual const char * fullPathFromRelativeFile (const char *pszFilename, const char *pszRelativeFile)
 Gets full path from a file name and the path of the reletive file. More...
 
local fullPathFromRelativeFile ( local pszFilename, local pszRelativeFile)
 Gets full path from a file name and the path of the reletive file. More...
 
virtual void setSearchResolutionsOrder (const std::vector< std::string > &searchResolutionsOrder)
 Sets the array that contains the search order of the resources. More...
 
virtual void addSearchResolutionsOrder (const char *order)
 Append search order of the resources. More...
 
virtual const std::vector
< std::string > & 
getSearchResolutionsOrder ()
 Gets the array that contains the search order of the resources. More...
 
virtual void setSearchPaths (const std::vector< std::string > &searchPaths)
 Sets the array of search paths. More...
 
void removeAllPaths ()
 Removes all paths. More...
 
virtual const std::vector
< std::string > & 
getSearchPaths ()
 Gets the array of search paths. More...
 
virtual void setPopupNotify (bool bNotify)
 Sets/Gets whether to pop-up a message box when failed to load an image. More...
 
virtual bool isPopupNotify ()

Protected Member Functions

virtual std::string getPathForFilename (const std::string &filename, const std::string &resolutionDirectory, const std::string &searchPath)
 Gets full path for filename, resolution directory and search path. More...
 
var getPathForFilename ( var filename, var resolutionDirectory, var searchPath)
 Gets full path for filename, resolution directory and search path. More...
 
local getPathForFilename ( local filename, local resolutionDirectory, local searchPath)
 Gets full path for filename, resolution directory and search path. More...
 
- Protected Member Functions inherited from CCFileUtils
 CCFileUtils ()
 The default constructor. More...
 
 CCFileUtils ()
 The default constructor. More...
 
 CCFileUtils ()
 The default constructor. More...
 
virtual std::string getNewFilename (const char *pszFileName)
 Gets the new filename from the filename lookup dictionary. More...
 
virtual std::string getFullPathForDirectoryAndFilename (const std::string &strDirectory, const std::string &strFilename)
 Gets full path for the directory and the filename. More...
 
local getFullPathForDirectoryAndFilename ( local strDirectory, local strFilename)
 Gets full path for the directory and the filename. More...
 
virtual CCDictionarycreateCCDictionaryWithContentsOfFile (const std::string &filename)
 Creates a dictionary by the contents of a file. More...
 
local createCCDictionaryWithContentsOfFile ( local filename)
 Creates a dictionary by the contents of a file. More...
 
virtual bool writeToFile (CCDictionary *dict, const std::string &fullPath)
 Write a dictionary to a plist file. More...
 
var writeToFile ( var dict, var fullPath)
 Write a dictionary to a plist file. More...
 
local writeToFile ( local dict, local fullPath)
 Write a dictionary to a plist file. More...
 
virtual CCArraycreateCCArrayWithContentsOfFile (const std::string &filename)
 Creates an array by the contents of a file. More...
 
var createCCArrayWithContentsOfFile ( var filename)
 Creates an array by the contents of a file. More...
 
local createCCArrayWithContentsOfFile ( local filename)
 Creates an array by the contents of a file. More...
 

Friends

class CCFileUtils

Additional Inherited Members

- Static Public Member Functions inherited from CCFileUtils
static CCFileUtilssharedFileUtils ()
 Gets the instance of CCFileUtils. More...
 
local sharedFileUtils ()
 Gets the instance of CCFileUtils. More...
 
static void purgeFileUtils ()
 Destroys the instance of CCFileUtils. More...
 
var purgeFileUtils ()
 Destroys the instance of CCFileUtils. More...
 
local purgeFileUtils ()
 Destroys the instance of CCFileUtils. More...
 
- Protected Attributes inherited from CCFileUtils
CCDictionarym_pFilenameLookupDict
 Dictionary used to lookup filenames based on a key. More...
 
std::vector< std::string > m_searchResolutionsOrderArray
 The vector contains resolution folders. More...
 
std::vector< std::string > m_searchPathArray
 The vector contains search paths. More...
 
var m_searchPathArray
 The vector contains search paths. More...
 
local m_searchPathArray
 The vector contains search paths. More...
 
std::string m_strDefaultResRootPath
 The default root path of resources. More...
 
var m_strDefaultResRootPath
 The default root path of resources. More...
 
local m_strDefaultResRootPath
 The default root path of resources. More...
 
std::map< std::string,
std::string > 
m_fullPathCache
 The full path cache. More...
 
- Static Protected Attributes inherited from CCFileUtils
static CCFileUtilss_sharedFileUtils
 The singleton pointer of CCFileUtils. More...
 
var s_sharedFileUtils
 The singleton pointer of CCFileUtils. More...
 
local s_sharedFileUtils
 The singleton pointer of CCFileUtils. More...
 

Detailed Description

Helper class to handle file operations.

Member Function Documentation

virtual void addSearchPath ( const char *  path)
virtual

Adds a path to search paths.

Since
v2.2

Reimplemented from CCFileUtils.

var addSearchPath ( var  path)
virtual

Adds a path to search paths.

Since
v2.2

Reimplemented from CCFileUtils.

local addSearchPath ( local  path)
virtual

Adds a path to search paths.

Since
v2.2

Reimplemented from CCFileUtils.

virtual std::string
fullPathForFilename
( const char *  pszFileName)
virtual

Returns the fullpath for a given filename.

First it will try to get a new filename from the "filenameLookup" dictionary. If a new filename can't be found on the dictionary, it will use the original filename. Then it will try to obtain the full path of the filename using the CCFileUtils search rules: resolutions, and search paths. The file search is based on the array element order of search paths and resolution directories.

For instance:

We set two elements("/mnt/sdcard/", "internal_dir/") to search paths vector by setSearchPaths,
and set three elements("resources-ipadhd/", "resources-ipad/", "resources-iphonehd")
to resolutions vector by setSearchResolutionsOrder. The "internal_dir" is relative to "Resources/".

If we have a file named 'sprite.png', the mapping in fileLookup dictionary contains key: sprite.png -> value: sprite.pvr.gz. Firstly, it will replace 'sprite.png' with 'sprite.pvr.gz', then searching the file sprite.pvr.gz as follows:

/mnt/sdcard/resources-ipadhd/sprite.pvr.gz      (if not found, search next)
/mnt/sdcard/resources-ipad/sprite.pvr.gz        (if not found, search next)
/mnt/sdcard/resources-iphonehd/sprite.pvr.gz    (if not found, search next)
/mnt/sdcard/sprite.pvr.gz                       (if not found, search next)
internal_dir/resources-ipadhd/sprite.pvr.gz     (if not found, search next)
internal_dir/resources-ipad/sprite.pvr.gz       (if not found, search next)
internal_dir/resources-iphonehd/sprite.pvr.gz   (if not found, search next)
internal_dir/sprite.pvr.gz                      (if not found, return "sprite.png")

If the filename contains relative path like "gamescene/uilayer/sprite.png", and the mapping in fileLookup dictionary contains key: gamescene/uilayer/sprite.png -> value: gamescene/uilayer/sprite.pvr.gz. The file search order will be:

 /mnt/sdcard/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz      (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/resources-ipad/sprite.pvr.gz        (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz    (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/sprite.pvr.gz                       (if not found, search next)
 internal_dir/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz     (if not found, search next)
 internal_dir/gamescene/uilayer/resources-ipad/sprite.pvr.gz       (if not found, search next)
 internal_dir/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz   (if not found, search next)
 internal_dir/gamescene/uilayer/sprite.pvr.gz                      (if not found, return "gamescene/uilayer/sprite.png")

If the new file can't be found on the file system, it will return the parameter pszFileName directly.

This method was added to simplify multiplatform support. Whether you are using cocos2d-js or any cross-compilation toolchain like StellaSDK or Apportable, you might need to load different resources for a given file in the different platforms.

Since
v2.1

Reimplemented from CCFileUtils.

var fullPathForFilename ( var  pszFileName)
virtual

Returns the fullpath for a given filename.

First it will try to get a new filename from the "filenameLookup" dictionary. If a new filename can't be found on the dictionary, it will use the original filename. Then it will try to obtain the full path of the filename using the CCFileUtils search rules: resolutions, and search paths. The file search is based on the array element order of search paths and resolution directories.

For instance:

We set two elements("/mnt/sdcard/", "internal_dir/") to search paths vector by setSearchPaths,
and set three elements("resources-ipadhd/", "resources-ipad/", "resources-iphonehd")
to resolutions vector by setSearchResolutionsOrder. The "internal_dir" is relative to "Resources/".

If we have a file named 'sprite.png', the mapping in fileLookup dictionary contains key: sprite.png -> value: sprite.pvr.gz. Firstly, it will replace 'sprite.png' with 'sprite.pvr.gz', then searching the file sprite.pvr.gz as follows:

/mnt/sdcard/resources-ipadhd/sprite.pvr.gz      (if not found, search next)
/mnt/sdcard/resources-ipad/sprite.pvr.gz        (if not found, search next)
/mnt/sdcard/resources-iphonehd/sprite.pvr.gz    (if not found, search next)
/mnt/sdcard/sprite.pvr.gz                       (if not found, search next)
internal_dir/resources-ipadhd/sprite.pvr.gz     (if not found, search next)
internal_dir/resources-ipad/sprite.pvr.gz       (if not found, search next)
internal_dir/resources-iphonehd/sprite.pvr.gz   (if not found, search next)
internal_dir/sprite.pvr.gz                      (if not found, return "sprite.png")

If the filename contains relative path like "gamescene/uilayer/sprite.png", and the mapping in fileLookup dictionary contains key: gamescene/uilayer/sprite.png -> value: gamescene/uilayer/sprite.pvr.gz. The file search order will be:

 /mnt/sdcard/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz      (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/resources-ipad/sprite.pvr.gz        (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz    (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/sprite.pvr.gz                       (if not found, search next)
 internal_dir/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz     (if not found, search next)
 internal_dir/gamescene/uilayer/resources-ipad/sprite.pvr.gz       (if not found, search next)
 internal_dir/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz   (if not found, search next)
 internal_dir/gamescene/uilayer/sprite.pvr.gz                      (if not found, return "gamescene/uilayer/sprite.png")

If the new file can't be found on the file system, it will return the parameter pszFileName directly.

This method was added to simplify multiplatform support. Whether you are using cocos2d-js or any cross-compilation toolchain like StellaSDK or Apportable, you might need to load different resources for a given file in the different platforms.

Since
v2.1

Reimplemented from CCFileUtils.

local fullPathForFilename ( local  pszFileName)
virtual

Returns the fullpath for a given filename.

First it will try to get a new filename from the "filenameLookup" dictionary. If a new filename can't be found on the dictionary, it will use the original filename. Then it will try to obtain the full path of the filename using the CCFileUtils search rules: resolutions, and search paths. The file search is based on the array element order of search paths and resolution directories.

For instance:

We set two elements("/mnt/sdcard/", "internal_dir/") to search paths vector by setSearchPaths,
and set three elements("resources-ipadhd/", "resources-ipad/", "resources-iphonehd")
to resolutions vector by setSearchResolutionsOrder. The "internal_dir" is relative to "Resources/".

If we have a file named 'sprite.png', the mapping in fileLookup dictionary contains key: sprite.png -> value: sprite.pvr.gz. Firstly, it will replace 'sprite.png' with 'sprite.pvr.gz', then searching the file sprite.pvr.gz as follows:

/mnt/sdcard/resources-ipadhd/sprite.pvr.gz      (if not found, search next)
/mnt/sdcard/resources-ipad/sprite.pvr.gz        (if not found, search next)
/mnt/sdcard/resources-iphonehd/sprite.pvr.gz    (if not found, search next)
/mnt/sdcard/sprite.pvr.gz                       (if not found, search next)
internal_dir/resources-ipadhd/sprite.pvr.gz     (if not found, search next)
internal_dir/resources-ipad/sprite.pvr.gz       (if not found, search next)
internal_dir/resources-iphonehd/sprite.pvr.gz   (if not found, search next)
internal_dir/sprite.pvr.gz                      (if not found, return "sprite.png")

If the filename contains relative path like "gamescene/uilayer/sprite.png", and the mapping in fileLookup dictionary contains key: gamescene/uilayer/sprite.png -> value: gamescene/uilayer/sprite.pvr.gz. The file search order will be:

 /mnt/sdcard/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz      (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/resources-ipad/sprite.pvr.gz        (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz    (if not found, search next)
 /mnt/sdcard/gamescene/uilayer/sprite.pvr.gz                       (if not found, search next)
 internal_dir/gamescene/uilayer/resources-ipadhd/sprite.pvr.gz     (if not found, search next)
 internal_dir/gamescene/uilayer/resources-ipad/sprite.pvr.gz       (if not found, search next)
 internal_dir/gamescene/uilayer/resources-iphonehd/sprite.pvr.gz   (if not found, search next)
 internal_dir/gamescene/uilayer/sprite.pvr.gz                      (if not found, return "gamescene/uilayer/sprite.png")

If the new file can't be found on the file system, it will return the parameter pszFileName directly.

This method was added to simplify multiplatform support. Whether you are using cocos2d-js or any cross-compilation toolchain like StellaSDK or Apportable, you might need to load different resources for a given file in the different platforms.

Since
v2.1

Reimplemented from CCFileUtils.

virtual std::string
getPathForFilename
( const std::string &  filename,
const std::string &  resolutionDirectory,
const std::string &  searchPath 
)
protectedvirtual

Gets full path for filename, resolution directory and search path.

Parameters
filenameThe file name.
resolutionDirectoryThe resolution directory.
searchPathThe search path.
Returns
The full path of the file. It will return an empty string if the full path of the file doesn't exist.

Reimplemented from CCFileUtils.

var getPathForFilename ( var  filename,
var  resolutionDirectory,
var  searchPath 
)
protectedvirtual

Gets full path for filename, resolution directory and search path.

Parameters
filenameThe file name.
resolutionDirectoryThe resolution directory.
searchPathThe search path.
Returns
The full path of the file. It will return an empty string if the full path of the file doesn't exist.

Reimplemented from CCFileUtils.

local getPathForFilename ( local  filename,
local  resolutionDirectory,
local  searchPath 
)
protectedvirtual

Gets full path for filename, resolution directory and search path.

Parameters
filenameThe file name.
resolutionDirectoryThe resolution directory.
searchPathThe search path.
Returns
The full path of the file. It will return an empty string if the full path of the file doesn't exist.

Reimplemented from CCFileUtils.

virtual std::string getWritablePath ( )
virtual

Gets the writable path.

Returns
The path that can be write/read a file in

Implements CCFileUtils.

var getWritablePath ( )
virtual

Gets the writable path.

Returns
The path that can be write/read a file in

Implements CCFileUtils.

local getWritablePath ( )
virtual

Gets the writable path.

Returns
The path that can be write/read a file in

Implements CCFileUtils.

bool init ( )
virtual

Initializes the instance of CCFileUtils.

It will set m_searchPathArray and m_searchResolutionsOrderArray to default values.

Note
When you are porting Cocos2d-x to a new platform, you may need to take care of this method. You could assign a default value to m_strDefaultResRootPath in the subclass of CCFileUtils(e.g. CCFileUtilsAndroid). Then invoke the CCFileUtils::init().
Returns
true if successed, otherwise it returns false.

Reimplemented from CCFileUtils.

var init ( )
virtual

Initializes the instance of CCFileUtils.

It will set m_searchPathArray and m_searchResolutionsOrderArray to default values.

Note
When you are porting Cocos2d-x to a new platform, you may need to take care of this method. You could assign a default value to m_strDefaultResRootPath in the subclass of CCFileUtils(e.g. CCFileUtilsAndroid). Then invoke the CCFileUtils::init().
Returns
true if successed, otherwise it returns false.

Reimplemented from CCFileUtils.

local init ( )
virtual

Initializes the instance of CCFileUtils.

It will set m_searchPathArray and m_searchResolutionsOrderArray to default values.

Note
When you are porting Cocos2d-x to a new platform, you may need to take care of this method. You could assign a default value to m_strDefaultResRootPath in the subclass of CCFileUtils(e.g. CCFileUtilsAndroid). Then invoke the CCFileUtils::init().
Returns
true if successed, otherwise it returns false.

Reimplemented from CCFileUtils.

virtual bool isAbsolutePath ( const std::string &  strPath)
virtual

Checks whether the path is an absolute path.

Note
On Android, if the parameter passed in is relative to "assets/", this method will treat it as an absolute path. Also on Blackberry, path starts with "app/native/Resources/" is treated as an absolute path.
Parameters
strPathThe path that needs to be checked.
Returns
true if it's an absolute path, otherwise it will return false.

Reimplemented from CCFileUtils.

var isAbsolutePath ( var  strPath)
virtual

Checks whether the path is an absolute path.

Note
On Android, if the parameter passed in is relative to "assets/", this method will treat it as an absolute path. Also on Blackberry, path starts with "app/native/Resources/" is treated as an absolute path.
Parameters
strPathThe path that needs to be checked.
Returns
true if it's an absolute path, otherwise it will return false.

Reimplemented from CCFileUtils.

local isAbsolutePath ( local  strPath)
virtual

Checks whether the path is an absolute path.

Note
On Android, if the parameter passed in is relative to "assets/", this method will treat it as an absolute path. Also on Blackberry, path starts with "app/native/Resources/" is treated as an absolute path.
Parameters
strPathThe path that needs to be checked.
Returns
true if it's an absolute path, otherwise it will return false.

Reimplemented from CCFileUtils.

virtual bool isFileExist ( const std::string &  strFilePath)
virtual

Checks whether a file exists.

Note
If a relative path was passed in, it will be inserted a default root path at the beginning.
Parameters
strFilePathThe path of the file, it could be a relative or absolute path.
Returns
true if the file exists, otherwise it will return false.

Implements CCFileUtils.

var isFileExist ( var  strFilePath)
virtual

Checks whether a file exists.

Note
If a relative path was passed in, it will be inserted a default root path at the beginning.
Parameters
strFilePathThe path of the file, it could be a relative or absolute path.
Returns
true if the file exists, otherwise it will return false.

Implements CCFileUtils.

local isFileExist ( local  strFilePath)
virtual

Checks whether a file exists.

Note
If a relative path was passed in, it will be inserted a default root path at the beginning.
Parameters
strFilePathThe path of the file, it could be a relative or absolute path.
Returns
true if the file exists, otherwise it will return false.

Implements CCFileUtils.

virtual void removeSearchPath ( const char *  path)
virtual

Removes a path from search paths.

Since
v2.2

Reimplemented from CCFileUtils.

var removeSearchPath ( var  path)
virtual

Removes a path from search paths.

Since
v2.2

Reimplemented from CCFileUtils.

local removeSearchPath ( local  path)
virtual

Removes a path from search paths.

Since
v2.2

Reimplemented from CCFileUtils.

std::string utf8Togbk ( const char *  src)
var utf8Togbk ( var  src)
local utf8Togbk ( local  src)

Friends And Related Function Documentation

friend class CCFileUtils
friend
var CCFileUtils
friend
local CCFileUtils
friend

The documentation for this class was generated from the following file: