Main.h revision ad2d07d2d98a46babb2a9472413fe9ce5080ca76
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
29class OutputSet;
30
31extern int doVersion(Bundle* bundle);
32extern int doList(Bundle* bundle);
33extern int doDump(Bundle* bundle);
34extern int doAdd(Bundle* bundle);
35extern int doRemove(Bundle* bundle);
36extern int doPackage(Bundle* bundle);
37extern int doCrunch(Bundle* bundle);
38extern int doSingleCrunch(Bundle* bundle);
39
40extern int calcPercent(long uncompressedLen, long compressedLen);
41
42extern android::status_t writeAPK(Bundle* bundle,
43    const android::String8& outputFile,
44    const android::sp<OutputSet>& outputSet);
45
46extern android::status_t updatePreProcessedCache(Bundle* bundle);
47
48extern android::status_t buildResources(Bundle* bundle,
49    const sp<AaptAssets>& assets, sp<ApkBuilder>& builder);
50
51extern android::status_t writeResourceSymbols(Bundle* bundle,
52        const sp<AaptAssets>& assets, const String8& pkgName,
53        bool includePrivate, bool emitCallback);
54
55extern android::status_t writeProguardFile(Bundle* bundle, const sp<AaptAssets>& assets);
56
57extern bool isValidResourceType(const String8& type);
58
59extern status_t filterResources(Bundle* bundle, const sp<AaptAssets>& assets);
60
61int dumpResources(Bundle* bundle);
62
63status_t writeDependencyPreReqs(Bundle* bundle, const sp<AaptAssets>& assets,
64                                FILE* fp, bool includeRaw);
65#endif // __MAIN_H
66