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 * George ElKoura 00008 * Side Effects Software, Inc. 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: CH_ChannelRefHashTable.h ( CH Library, C++) 00015 * 00016 * COMMENTS: 00017 * 00018 */ 00019 #ifndef __CH_ChannelRefHashTable_h__ 00020 #define __CH_ChannelRefHashTable_h__ 00021 00022 #include "CH_API.h" 00023 #include <UT/UT_HashTable.h> 00024 00025 class CH_ChannelRef; 00026 00027 00028 typedef void (*CH_ChannelRefCallback)(const CH_ChannelRef &chref, void *data); 00029 typedef bool (*CH_ChannelRefQueryCallback)(const CH_ChannelRef &chref, 00030 const UT_Thing &thing); 00031 00032 class CH_API CH_ChannelRefHashTable : public UT_HashTable 00033 { 00034 public: 00035 CH_ChannelRefHashTable(); 00036 virtual ~CH_ChannelRefHashTable(); 00037 00038 00039 /// Deletes all the symbols from the table that have the given node_id, 00040 /// returns the number of items deleted 00041 int deleteSymbolsWithNodeId(int node_id, 00042 CH_ChannelRefQueryCallback query_delete_callback = NULL, 00043 CH_ChannelRefCallback pre_delete_callback = NULL, 00044 void *pre_delete_user_data = NULL); 00045 }; 00046 00047 00048 #endif
1.5.9