diff options
| author | Aura Linden <aura@lindenlab.com> | 2012-07-25 16:08:27 -0700 | 
|---|---|---|
| committer | Aura Linden <aura@lindenlab.com> | 2012-07-25 16:08:27 -0700 | 
| commit | 1154d5afde0730b541716587ca3c5b962dba1b8d (patch) | |
| tree | c59af776d3436d4bde58551075d03cca4b5214f6 /indra | |
| parent | 3b560d4c4902eff361ac308f56d982b1147739c4 (diff) | |
Reverted boost/cocoa changes to purely Mountain Lion fixes.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llvfs/lldir.h | 4 | ||||
| -rw-r--r-- | indra/llvfs/lldir_mac.cpp | 59 | ||||
| -rw-r--r-- | indra/llvfs/lldir_mac.h | 8 | ||||
| -rw-r--r-- | indra/newview/tests/lldir_stub.cpp | 1 | ||||
| -rw-r--r-- | indra/viewer_components/updater/tests/llupdaterservice_test.cpp | 6 | 
5 files changed, 56 insertions, 22 deletions
| diff --git a/indra/llvfs/lldir.h b/indra/llvfs/lldir.h index a8b204e63e..3b1883b5d8 100644 --- a/indra/llvfs/lldir.h +++ b/indra/llvfs/lldir.h @@ -1,4 +1,4 @@ -/**  +/**     * @file lldir.h   * @brief Definition of directory utilities class   * @@ -73,6 +73,8 @@ class LLDir  	virtual S32 deleteFilesInDir(const std::string &dirname, const std::string &mask);  // pure virtual functions +	virtual U32 countFilesInDir(const std::string &dirname, const std::string &mask) = 0; +  	virtual std::string getCurPath() = 0;  	virtual BOOL fileExists(const std::string &filename) const = 0; diff --git a/indra/llvfs/lldir_mac.cpp b/indra/llvfs/lldir_mac.cpp index de3347cf63..9f60111275 100644 --- a/indra/llvfs/lldir_mac.cpp +++ b/indra/llvfs/lldir_mac.cpp @@ -22,7 +22,7 @@   *    * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$ - */ + */   #if LL_DARWIN @@ -35,24 +35,8 @@  #include <sys/stat.h>  #include <unistd.h>  #include <glob.h> -#include <boost/filesystem.hpp>  #include <Carbon/Carbon.h> -//#include "lldir_mac.mm" -// -//std::string getApplicationSupportFolder () -//{ -//    std::string support_folder_str; -//    CFArrayRef a = appSupport(); -//    if (CFArrayGetCount(a) > 0) {  -//        CFStringRef s = CFArrayGetValueAtIndex(a, 0); -//        char path[PATH_MAX]; -//        CFStringGetFileSystemRepresentation(s, path, sizeof(path)); -//        support_folder_str = std::string(path); -//    } -//    CFRelease(a); -//    return support_folder_str; -//}  // -------------------------------------------------------------------------------- @@ -125,6 +109,8 @@ static void FSRefToLLString(FSRef *fsRef, std::string &llString)  LLDir_Mac::LLDir_Mac()  {  	mDirDelimiter = "/"; +	mCurrentDirIndex = -1; +	mCurrentDirCount = -1;  	CFBundleRef		mainBundleRef = NULL;  	CFURLRef		executableURLRef = NULL; @@ -249,17 +235,52 @@ void LLDir_Mac::initAppDirs(const std::string &app_name,  		mSkinBaseDir = mAppRODataDir + mDirDelimiter + "skins";  	}  	mCAFile = getExpandedFilename(LL_PATH_APP_SETTINGS, "CA.pem"); + +	//dumpCurrentDirectories(); +} + +U32 LLDir_Mac::countFilesInDir(const std::string &dirname, const std::string &mask) +{ +	U32 file_count = 0; +	glob_t g; + +	std::string tmp_str; +	tmp_str = dirname; +	tmp_str += mask; +	 +	if(glob(tmp_str.c_str(), GLOB_NOSORT, NULL, &g) == 0) +	{ +		file_count = g.gl_pathc; + +		globfree(&g); +	} + +	return (file_count);  }  std::string LLDir_Mac::getCurPath()  { -    return boost::filesystem::path( boost::filesystem::current_path() ).string(); +	char tmp_str[LL_MAX_PATH];	/* Flawfinder: ignore */  +	getcwd(tmp_str, LL_MAX_PATH); +	return tmp_str;  } +  BOOL LLDir_Mac::fileExists(const std::string &filename) const  { -    return boost::filesystem::exists(filename); +	struct stat stat_data; +	// Check the age of the file +	// Now, we see if the files we've gathered are recent... +	int res = stat(filename.c_str(), &stat_data); +	if (!res) +	{ +		return TRUE; +	} +	else +	{ +		return FALSE; +	}  } diff --git a/indra/llvfs/lldir_mac.h b/indra/llvfs/lldir_mac.h index b8b9c6a9e7..64e9485757 100644 --- a/indra/llvfs/lldir_mac.h +++ b/indra/llvfs/lldir_mac.h @@ -22,7 +22,7 @@   *    * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$ - */ + */   #if !LL_DARWIN  #error This header must not be included when compiling for any target other than Mac OS. Consider including lldir.h instead. @@ -45,10 +45,16 @@ public:  		const std::string& app_read_only_data_dir);  	virtual std::string getCurPath(); +	virtual U32 countFilesInDir(const std::string &dirname, const std::string &mask);  	virtual BOOL fileExists(const std::string &filename) const;  	/*virtual*/ std::string getLLPluginLauncher();  	/*virtual*/ std::string getLLPluginFilename(std::string base_name); + +private: +	int mCurrentDirIndex; +	int mCurrentDirCount; +	std::string mCurrentDir;  };  #endif // LL_LLDIR_MAC_H diff --git a/indra/newview/tests/lldir_stub.cpp b/indra/newview/tests/lldir_stub.cpp index 288541b4fd..18cf4e7419 100644 --- a/indra/newview/tests/lldir_stub.cpp +++ b/indra/newview/tests/lldir_stub.cpp @@ -45,6 +45,7 @@ public:  	/*virtual*/ void initAppDirs(const std::string &app_name) {}  	/*virtual*/ std::string getCurPath() { return "CUR_PATH_FROM_LLDIR"; } +	/*virtual*/ U32 countFilesInDir(const std::string &dirname, const std::string &mask) { return 42; }  	/*virtual*/ BOOL getNextFileInDir(const std::string &dirname, const std::string &mask, std::string &fname, BOOL wrap) { fname = fname + "_NEXT"; return false; }  	/*virtual*/ void getRandomFileInDir(const std::string &dirname, const std::string &mask, std::string &fname) { fname = "RANDOM_FILE"; }  	/*virtual*/ BOOL fileExists(const std::string &filename) const { return false; } diff --git a/indra/viewer_components/updater/tests/llupdaterservice_test.cpp b/indra/viewer_components/updater/tests/llupdaterservice_test.cpp index 6f67fd0da0..8ffb5cacc2 100644 --- a/indra/viewer_components/updater/tests/llupdaterservice_test.cpp +++ b/indra/viewer_components/updater/tests/llupdaterservice_test.cpp @@ -1,4 +1,4 @@ -/** +/**    * @file   llupdaterservice_test.cpp   * @brief  Tests of llupdaterservice.cpp.   *  @@ -54,6 +54,10 @@ class LLDir_Mock : public LLDir  {  	void initAppDirs(const std::string &app_name,   		   			 const std::string& app_read_only_data_dir = "") {} +	U32 countFilesInDir(const std::string &dirname, const std::string &mask)  +	{ +		return 0; +	}  	void getRandomFileInDir(const std::string &dirname,   							const std::string &mask,  | 
