2 * Copyright (C) 2012-2023 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
9 #include "JNIXBMCConnectivityManagerNetworkCallback.h"
11 #include "CompileInfo.h"
13 #include <androidjni/Context.h>
14 #include <androidjni/jutils-details.hpp>
21 static std::string className
=
22 std::string(CCompileInfo::GetClass()) + "/interfaces/XBMCConnectivityManagerNetworkCallback";
26 CJNIXBMCConnectivityManagerNetworkCallback::CJNIXBMCConnectivityManagerNetworkCallback()
29 m_object
= new_object(CJNIContext::getClassLoader().loadClass(GetDotClassName(className
)));
32 add_instance(m_object
, this);
35 CJNIXBMCConnectivityManagerNetworkCallback::~CJNIXBMCConnectivityManagerNetworkCallback()
37 remove_instance(this);
40 void CJNIXBMCConnectivityManagerNetworkCallback::RegisterNatives(JNIEnv
* env
)
42 jclass cClass
= env
->FindClass(className
.c_str());
45 JNINativeMethod methods
[] = {
46 {"_onAvailable", "(Landroid/net/Network;)V",
47 reinterpret_cast<void*>(&CJNIXBMCConnectivityManagerNetworkCallback::_onAvailable
)},
48 {"_onLost", "(Landroid/net/Network;)V",
49 reinterpret_cast<void*>(&CJNIXBMCConnectivityManagerNetworkCallback::_onLost
)},
52 env
->RegisterNatives(cClass
, methods
, sizeof(methods
) / sizeof(methods
[0]));
56 void CJNIXBMCConnectivityManagerNetworkCallback::_onAvailable(JNIEnv
* env
,
60 CJNIXBMCConnectivityManagerNetworkCallback
* inst
= find_instance(thiz
);
62 inst
->onAvailable(CJNINetwork(jhobject::fromJNI(network
)));
65 void CJNIXBMCConnectivityManagerNetworkCallback::_onLost(JNIEnv
* env
, jobject thiz
, jobject network
)
67 CJNIXBMCConnectivityManagerNetworkCallback
* inst
= find_instance(thiz
);
69 inst
->onLost(CJNINetwork(jhobject::fromJNI(network
)));