Index: chrome/app/metro_driver_win.h |
=================================================================== |
--- chrome/app/metro_driver_win.h (revision 0) |
+++ chrome/app/metro_driver_win.h (revision 0) |
@@ -0,0 +1,33 @@ |
+// Copyright (c) 2011 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_APP_METRO_DRIVER_WIN_H_ |
+#define CHROME_APP_METRO_DRIVER_WIN_H_ |
+ |
+#include <Windows.h> |
+ |
+// Helper class to manage the metro driver dll. When present in the system, |
+// the main process thread needs to call InitMetro(), normal execution of |
+// chrome initialization will continue on a second thread while the main |
+// thread will be servicing the metro message loop. |
+class MetroDriver { |
+ public: |
+ typedef int (*MainFn)(HINSTANCE instance); |
+ |
+ MetroDriver(); |
+ // returns true if chrome is being launched in metro. If so we should |
+ // call RunInMetro(). If not then we should just run chrome as usual. |
+ bool in_metro_mode() const { return (NULL != init_metro_fn_); } |
+ |
+ // Enter the metro main function, which will only return when chrome metro |
+ // is closed. Once metro has initialized, the dll creates a new thread |
+ // which runs |main_fn|. This method returns when the chrome metro session |
+ // is closed by the user. |
+ int RunInMetro(HINSTANCE instance, MainFn main_fn); |
+ |
+ private: |
+ void* init_metro_fn_; |
+}; |
+ |
+#endif // CHROME_APP_METRO_DRIVER_WIN_H_ |
Property changes on: chrome\app\metro_driver_win.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |