diff options
Diffstat (limited to 'www/chromium/files/sandbox_freebsd.h')
-rw-r--r-- | www/chromium/files/sandbox_freebsd.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/www/chromium/files/sandbox_freebsd.h b/www/chromium/files/sandbox_freebsd.h new file mode 100644 index 000000000000..fffc6262c97f --- /dev/null +++ b/www/chromium/files/sandbox_freebsd.h @@ -0,0 +1,45 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef SANDBOX_POLICY_FREEBSD_SANDBOX_FREEBSD_H_ +#define SANDBOX_POLICY_FREEBSD_SANDBOX_FREEBSD_H_ + +#include "base/macros.h" +#include "base/memory/singleton.h" +#include "sandbox/policy/export.h" +#include "sandbox/policy/sandbox_type.h" + +namespace sandbox { +namespace policy { + +// A singleton class to represent and change our sandboxing state for the +// capsicum sandbox on FreeBSD. +class SANDBOX_POLICY_EXPORT SandboxFreeBSD { +public: + // Get our singleton instance. + static SandboxFreeBSD* GetInstance(); + + // Get a description for a sandbox type. + static std::string GetSandboxTypeInEnglish(SandboxType sandbox_type); + + // Initializing the Capsicum sandbox. + bool InitializeSandbox(SandboxType sandbox_type); + + // Testing whether the sandbox is enabled. + bool IsSandboxed(); + +private: + friend struct base::DefaultSingletonTraits<SandboxFreeBSD>; + + SandboxFreeBSD(); + ~SandboxFreeBSD(); + + bool initialize_sandbox_ran_; // InitializeSandbox() was called. + + DISALLOW_COPY_AND_ASSIGN(SandboxFreeBSD); +}; + +} // namespace policy +} // namespace sandbox + +#endif // SANDBOX_POLICY_FREBSD_SANDBOX_FREEBSD_H_ |