// Copyright 2018 The Crashpad Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef CRASHPAD_TEST_SCOPED_GUARDED_PAGE_
#define CRASHPAD_TEST_SCOPED_GUARDED_PAGE_

#include "base/macros.h"

namespace crashpad {
namespace test {

//! \brief A RAII object that allocates a read-write page with an inacessible
//!     page following it.
//!
//! Upon construction, a mapping will be created. Failure to create the mapping
//! is fatal. On destruction, the mapping is freed.
//!
//! This object should not be used in multi-threded contexts, the POSIX
//! implementation can not be made thread-safe.
class ScopedGuardedPage {
 public:
  ScopedGuardedPage();
  ~ScopedGuardedPage();

  //! \brief Returns the address of the read-write page.
  //!
  //! \return The address of the read-write page.
  void* Pointer() const { return ptr_; }

 private:
  void* ptr_;
  DISALLOW_COPY_AND_ASSIGN(ScopedGuardedPage);
};

}  // namespace test
}  // namespace crashpad

#endif  // CRASHPAD_TEST_SCOPED_GUARDED_PAGE_
