1 //
2 // Copyright 2006 The Android Open Source Project
3 //
4 // Some global defines that don't really merit their own header.
5 //
6 #ifndef __MAIN_H
7 #define __MAIN_H
8 
9 #include <utils/Log.h>
10 #include <utils/threads.h>
11 #include <utils/List.h>
12 #include <utils/Errors.h>
13 #include <utils/StrongPointer.h>
14 
15 #include "AaptAssets.h"
16 #include "ApkBuilder.h"
17 #include "Bundle.h"
18 #include "ResourceFilter.h"
19 #include "ZipFile.h"
20 
21 
22 /* Benchmarking Flag */
23 //#define BENCHMARK 1
24 
25 #if BENCHMARK
26     #include <time.h>
27 #endif /* BENCHMARK */
28 
29 class OutputSet;
30 
31 extern int doVersion(Bundle* bundle);
32 extern int doList(Bundle* bundle);
33 extern int doDump(Bundle* bundle);
34 extern int doAdd(Bundle* bundle);
35 extern int doRemove(Bundle* bundle);
36 extern int doPackage(Bundle* bundle);
37 extern int doCrunch(Bundle* bundle);
38 extern int doSingleCrunch(Bundle* bundle);
39 extern int runInDaemonMode(Bundle* bundle);
40 
41 extern int calcPercent(long uncompressedLen, long compressedLen);
42 
43 extern android::status_t writeAPK(Bundle* bundle,
44     const android::String8& outputFile,
45     const android::sp<OutputSet>& outputSet);
46 
47 extern android::status_t updatePreProcessedCache(Bundle* bundle);
48 
49 extern android::status_t buildResources(Bundle* bundle,
50     const sp<AaptAssets>& assets, sp<ApkBuilder>& builder);
51 
52 extern android::status_t writeResourceSymbols(Bundle* bundle,
53         const sp<AaptAssets>& assets, const String8& pkgName,
54         bool includePrivate, bool emitCallback);
55 
56 extern android::status_t writeProguardFile(Bundle* bundle, const sp<AaptAssets>& assets);
57 
58 extern bool isValidResourceType(const String8& type);
59 
60 extern status_t filterResources(Bundle* bundle, const sp<AaptAssets>& assets);
61 
62 int dumpResources(Bundle* bundle);
63 
64 status_t writeDependencyPreReqs(Bundle* bundle, const sp<AaptAssets>& assets,
65                                 FILE* fp, bool includeRaw);
66 
67 android::String8 parseResourceName(const String8& pathLeaf);
68 
69 #endif // __MAIN_H
70