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 * Luke Moore 00008 * Side Effects Software Inc 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: UT_UndoWorkerFinderTable.h 00015 * 00016 * COMMENTS: 00017 * This class maintains a table of undo worker finders. See 00018 * UT_UndoWorkerFinder.h for comments on how this class works. 00019 */ 00020 00021 #ifndef __UT_UndoWorkerFinderTable_h__ 00022 #define __UT_UndoWorkerFinderTable_h__ 00023 00024 #include "UT_API.h" 00025 #include "UT_HashTable.h" 00026 class UT_UndoWorkerFinderBase; 00027 00028 class UT_API UT_UndoWorkerFinderTable 00029 { 00030 public: 00031 static UT_UndoWorkerFinderTable &instance(); 00032 00033 void addWorkerFinder(UT_UndoWorkerFinderBase &worker_finder); 00034 void removeWorkerFinder(UT_UndoWorkerFinderBase &worker_finder); 00035 void *findOpaqueWorker(int undo_worker_id); 00036 00037 protected: 00038 UT_UndoWorkerFinderTable(); 00039 ~UT_UndoWorkerFinderTable(); 00040 00041 static UT_UndoWorkerFinderTable *ourInstance; 00042 00043 UT_HashTable myTable; 00044 int myNextUniqueId; 00045 }; 00046 00047 #endif
1.5.9