source: icXML/icXML-devel/tests/src/XSerializerTest/XSerializerTest.hpp

Last change on this file was 2733, checked in by cameron, 6 years ago

More path fixes.

File size: 2.9 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: XSerializerTest.hpp 470088 2006-11-01 20:35:12Z amassari $
20 */
21
22#if !defined(XSERIALIZER_TEST_HPP)
23#define XSERIALIZER_TEST_HPP
24
25// ---------------------------------------------------------------------------
26//  Includes for all the program files to see
27// ---------------------------------------------------------------------------
28#include <icxercesc/util/PlatformUtils.hpp>
29#include <stdlib.h>
30#include <string.h>
31#if defined(XERCES_NEW_IOSTREAMS)
32#include <iostream>
33#else
34#include <iostream.h>
35#endif
36#include "XSerializerHandlers.hpp"
37#include <xercesc/sax2/SAX2XMLReader.hpp>
38#include <xercesc/sax2/XMLReaderFactory.hpp>
39
40
41// ---------------------------------------------------------------------------
42//  This is a simple class that lets us do easy (though not terribly efficient)
43//  trancoding of XMLCh data to local code page for display.
44// ---------------------------------------------------------------------------
45class StrX
46{
47public :
48    // -----------------------------------------------------------------------
49    //  Constructors and Destructor
50    // -----------------------------------------------------------------------
51    StrX(const XMLCh* const toTranscode)
52    {
53        // Call the private transcoding method
54        fLocalForm = XMLString::transcode(toTranscode);
55    }
56
57    ~StrX()
58    {
59        XMLString::release(&fLocalForm);
60    }
61
62    // -----------------------------------------------------------------------
63    //  Getter methods
64    // -----------------------------------------------------------------------
65    const char* localForm() const
66    {
67        return fLocalForm;
68    }
69
70private :
71    // -----------------------------------------------------------------------
72    //  Private data members
73    //
74    //  fLocalForm
75    //      This is the local code page form of the string.
76    // -----------------------------------------------------------------------
77    char*   fLocalForm;
78};
79
80inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& target, const StrX& toDump)
81{
82    target << toDump.localForm();
83    return target;
84}
85
86#endif
Note: See TracBrowser for help on using the repository browser.