• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /* -*- Mode: C; tab-width: 4 -*-
2   *
3   * Copyright (c) 2009 Apple Computer, Inc. All rights reserved.
4   *
5   * Licensed under the Apache License, Version 2.0 (the "License");
6   * you may not use this file except in compliance with the License.
7   * 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  
20  #ifndef _StringServices_h
21  
22  #define _StringServices_h
23  
24  
25  
26  #include <atlbase.h>
27  
28  #include <vector>
29  
30  #include <string>
31  
32  
33  
34  
35  
36  extern BOOL
37  
38  BSTRToUTF8
39  
40  	(
41  
42  	BSTR			inString,
43  
44  	std::string	&	outString
45  
46  	);
47  
48  
49  
50  
51  
52  extern BOOL
53  
54  UTF8ToBSTR
55  
56  	(
57  
58  	const char	*	inString,
59  
60  	CComBSTR	&	outString
61  
62  	);
63  
64  
65  
66  
67  
68  extern BOOL
69  
70  ByteArrayToVariant
71  
72  	(
73  
74  	const void	*	inArray,
75  
76  	size_t			inArrayLen,
77  
78  	VARIANT		*	outVariant
79  
80  	);
81  
82  
83  
84  
85  
86  extern BOOL
87  
88  VariantToByteArray
89  
90  	(
91  
92  	VARIANT				*	inVariant,
93  
94  	std::vector< BYTE >	&	outArray
95  
96  	);
97  
98  
99  
100  
101  
102  #endif