1 /** 2 * Copyright Mikael H�gdahl - triyana@users.sourceforge.net 3 * 4 * This source is distributed under the terms of the Q Public License version 1.0, 5 * created by Trolltech (www.trolltech.com). 6 */ 7 8 #ifndef SetItem_h 9 #define SetItem_h 10 11 #include <db/DBFactory.h> 12 #include <db/Security.h> 13 #include <MHString.h> 14 #include <MHVector.h> 15 16 class Set; 17 18 19 20 /** 21 * SetItem stores all names of security lists. 22 */ 23 class SetItem : public MH { 24 public: 25 enum { 26 SORT_ID, 27 SORT_SECURITY, 28 }; 29 SetItem()30 SetItem (){aSecurity = 0;} SetItem(const SetItem & x)31 SetItem (const SetItem& x) : MH() {aSecurityID = x.aSecurityID; aSecurity = x.aSecurity;} SetItem(int securityID)32 SetItem (int securityID) : MH () {SetSecurityID (securityID); aSecurity = 0;} 33 34 SetItem& operator=(const SetItem&); 35 bool operator==(const SetItem& x) {return aSecurityID == x.aSecurityID;} 36 bool operator!=(const SetItem& x) {return aSecurityID != x.aSecurityID;} 37 bool operator>(const SetItem& x) {return aSecurityID > x.aSecurityID;} 38 bool operator<(const SetItem& x) {return aSecurityID < x.aSecurityID;} 39 Compare(const MH * o,int type)40 int Compare (const MH* o, int type){if (type == SORT_ID) return compareID((SetItem*)o);else return compareSecurity((SetItem*)o);} 41 static void Export (Set* set, MHVector* ve, FILE* file); Find(SetItem * s,MHVector * ve)42 static SetItem* Find (SetItem* s, MHVector* ve) {SetItem* i = (SetItem*) ve->Find(s, 0, 0, 0); return ((i) ? i : 0);} GetSecurity()43 Security* GetSecurity () {return &aSecurity;} GetSecurityID()44 int GetSecurityID () {return aSecurityID;} 45 Security* LoadSecurity(); 46 static void LoadSecurities(MHVector* v); 47 static void Load (Set* set, MHVector* ve); 48 static void Remove (Set* set); 49 static void Save (Set* set, MHVector* ve); SetSecurityID(int id)50 void SetSecurityID (int id) {aSecurityID = id;} 51 static void Update (SetItem* setItem, MHVector* ve); 52 53 private: 54 int aSecurityID; 55 Security aSecurity; 56 57 int compareID (SetItem* o); 58 int compareSecurity (SetItem* o); 59 }; 60 61 #endif 62