Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Protected Attributes
AutoMarkingPtr Class Reference

#include <xpcprivate.h>

Collaboration diagram for AutoMarkingPtr:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AutoMarkingPtr (XPCCallContext &ccx)
virtual ~AutoMarkingPtr ()
void Link ()
void Unlink ()
AutoMarkingPtrGetNext ()
virtual void MarkBeforeJSFinalize (JSContext *cx)=0
virtual void MarkAfterJSFinalize ()=0

Protected Attributes

AutoMarkingPtrmNext
XPCPerThreadDatamTLS

Detailed Description

Definition at line 3361 of file xpcprivate.h.


Constructor & Destructor Documentation

Definition at line 3364 of file xpcprivate.h.

        : mNext(nsnull), mTLS(ccx.GetThreadData()) {Link();}

Here is the call graph for this function:

virtual AutoMarkingPtr::~AutoMarkingPtr ( ) [inline, virtual]

Definition at line 3367 of file xpcprivate.h.

{Unlink();}

Member Function Documentation

Definition at line 3385 of file xpcprivate.h.

{return mNext;}
void AutoMarkingPtr::Link ( ) [inline]

Definition at line 3369 of file xpcprivate.h.

        {if(!mTLS) return;
         AutoMarkingPtr** list = mTLS->GetAutoRootsAdr(); 
         mNext = *list; *list = this;}

Here is the call graph for this function:

virtual void AutoMarkingPtr::MarkAfterJSFinalize ( ) [pure virtual]

Here is the caller graph for this function:

virtual void AutoMarkingPtr::MarkBeforeJSFinalize ( JSContext cx) [pure virtual]

Here is the caller graph for this function:

Definition at line 3374 of file xpcprivate.h.

        {if(!mTLS) return;
         AutoMarkingPtr** cur = mTLS->GetAutoRootsAdr(); 
         while(*cur != this) {
            NS_ASSERTION(*cur, "This object not in list!");
            cur = &(*cur)->mNext;
         }
         *cur = mNext;
         mTLS = nsnull;
        }

Here is the caller graph for this function:


Member Data Documentation

Definition at line 3391 of file xpcprivate.h.

Definition at line 3392 of file xpcprivate.h.


The documentation for this class was generated from the following file: