Add GNU LGPL headers to all .c .C and .h files
[oweals/cde.git] / cde / programs / dtappbuilder / src / libABobj / obj_lists.c
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 /*
25  *      $XConsortium: obj_lists.c /main/3 1995/11/06 18:36:17 rswiston $
26  *
27  *      @(#)obj_lists.c 1.3 09 Sep 1994 cde_app_builder/src/libABobj
28  *
29  *      RESTRICTED CONFIDENTIAL INFORMATION:
30  *      
31  *      The information in this document is subject to special
32  *      restrictions in a confidential disclosure agreement between
33  *      HP, IBM, Sun, USL, SCO and Univel.  Do not distribute this
34  *      document outside HP, IBM, Sun, USL, SCO, or Univel without
35  *      Sun's specific written approval.  This document and all copies
36  *      and derivative works thereof must be returned or destroyed at
37  *      Sun's request.
38  *
39  *      Copyright 1993 Sun Microsystems, Inc.  All rights reserved.
40  *
41  */
42
43
44 /*
45  *  obj_lists.c
46  *
47  * Handles internal lists of objects
48  */
49
50 #include "objP.h"
51
52 /*************************************************************************
53 **                                                                      **
54 **       Constants (#define and const)                                  **
55 **                                                                      **
56 **************************************************************************/
57
58 /*************************************************************************
59 **                                                                      **
60 **       Private Functions (C declarations and macros)                  **
61 **                                                                      **
62 **************************************************************************/
63
64 static ABObj find_obj_in_list(ABObj *list, ABObj obj);
65
66 /*************************************************************************
67 **                                                                      **
68 **       Data                                                           **
69 **                                                                      **
70 **************************************************************************/
71
72 ABObjList       objP_all_objs_list = NULL;
73
74 /*************************************************************************
75 **                                                                      **
76 **       Function Definitions                                           **
77 **                                                                      **
78 **************************************************************************/
79
80 int
81 objP_lists_add(ABObj obj)
82 {
83     int         return_value = 0;
84
85     if (objP_all_objs_list == NULL)
86     {
87         objP_all_objs_list = objlist_create();
88         objlist_set_is_unique(objP_all_objs_list, TRUE);
89         if (objP_all_objs_list == NULL)
90         {
91             return ERR_NO_MEMORY;
92         }
93     }
94
95     return_value = objlist_add_obj(objP_all_objs_list, obj, NULL);
96
97     return return_value;
98 }
99
100
101 int
102 objP_lists_remove(ABObj obj)
103 {
104     int         return_value = 0;
105
106     if (objP_all_objs_list == NULL)
107     {
108         return 0;
109     }
110     return_value = objlist_remove_obj(objP_all_objs_list, obj);
111
112     return return_value;
113 }
114
115