morkEnv* morkFactory::GetInternalFactoryEnv(nsresult* outErr) { morkEnv* outEnv = 0; if (IsNode() && IsOpenNode() && IsFactory()) { morkEnv* fenv = &mFactory_Env; if (fenv && fenv->IsNode() && fenv->IsOpenNode() && fenv->IsEnv()) { fenv->ClearMorkErrorsAndWarnings(); // drop any earlier errors outEnv = fenv; } else *outErr = morkEnv_kBadFactoryEnvError; } else *outErr = morkEnv_kBadFactoryError; return outEnv; }
mdb_err morkNode::CloseMdbObject(morkEnv *ev) { // if only one ref, Handle_CutStrongRef will clean up better. if (mNode_Uses == 1) return CutStrongRef(ev); mdb_err outErr = 0; if ( IsNode() && IsOpenNode() ) { if ( ev ) { CloseMorkNode(ev); outErr = ev->AsErr(); } } return outErr; }
NS_IMETHODIMP morkObject::IsOpenMdbObject(nsIMdbEnv* mev, mdb_bool* outOpen) { *outOpen = IsOpenNode(); return NS_OK; }