/* * $Id: URI_OldImpl.cpp,v 1.6 2006/03/05 05:00:09 ozawa Exp $ * * Copyright 2005- ONGS Inc. All rights reserved. * * author: Masanori OZAWA (ozawa@ongs.co.jp) * version: $Revision: 1.6 $ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY ONGS INC ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL ONGS INC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * The views and conclusions contained in the software and documentation are * those of the authors and should not be interpreted as representing official * policies, either expressed or implied, of the ONGS Inc. * */ #include "xdtp.h" #include "URI_OldImpl.h" using namespace XDTP; URI_OldImpl::URI_OldImpl() { } URI_OldImpl::URI_OldImpl(const Glib::ustring& uri) : URI_Impl() { if (7 < uri.length() && "file://" == uri.substr(0, 7).lowercase()) { Glib::ustring path = uri.substr(7); if (0 < path.length()) { if ('/' == path.at(0)) { m_URIPtr = xmlParseURI(("file:" + path).c_str()); } else { m_URIPtr = xmlParseURI(path.c_str()); } if (m_URIPtr && !isFileScheme() && 0 < getScheme().length()) { xmlFreeURI(m_URIPtr); m_URIPtr = NULL; } } } if (!m_URIPtr) { m_URIPtr = xmlParseURI(uri.c_str()); } #ifdef DEBUG if (!m_URIPtr) { fprintf(stderr, "%s: Unable to parse the URI. (%s)" LINE_SEP, APP_NAME, uri.c_str()); } #if 0 else { fprintf(stdout, "%s: xmlPrintURI: ", APP_NAME); xmlPrintURI(stdout, m_URIPtr); fprintf(stdout, LINE_SEP); fprintf(stdout, "%s: debug: scheme: %s" LINE_SEP, APP_NAME, m_URIPtr->scheme); fprintf(stdout, "%s: debug: opaque: %s" LINE_SEP, APP_NAME, m_URIPtr->opaque); fprintf(stdout, "%s: debug: authority: %s" LINE_SEP, APP_NAME, m_URIPtr->authority); fprintf(stdout, "%s: debug: server: %s" LINE_SEP, APP_NAME, m_URIPtr->server); fprintf(stdout, "%s: debug: user: %s" LINE_SEP, APP_NAME, m_URIPtr->user); fprintf(stdout, "%s: debug: port: %d" LINE_SEP, APP_NAME, m_URIPtr->port); fprintf(stdout, "%s: debug: path: %s" LINE_SEP, APP_NAME, m_URIPtr->path); fprintf(stdout, "%s: debug: query: %s" LINE_SEP, APP_NAME, m_URIPtr->query); fprintf(stdout, "%s: debug: fragment: %s" LINE_SEP, APP_NAME, m_URIPtr->fragment); fprintf(stdout, "%s: debug: cleanup: %d" LINE_SEP, APP_NAME, m_URIPtr->cleanup); } #endif #endif } URI_OldImpl::~URI_OldImpl() { // no operation }