3 #include "nsServiceManagerUtils.h"
4 #include "nsMemoryReporterManager.h"
6 #include "nsArrayEnumerator.h"
8 NS_IMPL_ISUPPORTS1(nsMemoryReporterManager
, nsIMemoryReporterManager
)
11 nsMemoryReporterManager::EnumerateReporters(nsISimpleEnumerator
**result
)
13 return NS_NewArrayEnumerator(result
, mReporters
);
17 nsMemoryReporterManager::RegisterReporter(nsIMemoryReporter
*reporter
)
19 if (mReporters
.IndexOf(reporter
) != -1)
20 return NS_ERROR_FAILURE
;
22 mReporters
.AppendObject(reporter
);
27 nsMemoryReporterManager::UnregisterReporter(nsIMemoryReporter
*reporter
)
29 if (!mReporters
.RemoveObject(reporter
))
30 return NS_ERROR_FAILURE
;
36 NS_RegisterMemoryReporter (nsIMemoryReporter
*reporter
)
38 nsCOMPtr
<nsIMemoryReporterManager
> mgr
= do_GetService("@mozilla.org/memory-reporter-manager;1");
40 return NS_ERROR_FAILURE
;
41 return mgr
->RegisterReporter(reporter
);
45 NS_UnregisterMemoryReporter (nsIMemoryReporter
*reporter
)
47 nsCOMPtr
<nsIMemoryReporterManager
> mgr
= do_GetService("@mozilla.org/memory-reporter-manager;1");
49 return NS_ERROR_FAILURE
;
50 return mgr
->UnregisterReporter(reporter
);