Mercurial > projects > dwt-mac
comparison dwt/internal/mozilla/nsIMemory.d @ 125:5583f8eeee6c
Synced mozilla with dwt-linux
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Fri, 16 Jan 2009 12:49:08 +0100 |
parents | d8635bb48c7c |
children |
comparison
equal
deleted
inserted
replaced
124:540fa4e9974a | 125:5583f8eeee6c |
---|---|
1 /* ***** BEGIN LICENSE BLOCK ***** | |
2 * Version: MPL 1.1 | |
3 * | |
4 * The contents of this file are subject to the Mozilla Public License Version | |
5 * 1.1 (the "License"); you may not use this file except in compliance with | |
6 * the License. You may obtain a copy of the License at | |
7 * http://www.mozilla.org/MPL/ | |
8 * | |
9 * Software distributed under the License is distributed on an "AS IS" basis, | |
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License | |
11 * for the specific language governing rights and limitations under the | |
12 * License. | |
13 * | |
14 * The Original Code is Mozilla Communicator client code, released March 31, 1998. | |
15 * | |
16 * The Initial Developer of the Original Code is | |
17 * Netscape Communications Corporation. | |
18 * Portions created by Netscape are Copyright (C) 1998-1999 | |
19 * Netscape Communications Corporation. All Rights Reserved. | |
20 * | |
21 * Contributor(s): | |
22 * | |
23 * IBM | |
24 * - Binding to permit interfacing between Mozilla and DWT | |
25 * - Copyright (C) 2003, 2008 IBM Corp. All Rights Reserved. | |
26 * | |
27 * ***** END LICENSE BLOCK ***** */ | |
28 module dwt.internal.mozilla.nsIMemory; | 1 module dwt.internal.mozilla.nsIMemory; |
29 | 2 |
30 import dwt.dwthelper.utils; | 3 import dwt.internal.mozilla.Common; |
4 import dwt.internal.mozilla.nsID; | |
5 import dwt.internal.mozilla.nsISupports; | |
31 | 6 |
32 public class nsIMemory extends nsISupports { | 7 const char[] NS_IMEMORY_IID_STR = "59e7e77a-38e4-11d4-8cf5-0060b0fc14a3"; |
33 | 8 |
34 static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 5; | 9 const nsIID NS_IMEMORY_IID= |
10 {0x59e7e77a, 0x38e4, 0x11d4, | |
11 [ 0x8c, 0xf5, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 ]}; | |
35 | 12 |
36 public static final String NS_IMEMORY_IID_STR = | 13 interface nsIMemory : nsISupports { |
37 "59e7e77a-38e4-11d4-8cf5-0060b0fc14a3"; | 14 static const char[] IID_STR = NS_IMEMORY_IID_STR; |
15 static const nsIID IID = NS_IMEMORY_IID; | |
16 | |
17 extern(System): | |
18 void * Alloc(size_t size); | |
19 void * Realloc(void * ptr, size_t newSize); | |
20 void Free(void * ptr); | |
21 nsresult HeapMinimize(PRBool immediate); | |
22 nsresult IsLowMemory(PRBool *_retval); | |
23 } | |
38 | 24 |
39 public static final nsID NS_IMEMORY_IID = | |
40 new nsID(NS_IMEMORY_IID_STR); | |
41 | |
42 public nsIMemory(int /*long*/ address) { | |
43 super(address); | |
44 } | |
45 | |
46 public int Alloc(int size) { | |
47 return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), size); | |
48 } | |
49 | |
50 public int Realloc(int /*long*/ ptr, int newSize) { | |
51 return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), ptr, newSize); | |
52 } | |
53 | |
54 public int Free(int /*long*/ ptr) { | |
55 return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), ptr); | |
56 } | |
57 | |
58 public int HeapMinimize(int immediate) { | |
59 return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), immediate); | |
60 } | |
61 | |
62 public int IsLowMemory(int[] _retval) { | |
63 return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), _retval); | |
64 } | |
65 } |