mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 06:05:58 -06:00
50 lines
948 B
C++
50 lines
948 B
C++
#include "Android.h"
|
|
|
|
#define METHOD_NAME "AndroidManifest::" << UPP_FUNCTION_NAME << "(): "
|
|
|
|
namespace Upp {
|
|
|
|
AndroidManifest::AndroidManifest(const String& path)
|
|
: path(path)
|
|
{
|
|
}
|
|
|
|
AndroidManifest::~AndroidManifest()
|
|
{
|
|
}
|
|
|
|
bool AndroidManifest::Parse()
|
|
{
|
|
String xml = LoadFile(path);
|
|
if (xml.IsVoid()) {
|
|
Loge() << METHOD_NAME << "Failed to load manifest file \"" + path + "\".";
|
|
return false;
|
|
}
|
|
|
|
try {
|
|
XmlParser p(xml);
|
|
while(!p.IsTag()) {
|
|
p.Skip();
|
|
}
|
|
p.PassTag("manifest");
|
|
while (!p.End()) {
|
|
if(p.TagE("uses-sdk")) {
|
|
uses_sdk.Create();
|
|
|
|
uses_sdk->minSdkVersion = p.Int("android:minSdkVersion");
|
|
uses_sdk->targetSdkVersion = p.Int("android:targetSdkVersion");
|
|
uses_sdk->maxSdkVersion = p.Int("android:maxSdkVersion");
|
|
}
|
|
|
|
p.Skip();
|
|
}
|
|
}
|
|
catch(const XmlError& e) {
|
|
Loge() << METHOD_NAME << "Failed to parse manifest file with error \"" + e + "\".";
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|