Handlers.h revision 77b4a79dd845fa93027f458049a7f71402006414
1//===--- Handlers.h - Interfaces for receiving information ------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10//  Abstract interfaces for receiving information.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_CLANG_INDEX_HANDLERS_H
15#define LLVM_CLANG_INDEX_HANDLERS_H
16
17namespace clang {
18
19namespace idx {
20  class Entity;
21  class TranslationUnit;
22
23/// \brief Abstract interface for receiving Entities.
24class EntityHandler {
25public:
26  virtual ~EntityHandler();
27  virtual void Handle(Entity Ent) = 0;
28};
29
30/// \brief Abstract interface for receiving TranslationUnits.
31class TranslationUnitHandler {
32public:
33  virtual ~TranslationUnitHandler();
34  virtual void Handle(TranslationUnit *TU) = 0;
35};
36
37} // namespace idx
38
39} // namespace clang
40
41#endif
42