1862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang/*
2862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * Copyright 2012, The Android Open Source Project
3862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang *
4862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * Licensed under the Apache License, Version 2.0 (the "License");
5862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * you may not use this file except in compliance with the License.
6862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * You may obtain a copy of the License at
7862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang *
8862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang *     http://www.apache.org/licenses/LICENSE-2.0
9862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang *
10862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * Unless required by applicable law or agreed to in writing, software
11862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * distributed under the License is distributed on an "AS IS" BASIS,
12862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * See the License for the specific language governing permissions and
14862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang * limitations under the License.
15862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang */
16862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang
17862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang#ifndef BCC_EXECUTION_ENGINE_BCC_RUNTIME_SYMBOL_RESOLVERS_H
18862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang#define BCC_EXECUTION_ENGINE_BCC_RUNTIME_SYMBOL_RESOLVERS_H
19862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang
20c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#include "bcc/ExecutionEngine/SymbolResolvers.h"
21862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang
22862f3ba997e14b61dce9d341a75688951e67fd1bZonr Changnamespace bcc {
23862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang
24862f3ba997e14b61dce9d341a75688951e67fd1bZonr Changclass BCCRuntimeSymbolResolver :
25862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang  public ArraySymbolResolver<BCCRuntimeSymbolResolver> {
26862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang  typedef ArraySymbolResolver<BCCRuntimeSymbolResolver> super;
27862f3ba997e14b61dce9d341a75688951e67fd1bZonr Changpublic:
28862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang  // SymbolArray and NumSymbols are required to be define in the
29862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang  // subclass of ArraySymbolResolver.
30862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang  static const SymbolMap SymbolArray[];
31862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang  static const size_t NumSymbols;
32862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang
33862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang  BCCRuntimeSymbolResolver() : super(/* pSorted */true) { }
34862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang};
35862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang
36862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang} // end namespace bcc
37862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang
38862f3ba997e14b61dce9d341a75688951e67fd1bZonr Chang#endif // BCC_EXECUTION_ENGINE_BCC_RUNTIME_SYMBOL_RESOLVERS_H
39