Back to index

lightning-sunbird  0.9+nobinonly
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
IID2NativeInterfaceMap Class Reference

#include <xpcmaps.h>

Collaboration diagram for IID2NativeInterfaceMap:
Collaboration graph
[legend]

List of all members.

Classes

struct  Entry

Public Member Functions

XPCNativeInterfaceFind (REFNSIID iid)
XPCNativeInterfaceAdd (XPCNativeInterface *iface)
void Remove (XPCNativeInterface *iface)
uint32 Count ()
uint32 Enumerate (JSDHashEnumerator f, void *arg)
 ~IID2NativeInterfaceMap ()

Static Public Member Functions

static IID2NativeInterfaceMapnewMap (int size)

Private Member Functions

 IID2NativeInterfaceMap ()
 IID2NativeInterfaceMap (int size)

Private Attributes

JSDHashTablemTable

Detailed Description

Definition at line 281 of file xpcmaps.h.


Constructor & Destructor Documentation

Definition at line 270 of file xpcmaps.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 265 of file xpcmaps.cpp.

{
    mTable = JS_NewDHashTable(&Entry::sOps, nsnull, sizeof(Entry), size);
}

Here is the call graph for this function:


Member Function Documentation

Definition at line 303 of file xpcmaps.h.

    {
        NS_PRECONDITION(iface,"bad param");
        const nsIID* iid = iface->GetIID();
        Entry* entry = (Entry*)
            JS_DHashTableOperate(mTable, iid, JS_DHASH_ADD);
        if(!entry)
            return nsnull;
        if(entry->key)
            return entry->value;
        entry->key = iid;
        entry->value = iface;
        return iface;
    }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 324 of file xpcmaps.h.

{return mTable->entryCount;}

Here is the caller graph for this function:

uint32 IID2NativeInterfaceMap::Enumerate ( JSDHashEnumerator  f,
void arg 
) [inline]

Definition at line 325 of file xpcmaps.h.

Here is the call graph for this function:

Definition at line 294 of file xpcmaps.h.

    {
        Entry* entry = (Entry*)
            JS_DHashTableOperate(mTable, &iid, JS_DHASH_LOOKUP);
        if(JS_DHASH_ENTRY_IS_FREE(entry))
            return nsnull;
        return entry->value;
    }

Here is the caller graph for this function:

Definition at line 256 of file xpcmaps.cpp.

{
    IID2NativeInterfaceMap* map = new IID2NativeInterfaceMap(size);
    if(map && map->mTable)
        return map;
    delete map;
    return nsnull;
}

Here is the call graph for this function:

Definition at line 318 of file xpcmaps.h.

    {
        NS_PRECONDITION(iface,"bad param");
        JS_DHashTableOperate(mTable, iface->GetIID(), JS_DHASH_REMOVE);
    }

Here is the call graph for this function:


Member Data Documentation

Definition at line 333 of file xpcmaps.h.


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