Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
NS_IMETHODIMP
morkObject::IsOpenMdbObject(nsIMdbEnv* mev, mdb_bool* outOpen)
{
  *outOpen = IsOpenNode();
  return NS_OK;
}