1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_DATA_SHARING_INTERNAL_ANDROID_DATA_SHARING_CONVERSION_BRIDGE_H_
#define COMPONENTS_DATA_SHARING_INTERNAL_ANDROID_DATA_SHARING_CONVERSION_BRIDGE_H_
#include "base/android/jni_android.h"
#include "base/android/scoped_java_ref.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "components/data_sharing/public/data_sharing_service.h"
#include "components/data_sharing/public/data_sharing_utils.h"
#include "components/data_sharing/public/group_data.h"
using base::android::ScopedJavaLocalRef;
namespace data_sharing {
// Utility for JNI conversion of the data types used by the service.
class DataSharingConversionBridge {
public:
// Creates an object of
// org.chromium.components.data_sharing.DataSharingService.
// GroupDataOrFailureOutcome.
static ScopedJavaLocalRef<jobject> CreateGroupDataOrFailureOutcome(
JNIEnv* env,
const DataSharingService::GroupDataOrFailureOutcome& data);
// Creates an object of
// org.chromium.components.data_sharing.DataSharingService.
// GroupsDataSetOrFailureOutcome.
static ScopedJavaLocalRef<jobject> CreateGroupDataSetOrFailureOutcome(
JNIEnv* env,
const DataSharingService::GroupsDataSetOrFailureOutcome& data);
// Creates an Integer object that identifies the generated enum
// PeopleGroupActionOutcome. The object is useful since Java Callback does not
// support primitive type int.
static ScopedJavaLocalRef<jobject> CreatePeopleGroupActionOutcome(JNIEnv* env,
int value);
// Creates an object of
// org.chromium.components.data_sharing.DataSharingService.ParseUrlResult.
static ScopedJavaLocalRef<jobject> CreateParseUrlResult(
JNIEnv* env,
const ParseUrlResult& data);
// Creates an object of
// org.chromium.components.data_sharing.DataSharingService.
// SharedDataPreviewOrFailureOutcome.
static ScopedJavaLocalRef<jobject> CreateSharedDataPreviewOrFailureOutcome(
JNIEnv* env,
const DataSharingService::SharedDataPreviewOrFailureOutcome& data);
};
} // namespace data_sharing
#endif // COMPONENTS_DATA_SHARING_INTERNAL_ANDROID_DATA_SHARING_CONVERSION_BRIDGE_H_
|