Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

rbdata.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 *
00004 *   Copyright (C) 1998-1999, International Business Machines
00005 *   Corporation and others.  All Rights Reserved.
00006 *
00007 *******************************************************************************
00008 *
00009 * File rbdata.h
00010 *
00011 * Modification History:
00012 *
00013 *   Date        Name        Description
00014 *   06/11/99    stephen     Creation. (Moved here from resbund.cpp)
00015 *******************************************************************************
00016 */
00017 
00018 #ifndef RBDATA_H
00019 #define RBDATA_H 1
00020 
00021 #include "unicode/utypes.h"
00022 #include "hash.h"
00023 #include "unicode/unistr.h"
00024 
00031 class ResourceBundleData
00032 {
00033 public:
00034   virtual ~ResourceBundleData() {}
00035   virtual UClassID getDynamicClassID(void) const = 0;
00036   UErrorCode fCreationStatus; 
00037 };
00038 
00040 class StringList : public ResourceBundleData
00041 {
00042 public:
00043   StringList();
00044   StringList(UnicodeString* adopted, int32_t count);
00045   virtual ~StringList();
00046   const UnicodeString& operator[](int32_t i) const;
00047   virtual UClassID getDynamicClassID(void) const;
00048   static UClassID getStaticClassID(void);
00049 
00050   static UClassID  fgClassID;
00051   int32_t         fCount;
00052   UnicodeString   *fStrings;
00053 };
00054 
00056 class String2dList : public ResourceBundleData
00057 {
00058 public:
00059   String2dList();
00060   String2dList(UnicodeString** adopted, int32_t rowCount, int32_t colCount);
00061   virtual ~String2dList();
00062   const UnicodeString& getString(int32_t rowIndex, int32_t colIndex);
00063   virtual UClassID getDynamicClassID(void) const;
00064   static UClassID getStaticClassID(void);
00065 
00066   static UClassID  fgClassID;
00067   int32_t         fRowCount;
00068   int32_t         fColCount;
00069   UnicodeString   **fStrings;
00070 };
00071 
00076 class TaggedList : public ResourceBundleData
00077 {
00078     Hashtable *hash;
00079 
00080 public:
00081     TaggedList();
00082     virtual ~TaggedList();
00083     
00084     void put(const UnicodeString& tag, const UnicodeString& data);
00085     const UnicodeString* get(const UnicodeString& tag) const;
00086     UBool nextElement(const UnicodeString*& key,
00087                        const UnicodeString*& value,
00088                        int32_t& pos) const;
00089     int32_t count() const;
00090 
00091     virtual UClassID getDynamicClassID(void) const;
00092     static UClassID getStaticClassID(void);
00093     
00094     static UClassID  fgClassID;
00095 };
00096 
00097 #endif

Generated at Tue Dec 5 17:55:30 2000 for ICU by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000