1/*---------------------------------------------------------------------------* 2 * Nametag.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 "SR_Nametag.h" 21#include "SR_NametagImpl.h" 22#include "plog.h" 23#include "pmemory.h" 24 25 26ESR_ReturnCode SR_NametagGetID(const SR_Nametag* self, LCHAR** id) 27{ 28 if (self == NULL) 29 { 30 PLogError(L("ESR_INVALID_ARGUMENT")); 31 return ESR_INVALID_ARGUMENT; 32 } 33 return self->getID(self, id); 34} 35 36ESR_ReturnCode SR_NametagGetValue(const SR_Nametag* self, const char** pvalue, size_t* plen) 37{ 38 if (self == NULL || pvalue == NULL || plen == NULL) 39 { 40 PLogError(L("ESR_INVALID_ARGUMENT")); 41 return ESR_INVALID_ARGUMENT; 42 } 43 return self->getValue(self, pvalue, plen); 44} 45 46ESR_ReturnCode SR_NametagSetID(SR_Nametag* self, const LCHAR* id) 47{ 48 if (self == NULL) 49 { 50 PLogError(L("ESR_INVALID_ARGUMENT")); 51 return ESR_INVALID_ARGUMENT; 52 } 53 return self->setID(self, id); 54} 55 56ESR_ReturnCode SR_NametagClone(const SR_Nametag* self, SR_Nametag** result) 57{ 58 if (self == NULL) 59 { 60 PLogError(L("ESR_INVALID_ARGUMENT")); 61 return ESR_INVALID_ARGUMENT; 62 } 63 return self->clone(self, result); 64} 65 66ESR_ReturnCode SR_NametagDestroy(SR_Nametag* self) 67{ 68 if (self == NULL) 69 { 70 PLogError(L("ESR_INVALID_ARGUMENT")); 71 return ESR_INVALID_ARGUMENT; 72 } 73 return self->destroy(self); 74} 75