• Home
  • 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