// file : xsde/cxx/serializer/validating/uri.cxx // author : Boris Kolpackov // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include #include #ifdef XSDE_CUSTOM_ALLOCATOR # include #endif namespace xsde { namespace cxx { namespace serializer { namespace validating { uri_simpl:: ~uri_simpl () { if (free_ && value_) { char* v = const_cast (value_); #ifndef XSDE_CUSTOM_ALLOCATOR delete[] v; #else cxx::free (v); #endif } } void uri_simpl:: pre (const char* value) { value_ = value; } void uri_simpl:: _serialize_content () { // According to Datatypes 3.2.17 and RFC2396 pretty much anything // can be a URI and conforming processors do not need to figure // out and verify particular URI schemes. // if (string_common::validate_facets ( value_, _facets (), _context ())) { _characters (value_); } if (free_) { char* v = const_cast (value_); #ifndef XSDE_CUSTOM_ALLOCATOR delete[] v; #else cxx::free (v); #endif value_ = 0; } } } } } }