~ubuntu-branches/ubuntu/wily/weechat/wily

« back to all changes in this revision

Viewing changes to src/plugins/javascript/weechat-js-v8.h

  • Committer: Package Import Robot
  • Author(s): Emmanuel Bouthenot
  • Date: 2015-08-19 18:34:17 UTC
  • mfrom: (29.1.11 sid)
  • Revision ID: package-import@ubuntu.com-20150819183417-u026z5wo8knpcdqd
Tags: 1.3-1
* New upstream release
  - Remove backported patch to fix FTBFS with ruby 2.2
* Use dh-exec to build javascript plugin only on architectures which v8
  engine supports. Thanks to Mateusz Łukasik for the patch
  (Closes: #794584)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2013 Koka El Kiwi <kokakiwi@kokakiwi.net>
 
3
 * Copyright (C) 2015 Sébastien Helleu <flashcode@flashtux.org>
 
4
 *
 
5
 * This file is part of WeeChat, the extensible chat client.
 
6
 *
 
7
 * WeeChat is free software; you can redistribute it and/or modify
 
8
 * it under the terms of the GNU General Public License as published by
 
9
 * the Free Software Foundation; either version 3 of the License, or
 
10
 * (at your option) any later version.
 
11
 *
 
12
 * WeeChat is distributed in the hope that it will be useful,
 
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
 * GNU General Public License for more details.
 
16
 *
 
17
 * You should have received a copy of the GNU General Public License
 
18
 * along with WeeChat.  If not, see <http://www.gnu.org/licenses/>.
 
19
 */
 
20
 
 
21
#ifndef WEECHAT_JS_V8_H
 
22
#define WEECHAT_JS_V8_H 1
 
23
 
 
24
#include <cstdio>
 
25
#include <v8.h>
 
26
 
 
27
class WeechatJsV8
 
28
{
 
29
public:
 
30
    WeechatJsV8(void);
 
31
    ~WeechatJsV8(void);
 
32
 
 
33
    bool load(v8::Handle<v8::String>);
 
34
    bool load(const char *);
 
35
 
 
36
    bool execScript(void);
 
37
    bool functionExists(const char *);
 
38
    v8::Handle<v8::Value> execFunction(const char *,
 
39
                                       int argc, v8::Handle<v8::Value> *);
 
40
 
 
41
    void addGlobal(v8::Handle<v8::String>, v8::Handle<v8::Template>);
 
42
    void addGlobal(const char *, v8::Handle<v8::Template>);
 
43
 
 
44
    void loadLibs(void);
 
45
 
 
46
private:
 
47
    v8::HandleScope handle_scope;
 
48
    v8::Handle<v8::ObjectTemplate> global;
 
49
    v8::Persistent<v8::Context> context;
 
50
 
 
51
    v8::Handle<v8::String> source;
 
52
};
 
53
 
 
54
#endif /* WEECHAT_JS_V8_H */