- add sources.
[platform/framework/web/crosswalk.git] / src / chrome_frame / event_hooker.h
1 // Copyright (c) 2010 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 #include <windows.h>
6
7 #ifndef CHROME_FRAME_EVENT_HOOKER_H_
8 #define CHROME_FRAME_EVENT_HOOKER_H_
9
10 class EventHooker {
11  public:
12   EventHooker();
13   ~EventHooker();
14
15   // Call this to install event hooks that will trigger on window creation
16   // and reparenting. Returns true if the hooks are successfully installed,
17   // false otherwise.
18   bool StartHook();
19
20   // Call this to remove the event hooks that are installed by StartHook().
21   void StopHook();
22
23   // The callback invoked in response to an event registered for in StartHook().
24   static VOID CALLBACK WindowCreationHookProc(HWINEVENTHOOK hook,
25                                               DWORD event,
26                                               HWND window,
27                                               LONG object_id,
28                                               LONG child_id,
29                                               DWORD event_tid,
30                                               DWORD event_time);
31
32  private:
33   HWINEVENTHOOK window_creation_hook_;
34 };
35
36 #endif  // CHROME_FRAME_EVENT_HOOKER_H_