nsresult rv; rv = NS_NewISupportsArray(getter_AddRefs(mObservers)); if (NS_FAILED(rv)) return rv;
InMemoryDataSource::Init(){    PL_DHashTableInit(&mForwardArcs,                      PL_DHashGetStubOps(),                      nsnull,                      sizeof(Entry),                      PL_DHASH_MIN_SIZE);    PL_DHashTableInit(&mReverseArcs,                      PL_DHashGetStubOps(),                      nsnull,                      sizeof(Entry),                      PL_DHASH_MIN_SIZE);#ifdef MOZ_THREADSAFE_RDF    mLock = PR_NewLock();    if (! mLock)        return NS_ERROR_OUT_OF_MEMORY;#endif#ifdef PR_LOGGING    if (! gLog)        gLog = PR_NewLogModule("InMemoryDataSource");#endif    return NS_OK;}