1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the  "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(XALANCOLLATIONSERVICES_HEADER_GUARD_1357924680)
19 #define XALANCOLLATIONSERVICES_HEADER_GUARD_1357924680
20 
21 
22 
23 // Base include file.  Must be first.
24 #include <xalanc/PlatformSupport/PlatformSupportDefinitions.hpp>
25 
26 
27 
28 #include <xalanc/XalanDOM/XalanDOMString.hpp>
29 
30 
31 
32 namespace XALAN_CPP_NAMESPACE {
33 
34 
35 
36 class XALAN_PLATFORMSUPPORT_EXPORT XalanCollationServices
37 {
38 public:
39 
40     enum eCaseOrder { eDefault, eLowerFirst, eUpperFirst };
41 
42     class XALAN_PLATFORMSUPPORT_EXPORT CollationCompareFunctor
43     {
44     public:
45 
CollationCompareFunctor()46         CollationCompareFunctor()
47         {
48         }
49 
50         virtual
~CollationCompareFunctor()51         ~CollationCompareFunctor()
52         {
53         }
54 
55         virtual int
56         operator()(
57             const XalanDOMChar*     theLHS,
58             const XalanDOMChar*     theRHS,
59             eCaseOrder              theCaseOrder = eDefault) const = 0;
60 
61         virtual int
62         operator()(
63             const XalanDOMChar*     theLHS,
64             const XalanDOMChar*     theRHS,
65             const XalanDOMChar*     theLocale,
66             eCaseOrder              theCaseOrder = eDefault) const = 0;
67     };
68 
69 };
70 
71 
72 
73 }
74 
75 
76 
77 #endif  // XALANCOLLATIONSERVICES_HEADER_GUARD_1357924680
78