mojo_runner_delegate.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)// found in the LICENSE file.
4323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
5323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#ifndef MOJO_APPS_JS_MOJO_RUNNER_DELEGATE_H_
6323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#define MOJO_APPS_JS_MOJO_RUNNER_DELEGATE_H_
7323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
8323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "base/compiler_specific.h"
9323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "gin/modules/module_runner_delegate.h"
10323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#include "mojo/public/system/core.h"
11323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
12323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)namespace mojo {
13323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)namespace apps {
14323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
15323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)class MojoRunnerDelegate : public gin::ModuleRunnerDelegate {
16323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles) public:
17323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)  MojoRunnerDelegate();
18323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)  virtual ~MojoRunnerDelegate();
19323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
20323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)  void Start(gin::Runner* runner, MojoHandle pipe, const std::string& module);
21323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
22323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles) private:
23323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)  // From ModuleRunnerDelegate:
24323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)  virtual void UnhandledException(gin::ShellRunner* runner,
25323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)                                  gin::TryCatch& try_catch) OVERRIDE;
26323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
27323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(MojoRunnerDelegate);
28323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)};
29323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)
307242dc3dbeb210b5e876a3c42d1ec1a667fc621aPrimiano Tucci}  // namespace apps
31323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)}  // namespace mojo
32197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
33323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles)#endif  // MOJO_APPS_JS_MOJO_RUNNER_DELEGATE_H_
34c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)