//************************************************************************************** // Filename: CFDataArray.h // Part of Contextual Menu Workshop by Abracode Inc. // http://free.abracode.com/cmworkshop/ // Copyright © 2002-2003 Abracode, Inc. All rights reserved. // // Description: CFArray-based list of items // Design goals: // - not to throw // - load and save data to preferences file via CFPreferences // - the object does own the array and deletes it // - list is unsorted // - duplicates are not eliminated // //************************************************************************************** // Revision History: // Monday, August 19, 2002 - Original //************************************************************************************** #pragma once #include "CFArray.h" class CFDataArray { public: CFDataArray(); CFDataArray(CFStringRef inKey, CFStringRef inPrefsIdentifier); virtual ~CFDataArray(); CFIndex GetCount() const; virtual void AddItem(const void *inData, CFIndex inSize); virtual void RemoveItemAt(CFIndex inIndex); virtual void RemoveAllItems(); virtual Boolean FetchItemAt(CFIndex inIndex, void *ioItemBuff, CFIndex &ioBuffSize) const; virtual void LoadArrayFromPrefs(CFStringRef inKey, CFStringRef inPrefsIdentifier); virtual void SaveArrayToPrefs(CFStringRef inKey, CFStringRef inPrefsIdentifier) const; protected: CFMutableArrayRef mArray; private: CFDataArray(const CFDataArray&); CFDataArray& operator=(const CFDataArray&); };