Issue #2678 - Define a new macro for CC isupports.

The main purpose of defining this is to make conversion of places that use
the non-CC variant easier.
This commit is contained in:
Moonchild 2025-01-17 15:16:54 +01:00 committed by roytam1
commit 5d82de9eb6

View file

@ -910,6 +910,20 @@ static NS_CYCLE_COLLECTION_INNERCLASS NS_CYCLE_COLLECTION_INNERNAME;
#define NS_CYCLE_COLLECTION_NOTE_EDGE_NAME CycleCollectionNoteEdgeName
/**
* Convenience macros for defining nISupports methods in a cycle collected class.
*/
#define NS_IMPL_QUERY_INTERFACE_CYCLE_COLLECTION_INHERITED(aClass, aSuper, ...) \
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(aClass) \
NS_INTERFACE_TABLE_INHERITED(aClass, __VA_ARGS__) \
NS_INTERFACE_TABLE_TAIL_INHERITING(aSuper)
#define NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(aClass, aSuper, ...) \
NS_IMPL_QUERY_INTERFACE_CYCLE_COLLECTION_INHERITED(aClass, aSuper, __VA_ARGS__) \
NS_IMPL_ADDREF_INHERITED(aClass, aSuper) \
NS_IMPL_RELEASE_INHERITED(aClass, aSuper)
// *** Fast IID comparison helper functions ***
/**
* Equivalency of the high three words where two IIDs have the same