using namespace std;
+class XMLNode;
class ResourceTable;
enum {
ResourceTable* table,
int options = XML_COMPILE_STANDARD_RESOURCE);
+status_t compileXmlFile(const sp<AaptAssets>& assets,
+ const sp<XMLNode>& xmlTree,
+ const sp<AaptFile>& target,
+ ResourceTable* table,
+ int options = XML_COMPILE_STANDARD_RESOURCE);
+
status_t compileResourceFile(Bundle* bundle,
const sp<AaptAssets>& assets,
const sp<AaptFile>& in,
const ResTable_config& defParams,
+ const bool overwrite,
ResourceTable* outTable);
struct AccessorCookie
const Vector<StringPool::entry_style_span>* style = NULL,
const ResTable_config* params = NULL,
const bool doSetIndex = false,
- const int32_t format = ResTable_map::TYPE_ANY);
+ const int32_t format = ResTable_map::TYPE_ANY,
+ const bool overwrite = false);
status_t startBag(const SourcePos& pos,
const String16& package,
const String16& name,
const String16& bagParent,
const ResTable_config* params = NULL,
+ bool overlay = false,
bool replace = false,
bool isId = false);
String16 getParent() const { return mParent; }
status_t makeItABag(const SourcePos& sourcePos);
-
+
+ status_t emptyBag(const SourcePos& sourcePos);
+
status_t setItem(const SourcePos& pos,
const String16& value,
const Vector<StringPool::entry_style_span>* style = NULL,
- int32_t format = ResTable_map::TYPE_ANY);
+ int32_t format = ResTable_map::TYPE_ANY,
+ const bool overwrite = false);
status_t addToBag(const SourcePos& pos,
const String16& key, const String16& value,
sp<Entry> getEntry(const String16& entry,
const SourcePos& pos,
const ResTable_config* config = NULL,
- bool doSetIndex = false);
+ bool doSetIndex = false,
+ bool overlay = false);
const SourcePos& getFirstPublicSourcePos() const { return *mFirstPublicSourcePos; }
const String16& type,
const String16& name,
const SourcePos& pos,
+ bool overlay,
const ResTable_config* config = NULL,
bool doSetIndex = false);
sp<const Entry> getEntry(uint32_t resID,