• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*---------------------------------------------------------------------------*
2  *  ArrayList.c  *
3  *                                                                           *
4  *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
5  *                                                                           *
6  *  Licensed under the Apache License, Version 2.0 (the 'License');          *
7  *  you may not use this file except in compliance with the License.         *
8  *                                                                           *
9  *  You may obtain a copy of the License at                                  *
10  *      http://www.apache.org/licenses/LICENSE-2.0                           *
11  *                                                                           *
12  *  Unless required by applicable law or agreed to in writing, software      *
13  *  distributed under the License is distributed on an 'AS IS' BASIS,        *
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
15  *  See the License for the specific language governing permissions and      *
16  *  limitations under the License.                                           *
17  *                                                                           *
18  *---------------------------------------------------------------------------*/
19 
20 
21 
22 #include "ArrayList.h"
23 #include "plog.h"
24 #include "pmemory.h"
25 
26 
ArrayListAdd(ArrayList * self,void * element)27 ESR_ReturnCode ArrayListAdd(ArrayList* self, void* element)
28 {
29   if (self == NULL)
30   {
31     PLogError(L("ESR_INVALID_ARGUMENT"));
32     return ESR_INVALID_ARGUMENT;
33   }
34   return self->add(self, element);
35 }
36 
ArrayListInsertAt(ArrayList * self,size_t index,void * element)37 ESR_ReturnCode ArrayListInsertAt(ArrayList* self, size_t index, void* element)
38 {
39   if (self == NULL)
40   {
41     PLogError(L("ESR_INVALID_ARGUMENT"));
42     return ESR_INVALID_ARGUMENT;
43   }
44   return self->insertAt(self, index, element);
45 }
46 
ArrayListRemove(ArrayList * self,void * element)47 ESR_ReturnCode ArrayListRemove(ArrayList* self, void* element)
48 {
49   if (self == NULL)
50   {
51     PLogError(L("ESR_INVALID_ARGUMENT"));
52     return ESR_INVALID_ARGUMENT;
53   }
54   return self->remove(self, element);
55 }
56 
ArrayListRemoveAtIndex(ArrayList * self,size_t index)57 ESR_ReturnCode ArrayListRemoveAtIndex(ArrayList* self, size_t index)
58 {
59   if (self == NULL)
60   {
61     PLogError(L("ESR_INVALID_ARGUMENT"));
62     return ESR_INVALID_ARGUMENT;
63   }
64   return self->removeAtIndex(self, index);
65 }
66 
ArrayListRemoveAll(ArrayList * self)67 ESR_ReturnCode ArrayListRemoveAll(ArrayList* self)
68 {
69   if (self == NULL)
70   {
71     PLogError(L("ESR_INVALID_ARGUMENT"));
72     return ESR_INVALID_ARGUMENT;
73   }
74   return self->removeAll(self);
75 }
76 
ArrayListContains(ArrayList * self,void * element,ESR_BOOL * exists)77 ESR_ReturnCode ArrayListContains(ArrayList* self, void* element, ESR_BOOL* exists)
78 {
79   if (self == NULL)
80   {
81     PLogError(L("ESR_INVALID_ARGUMENT"));
82     return ESR_INVALID_ARGUMENT;
83   }
84   return self->contains(self, element, exists);
85 }
86 
ArrayListGetSize(ArrayList * self,size_t * size)87 ESR_ReturnCode ArrayListGetSize(ArrayList* self, size_t* size)
88 {
89   if (self == NULL)
90   {
91     PLogError(L("ESR_INVALID_ARGUMENT"));
92     return ESR_INVALID_ARGUMENT;
93   }
94   return self->getSize(self, size);
95 }
96 
ArrayListGet(ArrayList * self,size_t index,void ** element)97 ESR_ReturnCode ArrayListGet(ArrayList* self, size_t index, void** element)
98 {
99   if (self == NULL)
100   {
101     PLogError(L("ESR_INVALID_ARGUMENT"));
102     return ESR_INVALID_ARGUMENT;
103   }
104   return self->get(self, index, element);
105 }
106 
ArrayListSet(ArrayList * self,size_t index,void * element)107 ESR_ReturnCode ArrayListSet(ArrayList* self, size_t index, void* element)
108 {
109   if (self == NULL)
110   {
111     PLogError(L("ESR_INVALID_ARGUMENT"));
112     return ESR_INVALID_ARGUMENT;
113   }
114   return self->set(self, index, element);
115 }
116 
ArrayListClone(ArrayList * self,ArrayList * clone)117 ESR_ReturnCode ArrayListClone(ArrayList* self, ArrayList* clone)
118 {
119   if (self == NULL)
120   {
121     PLogError(L("ESR_INVALID_ARGUMENT"));
122     return ESR_INVALID_ARGUMENT;
123   }
124   return self->clone(self, clone);
125 }
126 
ArrayListDestroy(ArrayList * self)127 ESR_ReturnCode ArrayListDestroy(ArrayList* self)
128 {
129   if (self == NULL)
130     return ESR_INVALID_ARGUMENT;
131   return self->destroy(self);
132 }
133