/*
* Copyright (C) 2007-2010 Siemens AG
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
/*******************************************************************
*
* @author Daniel.Peintner.EXT@siemens.com
* @version 0.2.2
* @contact Joerg.Heuer@siemens.com
*
********************************************************************/
#ifndef STRING_TABLE_C
#define STRING_TABLE_C
#include
#include
#include
#include
#include "StringTable.h"
#include "EXITypes.h"
#include "BitInputStream.h"
#include "BitDecoderChannel.h"
#include "StringTableEntries.h"
#include "assert.h"
int exiGetUri(size_t uriID, const char** uri) {
if ( uriID < stringTable.len ) {
*uri = stringTable.uris[uriID];
} else {
return EXI_ERROR_OUT_OF_BOUNDS;
}
return 0;
}
int exiGetUriLength(size_t* uriLength) {
*uriLength = stringTable.len;
return 0;
}
int exiGetUriID(const char* uri, size_t* uriID) {
unsigned int i;
for(i=0; i