| Index: win8/metro_driver/winrt_utils.h
|
| diff --git a/win8/metro_driver/winrt_utils.h b/win8/metro_driver/winrt_utils.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..28f1eadfc8284a7ebd4b69315b2d35bc4e3af05e
|
| --- /dev/null
|
| +++ b/win8/metro_driver/winrt_utils.h
|
| @@ -0,0 +1,60 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROME_BROWSER_UI_METRO_DRIVER_WINRT_UTILS_H_
|
| +#define CHROME_BROWSER_UI_METRO_DRIVER_WINRT_UTILS_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include <roapi.h>
|
| +#include <windows.applicationmodel.core.h>
|
| +
|
| +#include "base/string16.h"
|
| +
|
| +void CheckHR(HRESULT hr, const char* str = nullptr);
|
| +
|
| +HSTRING MakeHString(const string16& str);
|
| +
|
| +string16 MakeStdWString(HSTRING hstring);
|
| +
|
| +namespace winrt_utils {
|
| +
|
| +template<unsigned int size, typename T>
|
| +HRESULT CreateActivationFactory(wchar_t const (&class_name)[size], T** object) {
|
| + mswrw::HStringReference ref_class_name(class_name);
|
| + return winfoundtn::GetActivationFactory(ref_class_name.Get(), object);
|
| +}
|
| +
|
| +#define DECLARE_CREATE_PROPERTY(Name, Type) \
|
| +HRESULT Create ## Name ## Property( \
|
| + Type value, \
|
| + winfoundtn::IPropertyValue** prop);
|
| +
|
| +DECLARE_CREATE_PROPERTY(String, HSTRING);
|
| +DECLARE_CREATE_PROPERTY(Int16, INT16);
|
| +DECLARE_CREATE_PROPERTY(Int32, INT32);
|
| +DECLARE_CREATE_PROPERTY(Int64, INT64);
|
| +DECLARE_CREATE_PROPERTY(UInt8, UINT8);
|
| +DECLARE_CREATE_PROPERTY(UInt16, UINT16);
|
| +DECLARE_CREATE_PROPERTY(UInt32, UINT32);
|
| +DECLARE_CREATE_PROPERTY(UInt64, UINT64);
|
| +
|
| +// Compares |lhs| with |rhs| and return the |result| as
|
| +// WindowsCompareStringOrdinal would do, i.e.,
|
| +// -1 if |lhs| is less than |rhs|, 0 if they are equal, and
|
| +// +1 if |lhs| is greater than |rhs|.
|
| +HRESULT CompareProperties(
|
| + winfoundtn::IPropertyValue* lhs, winfoundtn::IPropertyValue* rhs,
|
| + INT32* result);
|
| +
|
| +// Looks for a pinned taskbar shortcut in the current user's profile. If it
|
| +// finds one, will return any arguments that have been appended to the
|
| +// shortcut's command line. This is intended for scenarios where those shortcut
|
| +// parameters are ordinarily ignored (i.e. metro apps on win8). Returns an
|
| +// empty string on failure.
|
| +string16 ReadArgumentsFromPinnedTaskbarShortcut();
|
| +
|
| +} // namespace winrt_utils
|
| +
|
| +#endif // CHROME_BROWSER_UI_METRO_DRIVER_WINRT_UTILS_H_
|
|
|