19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project//
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// Copyright 2006 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project//
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// Some global defines that don't really merit their own header.
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project//
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#ifndef __MAIN_H
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define __MAIN_H
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
93b4062eeb01be33951ba214e027da523cf09f8b1Mathias Agopian#include <utils/Log.h>
103b4062eeb01be33951ba214e027da523cf09f8b1Mathias Agopian#include <utils/threads.h>
113b4062eeb01be33951ba214e027da523cf09f8b1Mathias Agopian#include <utils/List.h>
123b4062eeb01be33951ba214e027da523cf09f8b1Mathias Agopian#include <utils/Errors.h>
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "Bundle.h"
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "AaptAssets.h"
1555e3d60da5626752ffe1d15150d35ccb8fa644e7Mathias Agopian#include "ZipFile.h"
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int doVersion(Bundle* bundle);
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int doList(Bundle* bundle);
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int doDump(Bundle* bundle);
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int doAdd(Bundle* bundle);
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int doRemove(Bundle* bundle);
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int doPackage(Bundle* bundle);
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern int calcPercent(long uncompressedLen, long compressedLen);
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern android::status_t writeAPK(Bundle* bundle,
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    const sp<AaptAssets>& assets,
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    const android::String8& outputFile);
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern android::status_t buildResources(Bundle* bundle,
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    const sp<AaptAssets>& assets);
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern android::status_t writeResourceSymbols(Bundle* bundle,
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    const sp<AaptAssets>& assets, const String8& pkgName, bool includePrivate);
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
361553c82e084ac5763fb393857224145506771b99Joe Onoratoextern android::status_t writeProguardFile(Bundle* bundle, const sp<AaptAssets>& assets);
371553c82e084ac5763fb393857224145506771b99Joe Onorato
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern bool isValidResourceType(const String8& type);
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectssize_t processAssets(Bundle* bundle, ZipFile* zip, const sp<AaptAssets>& assets);
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern status_t filterResources(Bundle* bundle, const sp<AaptAssets>& assets);
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint dumpResources(Bundle* bundle);
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
461553c82e084ac5763fb393857224145506771b99Joe OnoratoString8 getAttribute(const ResXMLTree& tree, const char* ns,
471553c82e084ac5763fb393857224145506771b99Joe Onorato                            const char* attr, String8* outError);
481553c82e084ac5763fb393857224145506771b99Joe Onorato
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // __MAIN_H
50