xref: /trunk/main/autodoc/inc/cosv/plocroot.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
1*11c03c6dSDamjan Jovanovic /**************************************************************
2*11c03c6dSDamjan Jovanovic  *
3*11c03c6dSDamjan Jovanovic  * Licensed to the Apache Software Foundation (ASF) under one
4*11c03c6dSDamjan Jovanovic  * or more contributor license agreements.  See the NOTICE file
5*11c03c6dSDamjan Jovanovic  * distributed with this work for additional information
6*11c03c6dSDamjan Jovanovic  * regarding copyright ownership.  The ASF licenses this file
7*11c03c6dSDamjan Jovanovic  * to you under the Apache License, Version 2.0 (the
8*11c03c6dSDamjan Jovanovic  * "License"); you may not use this file except in compliance
9*11c03c6dSDamjan Jovanovic  * with the License.  You may obtain a copy of the License at
10*11c03c6dSDamjan Jovanovic  *
11*11c03c6dSDamjan Jovanovic  *   http://www.apache.org/licenses/LICENSE-2.0
12*11c03c6dSDamjan Jovanovic  *
13*11c03c6dSDamjan Jovanovic  * Unless required by applicable law or agreed to in writing,
14*11c03c6dSDamjan Jovanovic  * software distributed under the License is distributed on an
15*11c03c6dSDamjan Jovanovic  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*11c03c6dSDamjan Jovanovic  * KIND, either express or implied.  See the License for the
17*11c03c6dSDamjan Jovanovic  * specific language governing permissions and limitations
18*11c03c6dSDamjan Jovanovic  * under the License.
19*11c03c6dSDamjan Jovanovic  *
20*11c03c6dSDamjan Jovanovic  *************************************************************/
21*11c03c6dSDamjan Jovanovic 
22*11c03c6dSDamjan Jovanovic 
23*11c03c6dSDamjan Jovanovic 
24*11c03c6dSDamjan Jovanovic #ifndef CSV_PLOCROOT_HXX
25*11c03c6dSDamjan Jovanovic #define CSV_PLOCROOT_HXX
26*11c03c6dSDamjan Jovanovic 
27*11c03c6dSDamjan Jovanovic 
28*11c03c6dSDamjan Jovanovic // USED SERVICES
29*11c03c6dSDamjan Jovanovic     // BASE CLASSES
30*11c03c6dSDamjan Jovanovic     // COMPONENTS
31*11c03c6dSDamjan Jovanovic #include <cosv/string.hxx>
32*11c03c6dSDamjan Jovanovic     // PARAMETERS
33*11c03c6dSDamjan Jovanovic #include <cosv/csv_ostream.hxx>
34*11c03c6dSDamjan Jovanovic #include <cosv/persist.hxx>
35*11c03c6dSDamjan Jovanovic 
36*11c03c6dSDamjan Jovanovic 
37*11c03c6dSDamjan Jovanovic namespace csv
38*11c03c6dSDamjan Jovanovic {
39*11c03c6dSDamjan Jovanovic 
40*11c03c6dSDamjan Jovanovic class bostream;
41*11c03c6dSDamjan Jovanovic 
42*11c03c6dSDamjan Jovanovic 
43*11c03c6dSDamjan Jovanovic namespace ploc
44*11c03c6dSDamjan Jovanovic {
45*11c03c6dSDamjan Jovanovic 
46*11c03c6dSDamjan Jovanovic 
47*11c03c6dSDamjan Jovanovic class Root
48*11c03c6dSDamjan Jovanovic {
49*11c03c6dSDamjan Jovanovic   public:
50*11c03c6dSDamjan Jovanovic     virtual             ~Root();
51*11c03c6dSDamjan Jovanovic 
52*11c03c6dSDamjan Jovanovic     static DYN Root *   Create_(
53*11c03c6dSDamjan Jovanovic                             const char * &      o_sPathAfterRoot,
54*11c03c6dSDamjan Jovanovic                             const char *        i_sPath,
55*11c03c6dSDamjan Jovanovic                             const char *        i_sDelimiter = Delimiter() );
56*11c03c6dSDamjan Jovanovic 
57*11c03c6dSDamjan Jovanovic     virtual void        Get(                    /// Does not add a '\0' at the end,
58*11c03c6dSDamjan Jovanovic                             ostream &           o_rPath ) const = 0;
59*11c03c6dSDamjan Jovanovic     virtual void        Get(                    /// Does not add a '\0' at the end.
60*11c03c6dSDamjan Jovanovic                             bostream &          so_rPath ) const = 0;
61*11c03c6dSDamjan Jovanovic     virtual DYN Root *  CreateCopy() const = 0;
62*11c03c6dSDamjan Jovanovic     virtual const char *
63*11c03c6dSDamjan Jovanovic                         OwnDelimiter() const = 0;
64*11c03c6dSDamjan Jovanovic };
65*11c03c6dSDamjan Jovanovic 
66*11c03c6dSDamjan Jovanovic 
67*11c03c6dSDamjan Jovanovic 
68*11c03c6dSDamjan Jovanovic }   // namespace ploc
69*11c03c6dSDamjan Jovanovic }   // namespace csv
70*11c03c6dSDamjan Jovanovic 
71*11c03c6dSDamjan Jovanovic 
72*11c03c6dSDamjan Jovanovic 
73*11c03c6dSDamjan Jovanovic #endif
74