#include "nsCOMPtr.h" #include "nsIServiceManager.h" #include #include #include "nsIDOMParser.h" int main (int argc, char* argv[]) { nsresult rv; nsIServiceManager *servMgr; rv = NS_InitXPCOM2(&servMgr, nsnull, nsnull); if (NS_FAILED(rv)) return rv; { // CreateInstance with result { nsCOMPtr domParser; domParser = do_CreateInstance("@mozilla.org/xmlextras/domparser;1", &rv); NS_ENSURE_SUCCESS(rv, rv); } // CreateInstance without result { nsCOMPtr domParser; domParser = do_CreateInstance("@mozilla.org/xmlextras/domparser;1"); NS_ENSURE_TRUE(domParser, NS_ERROR_OUT_OF_MEMORY); } // CreateInstance in ctor with result { nsCOMPtr domParser(do_CreateInstance("@mozilla.org/xmlextras/domparser;1", &rv)); NS_ENSURE_SUCCESS(rv, rv); } // CreateInstance in ctor without result { nsCOMPtr domParser(do_CreateInstance("@mozilla.org/xmlextras/domparser;1")); NS_ENSURE_TRUE(domParser, NS_ERROR_OUT_OF_MEMORY); } } if (servMgr) { rv = NS_ShutdownXPCOM(servMgr); } return rv; }