callback_android.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright 2016 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. #ifndef BASE_ANDROID_CALLBACK_ANDROID_H_
  5. #define BASE_ANDROID_CALLBACK_ANDROID_H_
  6. #include <jni.h>
  7. #include <string>
  8. #include <vector>
  9. #include "base/android/scoped_java_ref.h"
  10. #include "base/base_export.h"
  11. #include "base/time/time.h"
  12. // Provides helper utility methods that run the given callback with the
  13. // specified argument.
  14. namespace base {
  15. namespace android {
  16. void BASE_EXPORT RunObjectCallbackAndroid(const JavaRef<jobject>& callback,
  17. const JavaRef<jobject>& arg);
  18. void BASE_EXPORT RunBooleanCallbackAndroid(const JavaRef<jobject>& callback,
  19. bool arg);
  20. void BASE_EXPORT RunIntCallbackAndroid(const JavaRef<jobject>& callback,
  21. int32_t arg);
  22. void BASE_EXPORT RunLongCallbackAndroid(const JavaRef<jobject>& callback,
  23. int64_t arg);
  24. void BASE_EXPORT RunTimeCallbackAndroid(const JavaRef<jobject>& callback,
  25. base::Time time);
  26. void BASE_EXPORT RunStringCallbackAndroid(const JavaRef<jobject>& callback,
  27. const std::string& arg);
  28. void BASE_EXPORT RunByteArrayCallbackAndroid(const JavaRef<jobject>& callback,
  29. const std::vector<uint8_t>& arg);
  30. void BASE_EXPORT RunRunnableAndroid(const JavaRef<jobject>& runnable);
  31. } // namespace android
  32. } // namespace base
  33. #endif // BASE_ANDROID_CALLBACK_ANDROID_H_