1/*---------------------------------------------------------------------------* 2 * HashMap.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#include "HashMap.h" 21#include "HashMapImpl.h" 22#include "pmemory.h" 23#include <string.h> 24 25ESR_ReturnCode HashMapPut(HashMap* self, const LCHAR* key, void* value) 26{ 27 if (self == NULL) 28 return ESR_INVALID_ARGUMENT; 29 return self->put(self, key, value); 30} 31 32ESR_ReturnCode HashMapRemove(HashMap* self, const LCHAR* key) 33{ 34 if (self == NULL) 35 return ESR_INVALID_ARGUMENT; 36 return self->remove(self, key); 37} 38 39ESR_ReturnCode HashMapRemoveAndFree(HashMap* self, const LCHAR* key) 40{ 41 if (self == NULL) 42 return ESR_INVALID_ARGUMENT; 43 return self->removeAndFree(self, key); 44} 45 46ESR_ReturnCode HashMapRemoveAtIndex(HashMap* self, const size_t index) 47{ 48 if (self == NULL) 49 return ESR_INVALID_ARGUMENT; 50 return self->removeAtIndex(self, index); 51} 52 53ESR_ReturnCode HashMapRemoveAll(HashMap* self) 54{ 55 if (self == NULL) 56 return ESR_INVALID_ARGUMENT; 57 return self->removeAll(self); 58} 59 60ESR_ReturnCode HashMapRemoveAndFreeAll(HashMap* self) 61{ 62 if (self == NULL) 63 return ESR_INVALID_ARGUMENT; 64 return self->removeAndFreeAll(self); 65} 66 67ESR_ReturnCode HashMapContainsKey(HashMap* self, const LCHAR* key, ESR_BOOL* exists) 68{ 69 if (self == NULL) 70 return ESR_INVALID_ARGUMENT; 71 return self->containsKey(self, key, exists); 72} 73 74ESR_ReturnCode HashMapGetSize(HashMap* self, size_t* size) 75{ 76 if (self == NULL) 77 return ESR_INVALID_ARGUMENT; 78 return self->getSize(self, size); 79} 80 81ESR_ReturnCode HashMapGet(HashMap* self, const LCHAR* key, void** value) 82{ 83 if (self == NULL) 84 return ESR_INVALID_ARGUMENT; 85 return self->get(self, key, value); 86} 87 88ESR_ReturnCode HashMapGetKeyAtIndex(HashMap* self, const size_t index, LCHAR** key) 89{ 90 if (self == NULL) 91 return ESR_INVALID_ARGUMENT; 92 return self->getKeyAtIndex(self, index, key); 93} 94 95ESR_ReturnCode HashMapGetValueAtIndex(HashMap* self, const size_t index, void** value) 96{ 97 if (self == NULL) 98 return ESR_INVALID_ARGUMENT; 99 return self->getValueAtIndex(self, index, value); 100} 101 102ESR_ReturnCode HashMapDestroy(HashMap* self) 103{ 104 if (self == NULL) 105 return ESR_INVALID_ARGUMENT; 106 return self->destroy(self); 107} 108