Fix most warnings from GCJ
[jpcrr.git] / org / jpc / luaextensions / DelayedDelete.java
blob6812f066ee45b27af534113c81257a4d8c8108a5
1 /*
2 JPC-RR: A x86 PC Hardware Emulator
3 Release 1
5 Copyright (C) 2007-2009 Isis Innovation Limited
6 Copyright (C) 2009 H. Ilari Liusvaara
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License version 2 as published by
10 the Free Software Foundation.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 Based on JPC x86 PC Hardware emulator,
22 A project from the Physics Dept, The University of Oxford
24 Details about original JPC can be found at:
26 www-jpc.physics.ox.ac.uk
30 package org.jpc.luaextensions;
32 import mnj.lua.*;
34 import java.io.*;
36 import org.jpc.plugins.LuaPlugin;
37 import static org.jpc.Misc.tempname;
39 //Locking this class is used for preventing termination and when terminating.
40 public class DelayedDelete extends LuaPlugin.LuaResource
42 File object;
44 DelayedDelete(LuaPlugin plugin, String name)
46 super(plugin);
47 object = new File(name);
50 public void destroy() throws IOException
52 object.delete();
53 object = null;
56 public static int luaCB_random_temporary_name(Lua l, LuaPlugin plugin)
58 String name = tempname(l.checkString(2));
59 String fileName = l.checkString(1) + name;
60 new DelayedDelete(plugin, fileName);
61 l.push(name);
62 l.push(fileName);
63 return 2;