13d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville/**
23d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * Copyright (C) 2010 The Android Open Source Project
33d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville *
43d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
53d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * you may not use this file except in compliance with the License.
63d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * You may obtain a copy of the License at
73d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville *
83d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
93d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville *
103d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * Unless required by applicable law or agreed to in writing, software
113d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
123d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * See the License for the specific language governing permissions and
143d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville * limitations under the License.
153d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville */
163d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
173d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville#ifndef MOCK_RIL_JS_SUPPORT_H_
183d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville#define MOCK_RIL_JS_SUPPORT_H_
193d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
203d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville#include <v8.h>
219a9fbd294bf8a7465cf10480935edea8304ef661Wink Saville#include "ril.h"
223d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
23311475aeb4f37eb50445d3a6ed04094a10fffe99Wink Saville// The global value of radio state shared between cpp and js code.
24311475aeb4f37eb50445d3a6ed04094a10fffe99Wink Savilleextern RIL_RadioState gRadioState;
253d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
263d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville// A javascript print function
273d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Savilleextern v8::Handle<v8::Value> Print(const v8::Arguments& args);
283d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
293e2cde5f8faae26089e7ce88ea8b504e5c1ef6d4Xia Wang// Read a file into a array returning the buffer and the size
303d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Savilleextern int ReadFile(const char *fileName, char** data, size_t *length = NULL);
313d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
323d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville// A javascript read file function arg[0] = filename
333d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Savilleextern v8::Handle<v8::Value> ReadFileToString(const v8::Arguments& args);
343d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
353d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville// A javascript read file function arg[0] = filename
363d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Savilleextern v8::Handle<v8::Value> ReadFileToBuffer(const v8::Arguments& args);
373d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
383d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville// make the Java
393d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Savilleextern v8::Persistent<v8::Context> makeJsContext();
403d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
413d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville// Run a javascript
423d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Savilleextern void runJs(v8::Handle<v8::Context> context, v8::TryCatch *try_catch,
433d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville           const char *fileName, const char *code);
443d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
453d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville// Test this module
463d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Savilleextern void testJsSupport(v8::Handle<v8::Context> context);
473d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville
483d6d348df5378b3f3f79ebbfad21d86ae1c9f239Wink Saville#endif // MOCK_RIL_JS_SUPPORT_H_
49