// Copyright (c) 2011 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 PPAPI_CPP_DEV_MEMORY_DEV_H_
#define PPAPI_CPP_DEV_MEMORY_DEV_H_

#include "ppapi/c/pp_stdint.h"

/// @file
/// This file defines APIs related to memory management.

namespace pp {

/// APIs related to memory management, time, and threads.
class Memory_Dev {
 public:
  Memory_Dev() {}

  /// A function that allocates memory.
  ///
  /// @param[in] num_bytes A number of bytes to allocate.
  /// @return A pointer to the memory if successful, NULL If the
  /// allocation fails.
  void* MemAlloc(uint32_t num_bytes);

  /// A function that deallocates memory.
  ///
  /// @param[in] ptr A pointer to the memory to deallocate. It is safe to
  /// pass NULL to this function.
  void MemFree(void* ptr);
};

}  // namespace pp

#endif  // PPAPI_CPP_DEV_MEMORY_DEV_H_