Main.h revision 282e181b58cf72b6ca770dc7ca5f91f135444502
1282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski//
2282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski// Copyright 2006 The Android Open Source Project
3282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski//
4282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski// Some global defines that don't really merit their own header.
5282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski//
6282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#ifndef __MAIN_H
7282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#define __MAIN_H
8282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
9282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/Log.h>
10282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/threads.h>
11282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/List.h>
12282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include <utils/Errors.h>
13282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include "Bundle.h"
14282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include "AaptAssets.h"
15282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#include "ZipFile.h"
16282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
17282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
18282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski/* Benchmarking Flag */
19282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski//#define BENCHMARK 1
20282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
21282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#if BENCHMARK
22282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    #include <time.h>
23282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#endif /* BENCHMARK */
24282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
25282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doVersion(Bundle* bundle);
26282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doList(Bundle* bundle);
27282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doDump(Bundle* bundle);
28282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doAdd(Bundle* bundle);
29282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doRemove(Bundle* bundle);
30282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doPackage(Bundle* bundle);
31282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doCrunch(Bundle* bundle);
32282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int doSingleCrunch(Bundle* bundle);
33282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
34282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern int calcPercent(long uncompressedLen, long compressedLen);
35282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
36282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t writeAPK(Bundle* bundle,
37282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    const sp<AaptAssets>& assets,
38282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    const android::String8& outputFile);
39282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
40282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t updatePreProcessedCache(Bundle* bundle);
41282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
42282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t buildResources(Bundle* bundle,
43282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    const sp<AaptAssets>& assets);
44282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
45282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t writeResourceSymbols(Bundle* bundle,
46282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    const sp<AaptAssets>& assets, const String8& pkgName, bool includePrivate);
47282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
48282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern android::status_t writeProguardFile(Bundle* bundle, const sp<AaptAssets>& assets);
49282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
50282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern bool isValidResourceType(const String8& type);
51282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
52282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskissize_t processAssets(Bundle* bundle, ZipFile* zip, const sp<AaptAssets>& assets);
53282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
54282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiextern status_t filterResources(Bundle* bundle, const sp<AaptAssets>& assets);
55282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
56282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiint dumpResources(Bundle* bundle);
57282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
58282e181b58cf72b6ca770dc7ca5f91f135444502Adam LesinskiString8 getAttribute(const ResXMLTree& tree, const char* ns,
59282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski                            const char* attr, String8* outError);
60282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
61282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskistatus_t writeDependencyPreReqs(Bundle* bundle, const sp<AaptAssets>& assets,
62282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski                                FILE* fp, bool includeRaw);
63282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski#endif // __MAIN_H
64