Disable all code related to libXp
[oweals/cde.git] / cde / programs / dtinfo / DtMmdb / api / base.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /*
24  * $XConsortium: base.h /main/4 1996/06/11 17:11:01 cde-hal $
25  *
26  * Copyright (c) 1992 HAL Computer Systems International, Ltd.
27  * All rights reserved.  Unpublished -- rights reserved under
28  * the Copyright Laws of the United States.  USE OF A COPYRIGHT
29  * NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
30  * OR DISCLOSURE.
31  * 
32  * THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE
33  * SECRETS OF HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.  USE,
34  * DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE
35  * PRIOR EXPRESS WRITTEN PERMISSION OF HAL COMPUTER SYSTEMS
36  * INTERNATIONAL, LTD.
37  * 
38  *                         RESTRICTED RIGHTS LEGEND
39  * Use, duplication, or disclosure by the Government is subject
40  * to the restrictions as set forth in subparagraph (c)(l)(ii)
41  * of the Rights in Technical Data and Computer Software clause
42  * at DFARS 252.227-7013.
43  *
44  *          HAL COMPUTER SYSTEMS INTERNATIONAL, LTD.
45  *                  1315 Dell Avenue
46  *                  Campbell, CA  95008
47  * 
48  */
49
50
51 #ifndef _base_h
52 #define _base_h 1
53
54 #include "object/cset.h"
55 #include "schema/object_dict.h"
56
57 #define MAP_FILE                "names.mmdb"
58 #define MAP_FILE_8_3            "bookcase.map"
59
60 #define DATA_FILE_SUFFIX        "dbd"
61 #define INDEX_FILE_SUFFIX       "dbi"
62
63 #define UIDSIZ 20
64
65 /*************************************/
66 // The base class
67 /*************************************/
68
69 class base : public primitive
70 {
71
72 public:
73    base(object_dict* dict);
74    base(object_dict* dict,
75         char** set_nms, char** list_nms,
76         const char* base_dir, const char* base_name, 
77         const char* base_desc, const char* base_uid
78        );
79    virtual ~base();
80
81    object_dict& get_obj_dict()  { return *f_obj_dict; };
82
83    const char* get_base_name() const { return base_name; };
84    const char* get_base_desc() const { return base_desc; };
85    const char* get_base_path() const { return base_path; };
86
87    const char* get_base_uid() const { return base_uid; };
88
89 protected:
90
91    char base_path[PATHSIZ];
92    char base_name[PATHSIZ];
93    char base_desc[PATHSIZ];
94    char base_uid[UIDSIZ];
95
96    char** info_base_set_names;
97    char** info_base_list_names;
98    int num_cset_ptrs;
99    int num_list_ptrs;
100
101    object_dict* f_obj_dict;
102 };
103
104 typedef base* basePtr;
105
106 #endif