Home | History | Annotate | Download | only in src
      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 
     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 
     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 
     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 
     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 
     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 
     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 
     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 
     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 
    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 
    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 
    127 ESR_ReturnCode ArrayListDestroy(ArrayList* self)
    128 {
    129   if (self == NULL)
    130     return ESR_INVALID_ARGUMENT;
    131   return self->destroy(self);
    132 }
    133