Version 3.6.0.4, tag libreoffice-3.6.0.4
[LibreOffice.git] / soltools / inc / gilacces.hxx
blobe0702daa93ccec54f8896a28e7866e1b74d41a38
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 SOLTOOLS_GILACCES_HXX
30 #define SOLTOOLS_GILACCES_HXX
34 class GenericInfoParseTypes
36 public:
37 enum E_Error
39 ok = 0,
40 cannot_open,
41 unexpected_eof,
42 syntax_error,
43 unexpected_list_end
49 /** This class is an abstract interface for a service, which
50 builds a memory structure out of a generic information
51 structure, read from a file or other stream.
53 There may be different implementations, which build different kinds
54 of memory structures.
56 class GenericInfoList_Builder
58 public:
59 typedef unsigned long UINT32;
61 virtual ~GenericInfoList_Builder() {}
63 virtual void AddKey(
64 const char * i_sKey,
65 UINT32 i_nKeyLength,
66 const char * i_sValue,
67 UINT32 i_nValueLength,
68 const char * i_sComment,
69 UINT32 i_nCommentLength ) = 0;
71 virtual void OpenList() = 0;
72 virtual void CloseList() = 0;
76 /** This class is an abstract interface for a service, which
77 returns the values of a generic information tree out of
78 a memory structure.
80 There may be different implementations, which browse different
81 kinds of memory structures.
83 class GenericInfoList_Browser
85 public:
86 virtual ~GenericInfoList_Browser() {}
88 virtual bool Start_CurList() = 0;
89 virtual bool NextOf_CurList() = 0;
91 virtual void Get_CurKey(
92 char * o_rKey ) const = 0;
93 virtual void Get_CurValue(
94 char * o_rValue ) const = 0;
95 virtual void Get_CurComment(
96 char * o_rComment ) const = 0;
97 virtual bool HasSubList_CurKey() const = 0;
99 virtual void Push_CurList() = 0;
100 virtual void Pop_CurList() = 0;
104 #endif
106 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */