Back to index

lightning-sunbird  0.9+nobinonly
Defines | Functions | Variables
morkNode.cpp File Reference
#include "mdb.h"
#include "mork.h"
#include "morkNode.h"
#include "morkPool.h"
#include "morkEnv.h"
#include "morkHandle.h"

Go to the source code of this file.

Defines

#define morkUsage_do_static_init()   ( morkUsage_g_static_init_done = &morkUsage_g_static_init_target )
#define morkUsage_need_static_init()   ( morkUsage_g_static_init_done != &morkUsage_g_static_init_target )

Functions

void nsIMdbCompare_SlotStrongCompare (nsIMdbCompare *self, morkEnv *ev, nsIMdbCompare **ioSlot)
void nsIMdbFile_SlotStrongFile (nsIMdbFile *self, morkEnv *ev, nsIMdbFile **ioSlot)
void nsIMdbHeap_SlotStrongHeap (nsIMdbHeap *self, morkEnv *ev, nsIMdbHeap **ioSlot)

Variables

static morkUsage morkUsage_gHeap
static morkUsage morkUsage_gStack
static morkUsage morkUsage_gMember
static morkUsage morkUsage_gGlobal
static morkUsage morkUsage_gPool
static morkUsage morkUsage_gNone
static mork_u4 morkUsage_g_static_init_target
static mork_u4morkUsage_g_static_init_done
static const char morkNode_kBroken [] = "broken"

Define Documentation

Definition at line 93 of file morkNode.cpp.

Definition at line 96 of file morkNode.cpp.


Function Documentation

Definition at line 399 of file morkNode.cpp.

{
  nsIMdbEnv* menv = ev->AsMdbEnv();
  nsIMdbCompare* compare = *ioSlot;
  if ( self != compare )
  {
    if ( compare )
    {
      *ioSlot = 0;
      compare->CutStrongRef(menv);
    }
    if ( self && ev->Good() && (self->AddStrongRef(menv)==0) && ev->Good() )
      *ioSlot = self;
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void nsIMdbFile_SlotStrongFile ( nsIMdbFile self,
morkEnv ev,
nsIMdbFile **  ioSlot 
)

Definition at line 423 of file morkNode.cpp.

{
  nsIMdbFile* file = *ioSlot;
  if ( self != file )
  {
    if ( file )
    {
      *ioSlot = 0;
      NS_RELEASE(file);
    }
    if ( self && ev->Good() && (NS_ADDREF(self)>=0) && ev->Good() )
      *ioSlot = self;
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void nsIMdbHeap_SlotStrongHeap ( nsIMdbHeap self,
morkEnv ev,
nsIMdbHeap **  ioSlot 
)

Definition at line 444 of file morkNode.cpp.

{
  nsIMdbEnv* menv = ev->AsMdbEnv();
  nsIMdbHeap* heap = *ioSlot;
  if ( self != heap )
  {
    if ( heap )
    {
      *ioSlot = 0;
      heap->HeapCutStrongRef(menv);
    }
    if ( self && ev->Good() && (self->HeapAddStrongRef(menv)==0) && ev->Good() )
      *ioSlot = self;
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

const char morkNode_kBroken[] = "broken" [static]

Definition at line 655 of file morkNode.cpp.

Definition at line 91 of file morkNode.cpp.

Definition at line 90 of file morkNode.cpp.

Definition at line 75 of file morkNode.cpp.

Definition at line 66 of file morkNode.cpp.

Definition at line 72 of file morkNode.cpp.

Definition at line 81 of file morkNode.cpp.

Definition at line 78 of file morkNode.cpp.

Definition at line 69 of file morkNode.cpp.