//************************************************************************************** // Filename: CEncodingArray.h // Copyright © 2000 Tomasz Kukielka. All rights reserved. // // Description: // //************************************************************************************** // Revision History: // Tuesday, May 16, 2000 - Original //************************************************************************************** #ifndef _H_CEncodingArray #define _H_CEncodingArray #pragma once #include #include struct EncAndNameRec { TextEncoding encoding; Str255 name;//pascal style string (but not all 255 chars are included in our array }; class CEncodingArray: public LVariableArray { public: CEncodingArray(); virtual ~CEncodingArray(); ArrayIndexT AddEncoding(TextEncoding inEncoding); ArrayIndexT FetchIndexByEncoding( TextEncoding inEncoding ); ArrayIndexT FetchIndexByEncodingBase( TextEncoding inEncoding ); Boolean FetchEncValueAt( ArrayIndexT inAtIndex, TextEncoding* outEnc) const; Boolean FetchEncNameAt( ArrayIndexT inAtIndex, Str255 outName) const; protected: }; // ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ class CEncNameComparator : public LComparator { public: CEncNameComparator(); virtual ~CEncNameComparator(); virtual SInt32 Compare( const void* inItemOne, const void* inItemTwo, UInt32 inSizeOne, UInt32 inSizeTwo) const; /* use inherited virtual Boolean IsEqualTo( const void* inItemOne, const void* inItemTwo, UInt32 inSizeOne, UInt32 inSizeTwo) const; */ virtual CEncNameComparator* Clone(); static CEncNameComparator* GetComparator(); protected: static CEncNameComparator* sEncNameComparator; }; // ΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡΡ class CEncValueComparator : public LComparator { public: CEncValueComparator(); virtual ~CEncValueComparator(); virtual SInt32 Compare( const void* inItemOne, const void* inItemTwo, UInt32 inSizeOne = 0, UInt32 inSizeTwo = 0) const; virtual Boolean IsEqualTo( const void* inItemOne, const void* inItemTwo, UInt32 inSizeOne, UInt32 inSizeTwo) const; virtual CEncValueComparator* Clone(); static CEncValueComparator* GetComparator(); protected: static CEncValueComparator* sEncValueComparator; }; #endif //_H_CEncodingArray