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