]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/tools/toolutil/package.h
ICU-551.24.tar.gz
[apple/icu.git] / icuSources / tools / toolutil / package.h
index 50ee72e656bddf586cbcd9edb2a31e87b15a26e4..5c01be2a15781baa4e9caaf4ba0b77ceb97c31d1 100644 (file)
@@ -1,7 +1,7 @@
 /*
 *******************************************************************************
 *
-*   Copyright (C) 2005-2010, International Business Machines
+*   Copyright (C) 2005-2014, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
@@ -26,7 +26,7 @@
 // .dat package file representation ---------------------------------------- ***
 
 #define STRING_STORE_SIZE 100000
-#define MAX_PKG_NAME_LENGTH 32
+#define MAX_PKG_NAME_LENGTH 64
 
 typedef void CheckDependency(void *context, const char *itemName, const char *targetName);
 
@@ -51,6 +51,20 @@ public:
     /* Destructor. */
     ~Package();
 
+    /**
+     * Uses the prefix of the first entry of the package in readPackage(),
+     * rather than the package basename.
+     */
+    void setAutoPrefix() { doAutoPrefix=TRUE; }
+    /**
+     * Same as setAutoPrefix(), plus the prefix must end with the platform type letter.
+     */
+    void setAutoPrefixWithType() {
+        doAutoPrefix=TRUE;
+        prefixEndsWithType=TRUE;
+    }
+    void setPrefix(const char *p);
+
     /*
      * Read an existing .dat package file.
      * The header and item name strings are swapped into this object,
@@ -141,12 +155,15 @@ private:
 
     // data fields
     char inPkgName[MAX_PKG_NAME_LENGTH];
+    char pkgPrefix[MAX_PKG_NAME_LENGTH];
 
     uint8_t *inData;
     uint8_t header[1024];
     int32_t inLength, headerLength;
     uint8_t inCharset;
     UBool inIsBigEndian;
+    UBool doAutoPrefix;
+    UBool prefixEndsWithType;
 
     int32_t itemCount;
     int32_t itemMax;