1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef SANDBOX_LINUX_TESTS_SCOPED_TEMPORARY_FILE_H_ 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define SANDBOX_LINUX_TESTS_SCOPED_TEMPORARY_FILE_H_ 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/macros.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace sandbox { 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Creates and open a temporary file on creation and closes 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// and removes it on destruction. 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Unlike base/ helpers, this does not require JNI on Android. 14116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ScopedTemporaryFile { 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public: 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ScopedTemporaryFile(); 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ~ScopedTemporaryFile(); 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch int fd() const { return fd_; } 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const char* full_file_name() const { return full_file_name_; } 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private: 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch int fd_; 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch char full_file_name_[128]; 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DISALLOW_COPY_AND_ASSIGN(ScopedTemporaryFile); 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}; 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace sandbox 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif // SANDBOX_LINUX_TESTS_SCOPED_TEMPORARY_FILE_H_ 31