Skip to content
Snippets Groups Projects
Commit 1154d5af authored by Aura Linden's avatar Aura Linden
Browse files

Reverted boost/cocoa changes to purely Mountain Lion fixes.

parent 3b560d4c
No related branches found
No related tags found
No related merge requests found
/**
/**
* @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;
......
......@@ -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;
}
}
......
......@@ -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 @@ class LLDir_Mac : public LLDir
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
......
......@@ -45,6 +45,7 @@ class LLDir_stub : public LLDir
/*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; }
......
/**
/**
* @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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment