Bump for 3.6-28
[LibreOffice.git] / autodoc / inc / ary / idl / i_namelookup.hxx
blobb4066a64ab4fe210086eaaa596cdfa771bfc8500
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #ifndef ARY_IDL_I_NAMELOOKUP_HXX
30 #define ARY_IDL_I_NAMELOOKUP_HXX
32 // BASE CLASSES
33 #include <ary/idl/i_types4idl.hxx>
35 // USED SERVICES
36 #include <ary/stdconstiter.hxx>
37 #include <ary/itrange.hxx>
38 #include <vector>
39 #include <map>
44 namespace ary
46 namespace idl
50 /** This class finds all occurrences in the current language of a
51 name in the repository.
53 class NameLookup
55 public:
56 struct NameProperties
58 NameProperties()
59 : nId(0),
60 nClass(0),
61 nOwner(0) {}
62 NameProperties(
63 Ce_id i_id,
64 ClassId i_class,
65 Ce_id i_owner )
66 : nId(i_id),
67 nClass(i_class),
68 nOwner(i_owner) {}
69 Ce_id nId;
70 ClassId nClass;
71 Ce_id nOwner;
74 /// Map from Name to NameProperties.
75 typedef std::multimap<String, NameProperties> Map_Names;
77 // LIFECYCLE
78 NameLookup();
79 ~NameLookup();
80 // OPERATIONS
81 void Add_Name(
82 const String & i_name,
83 Ce_id i_id,
84 ClassId i_class,
85 Ce_id i_owner );
86 private:
87 // DATA
88 Map_Names aNames;
94 } // namespace idl
95 } // namespace ary
96 #endif
98 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */