xref: /trunk/main/autodoc/source/ary/loc/loca_le.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef ARY_LOC_LOCA_LE_HXX
29 #define ARY_LOC_LOCA_LE_HXX
30 
31 // BASE CLASSES
32 #include <ary/loc/locp_le.hxx>
33 
34 namespace ary
35 {
36 namespace loc
37 {
38     class Le_Storage;
39 }
40 }
41 
42 
43 
44 
45 namespace ary
46 {
47 namespace loc
48 {
49 
50 
51 /** Provides access to files and directories stored in the
52     repository.
53 */
54 class LocationAdmin : public LocationPilot
55 {
56   public:
57                         LocationAdmin();
58     virtual              ~LocationAdmin();
59 
60     // INHERITED
61         // Interface LocationPilot:
62     virtual Root &      CheckIn_Root(
63                             const csv::ploc::Path &
64                                                 i_rPath );
65     virtual File &      CheckIn_File(
66                             const String  &     i_name,
67                             const csv::ploc::DirectoryChain &
68                                                 i_subPath,
69                             Le_id               i_root );
70 
71     virtual Root &      Find_Root(
72                             Le_id               i_id ) const;
73     virtual Directory & Find_Directory(
74                             Le_id               i_id ) const;
75     virtual File &      Find_File(
76                             Le_id               i_id ) const;
77   private:
78     // Locals
79     Le_Storage &        Storage() const;
80     Directory &         CheckIn_Directory(
81                             Directory &         io_parent,
82                             const String &      i_name );
83     Directory &         CheckIn_Directories(
84                             Directory &         io_root,
85                             StringVector::const_iterator
86                                                 i_beginSubPath,
87                             StringVector::const_iterator
88                                                 i_endSubPath );
89     // DATA
90     Dyn<Le_Storage>     pStorage;
91 };
92 
93 
94 
95 
96 }   // namespace loc
97 }   // namespace ary
98 #endif
99