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