]> git.saurik.com Git - android/aapt.git/blobdiff - XMLNode.h
am c1c55afb: am e67f8c8c: Merge "Normalize output from aapt d xmltree"
[android/aapt.git] / XMLNode.h
index 8c4243c53d2ee1bd98432a4a227043eabd703754..05624b7451766e8cb830210533214f0418f3511d 100644 (file)
--- a/XMLNode.h
+++ b/XMLNode.h
@@ -17,7 +17,7 @@ extern const char* const RESOURCES_ANDROID_NAMESPACE;
 
 bool isWhitespace(const char16_t* str);
 
 
 bool isWhitespace(const char16_t* str);
 
-String16 getNamespaceResourcePackage(String16 namespaceUri);
+String16 getNamespaceResourcePackage(String16 namespaceUri, bool* outIsPublic = NULL);
 
 status_t parseStyledString(Bundle* bundle,
                            const char* fileName,
 
 status_t parseStyledString(Bundle* bundle,
                            const char* fileName,
@@ -25,6 +25,7 @@ status_t parseStyledString(Bundle* bundle,
                            const String16& endTag,
                            String16* outString,
                            Vector<StringPool::entry_style_span>* outSpans,
                            const String16& endTag,
                            String16* outString,
                            Vector<StringPool::entry_style_span>* outSpans,
+                           bool isFormatted,
                            bool isPseudolocalizable);
 
 void printXMLBlock(ResXMLTree* block);
                            bool isPseudolocalizable);
 
 void printXMLBlock(ResXMLTree* block);
@@ -68,6 +69,8 @@ public:
     const String16& getElementName() const;
     const Vector<sp<XMLNode> >& getChildren() const;
 
     const String16& getElementName() const;
     const Vector<sp<XMLNode> >& getChildren() const;
 
+    const String8& getFilename() const;
+    
     struct attribute_entry {
         attribute_entry() : index(~(uint32_t)0), nameResId(0)
         {
     struct attribute_entry {
         attribute_entry() : index(~(uint32_t)0), nameResId(0)
         {
@@ -91,6 +94,10 @@ public:
 
     const Vector<attribute_entry>& getAttributes() const;
 
 
     const Vector<attribute_entry>& getAttributes() const;
 
+    const attribute_entry* getAttribute(const String16& ns, const String16& name) const;
+    
+    attribute_entry* editAttribute(const String16& ns, const String16& name);
+
     const String16& getCData() const;
 
     const String16& getComment() const;
     const String16& getCData() const;
 
     const String16& getComment() const;
@@ -98,8 +105,14 @@ public:
     int32_t getStartLineNumber() const;
     int32_t getEndLineNumber() const;
 
     int32_t getStartLineNumber() const;
     int32_t getEndLineNumber() const;
 
+    sp<XMLNode> searchElement(const String16& tagNamespace, const String16& tagName);
+    
+    sp<XMLNode> getChildElement(const String16& tagNamespace, const String16& tagName);
+    
     status_t addChild(const sp<XMLNode>& child);
 
     status_t addChild(const sp<XMLNode>& child);
 
+    status_t insertChildAt(const sp<XMLNode>& child, size_t index);
+
     status_t addAttribute(const String16& ns, const String16& name,
                           const String16& value);
 
     status_t addAttribute(const String16& ns, const String16& name,
                           const String16& value);
 
@@ -114,6 +127,8 @@ public:
 
     void removeWhitespace(bool stripAll=true, const char** cDataTags=NULL);
 
 
     void removeWhitespace(bool stripAll=true, const char** cDataTags=NULL);
 
+    void setUTF8(bool val) { mUTF8 = val; }
+
     status_t parseValues(const sp<AaptAssets>& assets, ResourceTable* table);
 
     status_t assignResourceIds(const sp<AaptAssets>& assets,
     status_t parseValues(const sp<AaptAssets>& assets, ResourceTable* table);
 
     status_t assignResourceIds(const sp<AaptAssets>& assets,
@@ -179,6 +194,9 @@ private:
     String8 mFilename;
     int32_t mStartLineNumber;
     int32_t mEndLineNumber;
     String8 mFilename;
     int32_t mStartLineNumber;
     int32_t mEndLineNumber;
+
+    // Encode compiled XML with UTF-8 StringPools?
+    bool mUTF8;
 };
 
 #endif
 };
 
 #endif