1330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski/* 2330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * Copyright (C) 2015 The Android Open Source Project 3330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * 4330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 5330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * you may not use this file except in compliance with the License. 6330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * You may obtain a copy of the License at 7330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * 8330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 9330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * 10330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * Unless required by applicable law or agreed to in writing, software 11330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 12330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * See the License for the specific language governing permissions and 14330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski * limitations under the License. 15330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski */ 16330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski 17330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski#ifndef AAPT_DEBUG_H 18330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski#define AAPT_DEBUG_H 19330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski 20d13fb249865703901b77f48c5fed1864f06e1c63Adam Lesinski#include "Resource.h" 21330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski#include "ResourceTable.h" 22330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski 2352364f7ae31716d7827ea8f8566f4a28bd30a921Adam Lesinski// Include for printf-like debugging. 2452364f7ae31716d7827ea8f8566f4a28bd30a921Adam Lesinski#include <iostream> 2552364f7ae31716d7827ea8f8566f4a28bd30a921Adam Lesinski 26330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinskinamespace aapt { 27330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski 28355f285ffd000f6cfe76680eb22d010546d124bbAdam Lesinskistruct DebugPrintTableOptions { 29355f285ffd000f6cfe76680eb22d010546d124bbAdam Lesinski bool showSources = false; 30355f285ffd000f6cfe76680eb22d010546d124bbAdam Lesinski}; 31355f285ffd000f6cfe76680eb22d010546d124bbAdam Lesinski 32330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinskistruct Debug { 33355f285ffd000f6cfe76680eb22d010546d124bbAdam Lesinski static void printTable(ResourceTable* table, const DebugPrintTableOptions& options = {}); 341ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski static void printStyleGraph(ResourceTable* table, 35d13fb249865703901b77f48c5fed1864f06e1c63Adam Lesinski const ResourceName& targetStyle); 3652364f7ae31716d7827ea8f8566f4a28bd30a921Adam Lesinski static void dumpHex(const void* data, size_t len); 37330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski}; 38330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski 39330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski} // namespace aapt 40330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski 41330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski#endif // AAPT_DEBUG_H 42