1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #ifndef CONNECTIVITY_SHAREDRESOURCES_HXX
25*b1cdbd2cSJim Jagielski #define CONNECTIVITY_SHAREDRESOURCES_HXX
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski /** === begin UNO includes === **/
28*b1cdbd2cSJim Jagielski /** === end UNO includes === **/
29*b1cdbd2cSJim Jagielski 
30*b1cdbd2cSJim Jagielski #include <rtl/ustring.hxx>
31*b1cdbd2cSJim Jagielski #include <list>
32*b1cdbd2cSJim Jagielski #include "connectivity/dbtoolsdllapi.hxx"
33*b1cdbd2cSJim Jagielski 
34*b1cdbd2cSJim Jagielski //........................................................................
35*b1cdbd2cSJim Jagielski namespace connectivity
36*b1cdbd2cSJim Jagielski {
37*b1cdbd2cSJim Jagielski //........................................................................
38*b1cdbd2cSJim Jagielski 
39*b1cdbd2cSJim Jagielski     typedef sal_uInt16  ResourceId;
40*b1cdbd2cSJim Jagielski 	//====================================================================
41*b1cdbd2cSJim Jagielski 	//= SharedResources
42*b1cdbd2cSJim Jagielski 	//====================================================================
43*b1cdbd2cSJim Jagielski     /** helper class for accessing resources shared by different libraries
44*b1cdbd2cSJim Jagielski         in the connectivity module
45*b1cdbd2cSJim Jagielski     */
46*b1cdbd2cSJim Jagielski 	class OOO_DLLPUBLIC_DBTOOLS SharedResources
47*b1cdbd2cSJim Jagielski 	{
48*b1cdbd2cSJim Jagielski     public:
49*b1cdbd2cSJim Jagielski         SharedResources();
50*b1cdbd2cSJim Jagielski         ~SharedResources();
51*b1cdbd2cSJim Jagielski 
52*b1cdbd2cSJim Jagielski         /** loads a string from the shared resource file
53*b1cdbd2cSJim Jagielski             @param  _nResId
54*b1cdbd2cSJim Jagielski                 the resource ID of the string
55*b1cdbd2cSJim Jagielski             @return
56*b1cdbd2cSJim Jagielski                 the string from the resource file
57*b1cdbd2cSJim Jagielski         */
58*b1cdbd2cSJim Jagielski         ::rtl::OUString
59*b1cdbd2cSJim Jagielski             getResourceString(
60*b1cdbd2cSJim Jagielski                 ResourceId _nResId
61*b1cdbd2cSJim Jagielski             ) const;
62*b1cdbd2cSJim Jagielski 
63*b1cdbd2cSJim Jagielski         /** loads a string from the shared resource file, and replaces
64*b1cdbd2cSJim Jagielski             a given ASCII pattern with a given string
65*b1cdbd2cSJim Jagielski 
66*b1cdbd2cSJim Jagielski             @param  _nResId
67*b1cdbd2cSJim Jagielski                 the resource ID of the string to load
68*b1cdbd2cSJim Jagielski             @param  _pAsciiPatternToReplace
69*b1cdbd2cSJim Jagielski                 the ASCII string which is to search in the string. Must not be <NULL/>.
70*b1cdbd2cSJim Jagielski             @param  _rStringToSubstitute
71*b1cdbd2cSJim Jagielski                 the String which should substitute the ASCII pattern.
72*b1cdbd2cSJim Jagielski 
73*b1cdbd2cSJim Jagielski             @return
74*b1cdbd2cSJim Jagielski                 the string from the resource file, with applied string substitution
75*b1cdbd2cSJim Jagielski         */
76*b1cdbd2cSJim Jagielski         ::rtl::OUString
77*b1cdbd2cSJim Jagielski             getResourceStringWithSubstitution(
78*b1cdbd2cSJim Jagielski                 ResourceId _nResId,
79*b1cdbd2cSJim Jagielski                 const sal_Char* _pAsciiPatternToReplace,
80*b1cdbd2cSJim Jagielski                 const ::rtl::OUString& _rStringToSubstitute
81*b1cdbd2cSJim Jagielski             ) const;
82*b1cdbd2cSJim Jagielski 
83*b1cdbd2cSJim Jagielski         /** loads a string from the shared resource file, and replaces
84*b1cdbd2cSJim Jagielski             a given ASCII pattern with a given string
85*b1cdbd2cSJim Jagielski 
86*b1cdbd2cSJim Jagielski             @param  _nResId
87*b1cdbd2cSJim Jagielski                 the resource ID of the string to load
88*b1cdbd2cSJim Jagielski             @param  _pAsciiPatternToReplace1
89*b1cdbd2cSJim Jagielski                 the ASCII string (1) which is to search in the string. Must not be <NULL/>.
90*b1cdbd2cSJim Jagielski             @param  _rStringToSubstitute1
91*b1cdbd2cSJim Jagielski                 the String which should substitute the ASCII pattern (1)
92*b1cdbd2cSJim Jagielski             @param  _pAsciiPatternToReplace2
93*b1cdbd2cSJim Jagielski                 the ASCII string (2) which is to search in the string. Must not be <NULL/>.
94*b1cdbd2cSJim Jagielski             @param  _rStringToSubstitute2
95*b1cdbd2cSJim Jagielski                 the String which should substitute the ASCII pattern (2)
96*b1cdbd2cSJim Jagielski 
97*b1cdbd2cSJim Jagielski             @return
98*b1cdbd2cSJim Jagielski                 the string from the resource file, with applied string substitution
99*b1cdbd2cSJim Jagielski         */
100*b1cdbd2cSJim Jagielski         ::rtl::OUString
101*b1cdbd2cSJim Jagielski             getResourceStringWithSubstitution(
102*b1cdbd2cSJim Jagielski                 ResourceId _nResId,
103*b1cdbd2cSJim Jagielski                 const sal_Char* _pAsciiPatternToReplace1,
104*b1cdbd2cSJim Jagielski                 const ::rtl::OUString& _rStringToSubstitute1,
105*b1cdbd2cSJim Jagielski                 const sal_Char* _pAsciiPatternToReplace2,
106*b1cdbd2cSJim Jagielski                 const ::rtl::OUString& _rStringToSubstitute2
107*b1cdbd2cSJim Jagielski             ) const;
108*b1cdbd2cSJim Jagielski 
109*b1cdbd2cSJim Jagielski         /** loads a string from the shared resource file, and replaces
110*b1cdbd2cSJim Jagielski             a given ASCII pattern with a given string
111*b1cdbd2cSJim Jagielski 
112*b1cdbd2cSJim Jagielski             @param  _nResId
113*b1cdbd2cSJim Jagielski                 the resource ID of the string to load
114*b1cdbd2cSJim Jagielski             @param  _pAsciiPatternToReplace1
115*b1cdbd2cSJim Jagielski                 the ASCII string (1) which is to search in the string. Must not be <NULL/>.
116*b1cdbd2cSJim Jagielski             @param  _rStringToSubstitute1
117*b1cdbd2cSJim Jagielski                 the String which should substitute the ASCII pattern (1)
118*b1cdbd2cSJim Jagielski             @param  _pAsciiPatternToReplace2
119*b1cdbd2cSJim Jagielski                 the ASCII string (2) which is to search in the string. Must not be <NULL/>.
120*b1cdbd2cSJim Jagielski             @param  _rStringToSubstitute2
121*b1cdbd2cSJim Jagielski                 the String which should substitute the ASCII pattern (2)
122*b1cdbd2cSJim Jagielski             @param  _pAsciiPatternToReplace3
123*b1cdbd2cSJim Jagielski                 the ASCII string (3) which is to search in the string. Must not be <NULL/>.
124*b1cdbd2cSJim Jagielski             @param  _rStringToSubstitute3
125*b1cdbd2cSJim Jagielski                 the String which should substitute the ASCII pattern (3)
126*b1cdbd2cSJim Jagielski 
127*b1cdbd2cSJim Jagielski             @return
128*b1cdbd2cSJim Jagielski                 the string from the resource file, with applied string substitution
129*b1cdbd2cSJim Jagielski         */
130*b1cdbd2cSJim Jagielski         ::rtl::OUString
131*b1cdbd2cSJim Jagielski             getResourceStringWithSubstitution(
132*b1cdbd2cSJim Jagielski                 ResourceId _nResId,
133*b1cdbd2cSJim Jagielski                 const sal_Char* _pAsciiPatternToReplace1,
134*b1cdbd2cSJim Jagielski                 const ::rtl::OUString& _rStringToSubstitute1,
135*b1cdbd2cSJim Jagielski                 const sal_Char* _pAsciiPatternToReplace2,
136*b1cdbd2cSJim Jagielski                 const ::rtl::OUString& _rStringToSubstitute2,
137*b1cdbd2cSJim Jagielski                 const sal_Char* _pAsciiPatternToReplace3,
138*b1cdbd2cSJim Jagielski                 const ::rtl::OUString& _rStringToSubstitute3
139*b1cdbd2cSJim Jagielski             ) const;
140*b1cdbd2cSJim Jagielski 
141*b1cdbd2cSJim Jagielski         /** loads a string from the shared resource file, and replaces a given ASCII pattern with a given string
142*b1cdbd2cSJim Jagielski 
143*b1cdbd2cSJim Jagielski             @param  _nResId
144*b1cdbd2cSJim Jagielski                 the resource ID of the string to load
145*b1cdbd2cSJim Jagielski             @param  _aStringToSubstitutes
146*b1cdbd2cSJim Jagielski                 A list of substitutions.
147*b1cdbd2cSJim Jagielski 
148*b1cdbd2cSJim Jagielski             @return
149*b1cdbd2cSJim Jagielski                 the string from the resource file, with applied string substitution
150*b1cdbd2cSJim Jagielski         */
151*b1cdbd2cSJim Jagielski         ::rtl::OUString getResourceStringWithSubstitution( ResourceId _nResId,
152*b1cdbd2cSJim Jagielski                     const ::std::list< ::std::pair<const sal_Char* , ::rtl::OUString > > _aStringToSubstitutes) const;
153*b1cdbd2cSJim Jagielski 	};
154*b1cdbd2cSJim Jagielski 
155*b1cdbd2cSJim Jagielski //........................................................................
156*b1cdbd2cSJim Jagielski } // namespace connectivity
157*b1cdbd2cSJim Jagielski //........................................................................
158*b1cdbd2cSJim Jagielski 
159*b1cdbd2cSJim Jagielski #endif // CONNECTIVITY_SHAREDRESOURCES_HXX
160*b1cdbd2cSJim Jagielski 
161