IdAssigner.h revision 1ab598f46c3ff520a67f9d80194847741f3467ab
198aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski/* 298aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * Copyright (C) 2015 The Android Open Source Project 398aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * 498aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 598aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * you may not use this file except in compliance with the License. 698aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * You may obtain a copy of the License at 798aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * 898aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 998aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * 1098aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * Unless required by applicable law or agreed to in writing, software 1198aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 1298aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1398aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * See the License for the specific language governing permissions and 1498aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski * limitations under the License. 1598aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski */ 1698aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski 171ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski#ifndef AAPT_COMPILE_IDASSIGNER_H 181ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski#define AAPT_COMPILE_IDASSIGNER_H 1998aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski 201ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski#include "process/IResourceTableConsumer.h" 2198aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski 2298aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinskinamespace aapt { 2398aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski 241ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski/** 251ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski * Assigns IDs to each resource in the table, respecting existing IDs and filling in gaps 261ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski * in between fixed ID assignments. 271ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski */ 281ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinskistruct IdAssigner : public IResourceTableConsumer { 291ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski bool consume(IAaptContext* context, ResourceTable* table) override; 3098aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski}; 3198aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski 3298aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski} // namespace aapt 3398aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski 341ab598f46c3ff520a67f9d80194847741f3467abAdam Lesinski#endif /* AAPT_COMPILE_IDASSIGNER_H */ 35