~suaweb/nginx/nginx-recipe

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/chromium/src/base/android/jni_array.h

  • Committer: Frans Elliott
  • Date: 2015-06-12 21:15:13 UTC
  • Revision ID: mastergeek.elliott@gmail.com-20150612211513-un4vguj32deibvb0
Added the actual pagespeed library to the ngx_pagespeed module dir.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (c) 2012 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
#ifndef BASE_ANDROID_JNI_ARRAY_H_
 
6
#define BASE_ANDROID_JNI_ARRAY_H_
 
7
 
 
8
#include <jni.h>
 
9
#include <string>
 
10
#include <vector>
 
11
 
 
12
#include "base/android/scoped_java_ref.h"
 
13
#include "base/basictypes.h"
 
14
#include "base/strings/string16.h"
 
15
 
 
16
namespace base {
 
17
namespace android {
 
18
 
 
19
// Returns a new Java byte array converted from the given bytes array.
 
20
BASE_EXPORT ScopedJavaLocalRef<jbyteArray> ToJavaByteArray(
 
21
    JNIEnv* env, const uint8* bytes, size_t len);
 
22
 
 
23
// Returns a new Java int array converted from the given int array.
 
24
BASE_EXPORT ScopedJavaLocalRef<jintArray> ToJavaIntArray(
 
25
    JNIEnv* env, const int* ints, size_t len);
 
26
 
 
27
BASE_EXPORT ScopedJavaLocalRef<jintArray> ToJavaIntArray(
 
28
    JNIEnv* env, const std::vector<int>& ints);
 
29
 
 
30
// Returns a new Java long array converted from the given int64 array.
 
31
BASE_EXPORT ScopedJavaLocalRef<jlongArray> ToJavaLongArray(
 
32
    JNIEnv* env, const int64* longs, size_t len);
 
33
 
 
34
BASE_EXPORT ScopedJavaLocalRef<jlongArray> ToJavaLongArray(
 
35
    JNIEnv* env, const std::vector<int64>& longs);
 
36
 
 
37
// Returns a array of Java byte array converted from |v|.
 
38
BASE_EXPORT ScopedJavaLocalRef<jobjectArray> ToJavaArrayOfByteArray(
 
39
    JNIEnv* env, const std::vector<std::string>& v);
 
40
 
 
41
BASE_EXPORT ScopedJavaLocalRef<jobjectArray> ToJavaArrayOfStrings(
 
42
    JNIEnv* env,  const std::vector<std::string>& v);
 
43
 
 
44
BASE_EXPORT ScopedJavaLocalRef<jobjectArray> ToJavaArrayOfStrings(
 
45
    JNIEnv* env,  const std::vector<string16>& v);
 
46
 
 
47
// Converts a Java string array to a native array.
 
48
BASE_EXPORT void AppendJavaStringArrayToStringVector(
 
49
    JNIEnv* env,
 
50
    jobjectArray array,
 
51
    std::vector<string16>* out);
 
52
 
 
53
BASE_EXPORT void AppendJavaStringArrayToStringVector(
 
54
    JNIEnv* env,
 
55
    jobjectArray array,
 
56
    std::vector<std::string>* out);
 
57
 
 
58
// Appends the Java bytes in |bytes_array| onto the end of |out|.
 
59
BASE_EXPORT void AppendJavaByteArrayToByteVector(
 
60
    JNIEnv* env,
 
61
    jbyteArray byte_array,
 
62
    std::vector<uint8>* out);
 
63
 
 
64
// Replaces the content of |out| with the Java bytes in |bytes_array|.
 
65
BASE_EXPORT void JavaByteArrayToByteVector(
 
66
    JNIEnv* env,
 
67
    jbyteArray byte_array,
 
68
    std::vector<uint8>* out);
 
69
 
 
70
// Replaces the content of |out| with the Java ints in |int_array|.
 
71
BASE_EXPORT void JavaIntArrayToIntVector(
 
72
    JNIEnv* env,
 
73
    jintArray int_array,
 
74
    std::vector<int>* out);
 
75
 
 
76
// Replaces the content of |out| with the Java floats in |float_array|.
 
77
BASE_EXPORT void JavaFloatArrayToFloatVector(
 
78
    JNIEnv* env,
 
79
    jfloatArray float_array,
 
80
    std::vector<float>* out);
 
81
 
 
82
// Assuming |array| is an byte[][] (array of byte arrays), replaces the
 
83
// content of |out| with the corresponding vector of strings. No UTF-8
 
84
// conversion is performed.
 
85
BASE_EXPORT void JavaArrayOfByteArrayToStringVector(
 
86
    JNIEnv* env,
 
87
    jobjectArray array,
 
88
    std::vector<std::string>* out);
 
89
 
 
90
}  // namespace android
 
91
}  // namespace base
 
92
 
 
93
#endif  // BASE_ANDROID_JNI_ARRAY_H_