source: icXML/icXML-devel/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp @ 2722

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

Original Xerces files with import mods for icxercesc

File size: 3.7 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: InMemMsgLoader.hpp 570552 2007-08-28 19:57:36Z amassari $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_INMEMMSGLOADER_HPP)
23#define XERCESC_INCLUDE_GUARD_INMEMMSGLOADER_HPP
24
25#include <xercesc/util/XercesDefs.hpp>
26#include <xercesc/util/XMLMsgLoader.hpp>
27
28XERCES_CPP_NAMESPACE_BEGIN
29
30//
31//  This is a simple in memory message loader implementation. For those
32//  folks who just want a single language and want something very fast and
33//  efficient, can basically just provide a couple of arrays of Unicode
34//  strings that can be looked up by the message id.
35//
36class XMLUTIL_EXPORT InMemMsgLoader : public XMLMsgLoader
37{
38public :
39    // -----------------------------------------------------------------------
40    //  Public Constructors and Destructor
41    // -----------------------------------------------------------------------
42    InMemMsgLoader(const XMLCh* const msgDomain);
43    ~InMemMsgLoader();
44
45
46    // -----------------------------------------------------------------------
47    //  Implementation of the virtual message loader API
48    // -----------------------------------------------------------------------
49    virtual bool loadMsg
50    (
51        const   XMLMsgLoader::XMLMsgId  msgToLoad
52        ,       XMLCh* const            toFill
53        , const XMLSize_t               maxChars
54    );
55
56    virtual bool loadMsg
57    (
58        const   XMLMsgLoader::XMLMsgId  msgToLoad
59        ,       XMLCh* const            toFill
60        , const XMLSize_t               maxChars
61        , const XMLCh* const            repText1
62        , const XMLCh* const            repText2 = 0
63        , const XMLCh* const            repText3 = 0
64        , const XMLCh* const            repText4 = 0
65        , MemoryManager* const          manager  = XMLPlatformUtils::fgMemoryManager
66    );
67
68    virtual bool loadMsg
69    (
70        const   XMLMsgLoader::XMLMsgId  msgToLoad
71        ,       XMLCh* const            toFill
72        , const XMLSize_t               maxChars
73        , const char* const             repText1
74        , const char* const             repText2 = 0
75        , const char* const             repText3 = 0
76        , const char* const             repText4 = 0
77        , MemoryManager * const         manager  = XMLPlatformUtils::fgMemoryManager
78    );
79
80
81private :
82    // -----------------------------------------------------------------------
83    //  Unimplemented constructors and operators
84    // -----------------------------------------------------------------------
85    InMemMsgLoader();
86    InMemMsgLoader(const InMemMsgLoader&);
87    InMemMsgLoader& operator=(const InMemMsgLoader&);
88
89
90    // -----------------------------------------------------------------------
91    //  Private data members
92    //
93    //  fMsgDomain
94    //      This is the message domain that we are for loading message from.
95    // -----------------------------------------------------------------------
96    XMLCh*  fMsgDomain;
97};
98
99XERCES_CPP_NAMESPACE_END
100
101#endif
Note: See TracBrowser for help on using the repository browser.