00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Edward Lam 00008 * Side Effects 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: OP_MultiChannel.h (Operator library, C++) 00015 * 00016 * COMMENTS: Derives from OP_MultiChannel to know about node owners as a 00017 * complement to OP_Channels. 00018 * 00019 */ 00020 00021 #ifndef __OP_MultiChannel_h__ 00022 #define __OP_MultiChannel_h__ 00023 00024 #include "OP_API.h" 00025 #include <CH/CH_MultiChannel.h> 00026 00027 class OP_Node; 00028 00029 class OP_API OP_MultiChannel : public CH_MultiChannel 00030 { 00031 public: 00032 OP_MultiChannel(); 00033 explicit OP_MultiChannel( const char *name ); 00034 00035 typedef void (*OwnerCallback)( void *data, OP_Node *owner ); 00036 void traverseOwners( OwnerCallback callback, void *data ) const; 00037 void handleNodeDeleted( OP_Node *node ); 00038 }; 00039 00040 typedef UT_RefArray<OP_MultiChannel> OP_MultiChannelRefArray; 00041 00042 #endif // __OP_MultiChannel_h__ 00043
1.5.9