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 * Side Effects Software Inc 00008 * 477 Richmond Street West 00009 * Toronto, Ontario 00010 * Canada M5V 3E7 00011 * 416-504-9876 00012 * 00013 * NAME: PI_OHLGroup.h.h ( PI Library, C++) 00014 * 00015 * COMMENTS: 00016 * 00017 * Abstraction for a group of PIs. 00018 */ 00019 00020 #ifndef __PI_OHLGroup__ 00021 #define __PI_OHLGroup__ 00022 00023 #include "PI_API.h" 00024 #include <UT/UT_PtrArray.h> 00025 #include <UT/UT_String.h> 00026 00027 class PI_Manager; 00028 class PI_OHLPersistent; 00029 00030 class PI_API PI_OHLGroup 00031 { 00032 public: 00033 int getNumPIs() const; 00034 PI_OHLPersistent *getPI(int index) const; 00035 00036 bool contains(const PI_OHLPersistent *o) const; 00037 00038 const UT_String &getName() const; 00039 void setName(const char *name); 00040 00041 void hidePIs() const; 00042 void exposePIs() const; 00043 00044 private: 00045 PI_OHLGroup(PI_Manager *manager, const char *name); 00046 virtual ~PI_OHLGroup(); 00047 00048 // This function is for reordering the PIs. Only the PI_Manager should 00049 // call it. And the inputs must be guaranteed valid. 00050 void swapPIs(int idx1, int idx2); 00051 00052 PI_Manager *myManager; 00053 UT_String myName; 00054 UT_PtrArray<PI_OHLPersistent *> myOpHandleLinks; 00055 00056 friend class PI_Manager; 00057 }; 00058 00059 #endif 00060
1.5.9