SandboxInitializationParameters.h [plain text]
#ifndef SandboxInitializationParameters_h
#define SandboxInitializationParameters_h
#include <wtf/Vector.h>
#include <wtf/text/WTFString.h>
#if PLATFORM(COCOA)
OBJC_CLASS NSString;
#endif
namespace WebKit {
class SandboxInitializationParameters {
WTF_MAKE_NONCOPYABLE(SandboxInitializationParameters);
public:
SandboxInitializationParameters();
~SandboxInitializationParameters();
#if PLATFORM(COCOA)
void addConfDirectoryParameter(const char* name, int confID);
void addPathParameter(const char* name, NSString *path);
void addPathParameter(const char* name, const char* path);
void addParameter(const char* name, const char* value);
const char* const* namedParameterArray() const;
size_t count() const;
const char* name(size_t index) const;
const char* value(size_t index) const;
enum ProfileSelectionMode {
UseDefaultSandboxProfilePath,
UseOverrideSandboxProfilePath,
UseSandboxProfile
};
ProfileSelectionMode mode() const { return m_profileSelectionMode; }
void setOverrideSandboxProfilePath(const String& path)
{
m_profileSelectionMode = UseOverrideSandboxProfilePath;
m_overrideSandboxProfilePathOrSandboxProfile = path;
}
const String& overrideSandboxProfilePath() const
{
ASSERT(m_profileSelectionMode == UseOverrideSandboxProfilePath);
return m_overrideSandboxProfilePathOrSandboxProfile;
}
void setSandboxProfile(const String& profile)
{
m_profileSelectionMode = UseSandboxProfile;
m_overrideSandboxProfilePathOrSandboxProfile = profile;
}
const String& sandboxProfile() const
{
ASSERT(m_profileSelectionMode == UseSandboxProfile);
return m_overrideSandboxProfilePathOrSandboxProfile;
}
void setSystemDirectorySuffix(const String& suffix) { m_systemDirectorySuffix = suffix; }
const String& systemDirectorySuffix() const { return m_systemDirectorySuffix; }
#endif
private:
#if PLATFORM(COCOA)
void appendPathInternal(const char* name, const char* path);
mutable Vector<const char*> m_namedParameters;
String m_systemDirectorySuffix;
ProfileSelectionMode m_profileSelectionMode;
String m_overrideSandboxProfilePathOrSandboxProfile;
#endif
};
#if !PLATFORM(COCOA)
SandboxInitializationParameters::SandboxInitializationParameters()
{
}
SandboxInitializationParameters::~SandboxInitializationParameters()
{
}
#endif
}
#endif // SandboxInitializationParameters_h