OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef WIN8_METRO_DRIVER_WINRT_UTILS_H_ | |
6 #define WIN8_METRO_DRIVER_WINRT_UTILS_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include <roapi.h> | |
11 #include <windows.applicationmodel.core.h> | |
12 | |
13 #include "base/strings/string16.h" | |
14 | |
15 void CheckHR(HRESULT hr, const char* str = nullptr); | |
16 | |
17 HSTRING MakeHString(const base::string16& str); | |
18 | |
19 base::string16 MakeStdWString(HSTRING hstring); | |
20 | |
21 namespace winrt_utils { | |
22 | |
23 template<unsigned int size, typename T> | |
24 HRESULT CreateActivationFactory(wchar_t const (&class_name)[size], T** object) { | |
25 mswrw::HStringReference ref_class_name(class_name); | |
26 return winfoundtn::GetActivationFactory(ref_class_name.Get(), object); | |
27 } | |
28 | |
29 #define DECLARE_CREATE_PROPERTY(Name, Type) \ | |
30 HRESULT Create ## Name ## Property( \ | |
31 Type value, \ | |
32 winfoundtn::IPropertyValue** prop); | |
33 | |
34 DECLARE_CREATE_PROPERTY(String, HSTRING); | |
35 DECLARE_CREATE_PROPERTY(Int16, INT16); | |
36 DECLARE_CREATE_PROPERTY(Int32, INT32); | |
37 DECLARE_CREATE_PROPERTY(Int64, INT64); | |
38 DECLARE_CREATE_PROPERTY(UInt8, UINT8); | |
39 DECLARE_CREATE_PROPERTY(UInt16, UINT16); | |
40 DECLARE_CREATE_PROPERTY(UInt32, UINT32); | |
41 DECLARE_CREATE_PROPERTY(UInt64, UINT64); | |
42 | |
43 // Compares |lhs| with |rhs| and return the |result| as | |
44 // WindowsCompareStringOrdinal would do, i.e., | |
45 // -1 if |lhs| is less than |rhs|, 0 if they are equal, and | |
46 // +1 if |lhs| is greater than |rhs|. | |
47 HRESULT CompareProperties( | |
48 winfoundtn::IPropertyValue* lhs, winfoundtn::IPropertyValue* rhs, | |
49 INT32* result); | |
50 | |
51 // Looks for a pinned taskbar shortcut in the current user's profile. If it | |
52 // finds one, will return any arguments that have been appended to the | |
53 // shortcut's command line. This is intended for scenarios where those shortcut | |
54 // parameters are ordinarily ignored (i.e. metro apps on win8). Returns an | |
55 // empty string on failure. | |
56 base::string16 ReadArgumentsFromPinnedTaskbarShortcut(); | |
57 | |
58 } // namespace winrt_utils | |
59 | |
60 #endif // WIN8_METRO_DRIVER_WINRT_UTILS_H_ | |
OLD | NEW |