class JniListenerManager
{
public:
- std::shared_ptr<T> addListener(JNIEnv* env, jobject jListener, JniOcResource* owner)
+ T* addListener(JNIEnv* env, jobject jListener, JniOcResource* owner)
{
- std::shared_ptr<T> onEventListener = nullptr;
+ T *onEventListener = nullptr;
m_mapMutex.lock();
if (!onEventListener)
{
- onEventListener = std::make_shared<T>(env, jListener, owner);
+ onEventListener = new T(env, jListener, owner);
jobject jgListener = env->NewGlobalRef(jListener);
if (jgListener)
{
m_listenerMap.insert(
std::pair<jobject,
- std::pair<std::shared_ptr<T>, int>>(jgListener,
- std::pair<std::shared_ptr<T>, int>(onEventListener, 1)));
+ std::pair<T*, int>>(jgListener, std::pair<T*, int>(onEventListener, 1)));
}
else
{
LOGD("OnEventListener: Failed to create global listener ref.");
+ delete onEventListener;
m_mapMutex.unlock();
return nullptr;
}
}
#ifdef WITH_CLOUD
- std::shared_ptr<T> addListener(JNIEnv* env, jobject jListener, JniOcAccountManager* owner)
+ T* addListener(JNIEnv* env, jobject jListener, JniOcAccountManager* owner)
{
- std::shared_ptr<T> onEventListener = nullptr;
+ T *onEventListener = nullptr;
m_mapMutex.lock();
if (!onEventListener)
{
- onEventListener = std::make_shared<T>(env, jListener, owner);
+ onEventListener = new T(env, jListener, owner);
jobject jgListener = env->NewGlobalRef(jListener);
if (jgListener)
{
m_listenerMap.insert(
std::pair<jobject,
- std::pair<std::shared_ptr<T>, int>>(jgListener,
- std::pair<std::shared_ptr<T>, int>(onEventListener, 1)));
+ std::pair<T*, int>>(jgListener, std::pair<T*, int>(onEventListener, 1)));
}
else
{
LOGD("OnEventListener: Failed to create global listener ref.");
+ delete onEventListener;
m_mapMutex.unlock();
return nullptr;
}
else
{
env->DeleteGlobalRef(it->first);
+ T* listener = refPair.first;
+ delete listener;
m_listenerMap.erase(it);
LOGI("OnEventListener is removed");
}
{
env->DeleteGlobalRef(pair.first);
auto refPair = pair.second;
+ delete refPair.first;
}
m_listenerMap.clear();
}
private:
- std::map<jobject, std::pair<std::shared_ptr<T>, int>> m_listenerMap;
+ std::map<jobject, std::pair<T*, int>> m_listenerMap;
std::mutex m_mapMutex;
};
return accountManager;
}
-JniOnGetListener::Ptr JniOcAccountManager::addOnGetListener(JNIEnv* env, jobject jListener)
+JniOnGetListener* JniOcAccountManager::addOnGetListener(JNIEnv* env, jobject jListener)
{
return this->m_onGetManager.addListener(env, jListener, this);
}
-JniOnPostListener::Ptr JniOcAccountManager::addOnPostListener(JNIEnv* env, jobject jListener)
+JniOnPostListener* JniOcAccountManager::addOnPostListener(JNIEnv* env, jobject jListener)
{
return this->m_onPostManager.addListener(env, jListener, this);
}
-JniOnDeleteListener::Ptr JniOcAccountManager::addOnDeleteListener(JNIEnv* env, jobject jListener)
+JniOnDeleteListener* JniOcAccountManager::addOnDeleteListener(JNIEnv* env, jobject jListener)
{
return this->m_onDeleteManager.addListener(env, jListener, this);
}
-JniOnObserveListener::Ptr JniOcAccountManager::addOnObserveListener(JNIEnv* env, jobject jListener)
+JniOnObserveListener* JniOcAccountManager::addOnObserveListener(JNIEnv* env, jobject jListener)
{
return this->m_onObserveManager.addListener(env, jListener, this);
}
OCStackResult JniOcAccountManager::signUp(JNIEnv* env, const std::string& authProvider,
const std::string& authCode, jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->signUp(authProvider, authCode, postCallback);
}
const std::string& authCode,
const QueryParamsMap& options, jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->signUp(authProvider, authCode, options, postCallback);
}
OCStackResult JniOcAccountManager::signIn(JNIEnv* env, const std::string& userUuid,
const std::string& accessToken, jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->signIn(userUuid, accessToken, postCallback);
}
OCStackResult JniOcAccountManager::signOut(JNIEnv* env, const std::string& accessToken,
jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->signOut(accessToken, postCallback);
}
const std::string& refreshToken,
jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->refreshAccessToken(userUuid, refreshToken, postCallback);
}
OCStackResult JniOcAccountManager::searchUser(JNIEnv* env, const QueryParamsMap& queryMap,
jobject jListener)
{
- JniOnGetListener::Ptr onGetListener = addOnGetListener(env, jListener);
-
+ JniOnGetListener *onGetListener = addOnGetListener(env, jListener);
if (nullptr == onGetListener)
{
LOGE("onGetListener is null");
return OC_STACK_ERROR;
}
- GetCallback getCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnGetListener> weak_ref)
+ GetCallback getCallback = [onGetListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onGetCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onGetListener);
+ onGetListener->onGetCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->searchUser(queryMap, getCallback);
}
OCStackResult JniOcAccountManager::deleteDevice(JNIEnv* env, const std::string& accessToken,
const std::string& deviceId, jobject jListener)
{
- JniOnDeleteListener::Ptr onDeleteListener = addOnDeleteListener(env, jListener);
-
+ JniOnDeleteListener *onDeleteListener = addOnDeleteListener(env, jListener);
if (nullptr == onDeleteListener)
{
LOGE("onDeleteListener is null");
return OC_STACK_ERROR;
}
- DeleteCallback deleteCallback = std::bind([](const HeaderOptions& opts,
- const int eCode,
- std::weak_ptr<JniOnDeleteListener> weak_ref)
+ DeleteCallback deleteCallback = [onDeleteListener](const HeaderOptions& opts,
+ const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onDeleteCallback(opts, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, onDeleteListener);
+ onDeleteListener->onDeleteCallback(opts, eCode);
+ };
return m_sharedAccountManager->deleteDevice(accessToken, deviceId, deleteCallback);
}
OCStackResult JniOcAccountManager::createGroup(JNIEnv* env, jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->createGroup(postCallback);
}
OCStackResult JniOcAccountManager::createGroup(JNIEnv* env, const QueryParamsMap& queryMap,
jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->createGroup(queryMap, postCallback);
}
OCStackResult JniOcAccountManager::deleteGroup(JNIEnv* env, const std::string& groupId,
jobject jListener)
{
- JniOnDeleteListener::Ptr onDeleteListener = addOnDeleteListener(env, jListener);
-
+ JniOnDeleteListener *onDeleteListener = addOnDeleteListener(env, jListener);
if (nullptr == onDeleteListener)
{
LOGE("onDeleteListener is null");
return OC_STACK_ERROR;
}
- DeleteCallback deleteCallback = std::bind([](const HeaderOptions& opts,
- const int eCode,
- std::weak_ptr<JniOnDeleteListener> weak_ref)
+ DeleteCallback deleteCallback = [onDeleteListener](const HeaderOptions& opts,
+ const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onDeleteCallback(opts, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, onDeleteListener);
+ onDeleteListener->onDeleteCallback(opts, eCode);
+ };
return m_sharedAccountManager->deleteGroup(groupId, deleteCallback);
}
OCStackResult JniOcAccountManager::getGroupInfoAll(JNIEnv* env, jobject jListener)
{
- JniOnGetListener::Ptr onGetListener = addOnGetListener(env, jListener);
-
+ JniOnGetListener *onGetListener = addOnGetListener(env, jListener);
if (nullptr == onGetListener)
{
LOGE("onGetListener is null");
return OC_STACK_ERROR;
}
- GetCallback getCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnGetListener> weak_ref)
+ GetCallback getCallback = [onGetListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onGetCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onGetListener);
+ onGetListener->onGetCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->getGroupInfoAll(getCallback);
}
OCStackResult JniOcAccountManager::getGroupInfo(JNIEnv* env, const std::string& groupId,
jobject jListener)
{
- JniOnGetListener::Ptr onGetListener = addOnGetListener(env, jListener);
-
+ JniOnGetListener *onGetListener = addOnGetListener(env, jListener);
if (nullptr == onGetListener)
{
LOGE("onGetListener is null");
return OC_STACK_ERROR;
}
- GetCallback getCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnGetListener> weak_ref)
+ GetCallback getCallback = [onGetListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onGetCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onGetListener);
+ onGetListener->onGetCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->getGroupInfo(groupId, getCallback);
}
const OCRepresentation& propertyValue,
jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->addPropertyValueToGroup(groupId, propertyValue, postCallback);
}
const OCRepresentation& propertyValue,
jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->deletePropertyValueFromGroup(groupId, propertyValue,
postCallback);
const OCRepresentation& propertyValue,
jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->updatePropertyValueOnGroup(groupId, propertyValue,
postCallback);
OCStackResult JniOcAccountManager::observeGroup(JNIEnv* env, jobject jListener)
{
- JniOnObserveListener::Ptr onObserveListener = addOnObserveListener(env, jListener);
-
+ JniOnObserveListener *onObserveListener = addOnObserveListener(env, jListener);
if (nullptr == onObserveListener)
{
LOGE("onObserveListener is null");
return OC_STACK_ERROR;
}
- ObserveCallback observeCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int& eCode,
- const int& sequenceNumber,
- std::weak_ptr<JniOnObserveListener> weak_ref)
+ ObserveCallback observeCallback = [onObserveListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int& eCode, const int& sequenceNumber)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onObserveCallback(opts, rep, eCode, sequenceNumber);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, onObserveListener);
+ onObserveListener->onObserveCallback(opts, rep, eCode, sequenceNumber);
+ };
return m_sharedAccountManager->observeGroup(observeCallback);
}
OCStackResult JniOcAccountManager::observeInvitation(JNIEnv* env, jobject jListener)
{
- JniOnObserveListener::Ptr onObserveListener = addOnObserveListener(env, jListener);
-
+ JniOnObserveListener *onObserveListener = addOnObserveListener(env, jListener);
if (nullptr == onObserveListener)
{
LOGE("onObserveListener is null");
return OC_STACK_ERROR;
}
- ObserveCallback observeCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int& eCode,
- const int& sequenceNumber,
- std::weak_ptr<JniOnObserveListener> weak_ref)
+ ObserveCallback observeCallback = [onObserveListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int& eCode, const int& sequenceNumber)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onObserveCallback(opts, rep, eCode, sequenceNumber);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4, onObserveListener);
+ onObserveListener->onObserveCallback(opts, rep, eCode, sequenceNumber);
+ };
return m_sharedAccountManager->observeInvitation(observeCallback);
}
OCStackResult JniOcAccountManager::sendInvitation(JNIEnv* env, const std::string& groupId,
const std::string& userUuid, jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
-
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
if (nullptr == onPostListener)
{
LOGE("onPostListener is null");
return OC_STACK_ERROR;
}
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedAccountManager->sendInvitation(groupId, userUuid, postCallback);
}
OCStackResult JniOcAccountManager::cancelInvitation(JNIEnv* env, const std::string& groupId,
const std::string& userUuid, jobject jListener)
{
- JniOnDeleteListener::Ptr onDeleteListener = addOnDeleteListener(env, jListener);
-
+ JniOnDeleteListener *onDeleteListener = addOnDeleteListener(env, jListener);
if (nullptr == onDeleteListener)
{
LOGE("onDeleteListener is null");
return OC_STACK_ERROR;
}
- DeleteCallback deleteCallback = std::bind([](const HeaderOptions& opts,
- const int eCode,
- std::weak_ptr<JniOnDeleteListener> weak_ref)
+ DeleteCallback deleteCallback = [onDeleteListener](const HeaderOptions& opts,
+ const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onDeleteCallback(opts, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, onDeleteListener);
+ onDeleteListener->onDeleteCallback(opts, eCode);
+ };
return m_sharedAccountManager->cancelInvitation(groupId, userUuid, deleteCallback);
}
OCStackResult JniOcAccountManager::replyToInvitation(JNIEnv* env, const std::string& groupId,
const bool accept, jobject jListener)
{
- JniOnDeleteListener::Ptr onDeleteListener = addOnDeleteListener(env, jListener);
-
+ JniOnDeleteListener *onDeleteListener = addOnDeleteListener(env, jListener);
if (nullptr == onDeleteListener)
{
LOGE("onDeleteListener is null");
return OC_STACK_ERROR;
}
- DeleteCallback deleteCallback = std::bind([](const HeaderOptions& opts,
- const int eCode,
- std::weak_ptr<JniOnDeleteListener> weak_ref)
+ DeleteCallback deleteCallback = [onDeleteListener](const HeaderOptions& opts,
+ const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onDeleteCallback(opts, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, onDeleteListener);
+ onDeleteListener->onDeleteCallback(opts, eCode);
+ };
return m_sharedAccountManager->replyToInvitation(groupId, accept, deleteCallback);
}
OCStackResult replyToInvitation(JNIEnv* env, const std::string& groupId, const bool accept,
jobject jListener);
- JniOnGetListener::Ptr addOnGetListener(JNIEnv* env, jobject jListener);
- JniOnPostListener::Ptr addOnPostListener(JNIEnv* env, jobject jListener);
- JniOnDeleteListener::Ptr addOnDeleteListener(JNIEnv* env, jobject jListener);
- JniOnObserveListener::Ptr addOnObserveListener(JNIEnv* env, jobject jListener);
+ JniOnGetListener* addOnGetListener(JNIEnv* env, jobject jListener);
+ JniOnPostListener* addOnPostListener(JNIEnv* env, jobject jListener);
+ JniOnDeleteListener* addOnDeleteListener(JNIEnv* env, jobject jListener);
+ JniOnObserveListener* addOnObserveListener(JNIEnv* env, jobject jListener);
void removeOnGetListener(JNIEnv* env, jobject jListener);
void removeOnPostListener(JNIEnv* env, jobject jListener);
OCStackResult JniOcResource::get(JNIEnv* env, const QueryParamsMap &queryParametersMap, jobject jListener)
{
- JniOnGetListener::Ptr onGetListener = addOnGetListener(env, jListener);
+ JniOnGetListener *onGetListener = addOnGetListener(env, jListener);
- GetCallback getCallback = std::bind([](
+ GetCallback getCallback = [onGetListener](
const HeaderOptions& opts,
const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnGetListener> weak_ref)
+ const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onGetCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onGetListener);
+ onGetListener->onGetCallback(opts, rep, eCode);
+ };
return m_sharedResource->get(queryParametersMap, getCallback);
}
OCStackResult JniOcResource::get(JNIEnv* env, const QueryParamsMap &queryParametersMap, jobject jListener,
QualityOfService QoS)
{
- JniOnGetListener::Ptr onGetListener = addOnGetListener(env, jListener);
+ JniOnGetListener *onGetListener = addOnGetListener(env, jListener);
- GetCallback getCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnGetListener> weak_ref)
+ GetCallback getCallback = [onGetListener](const HeaderOptions& opts, const OCRepresentation& rep,
+ const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onGetCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onGetListener);
+ onGetListener->onGetCallback(opts, rep, eCode);
+ };
return m_sharedResource->get(queryParametersMap, getCallback, QoS);
}
const QueryParamsMap &queryParametersMap,
jobject jListener)
{
- JniOnGetListener::Ptr onGetListener = addOnGetListener(env, jListener);
+ JniOnGetListener *onGetListener = addOnGetListener(env, jListener);
- GetCallback getCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnGetListener> weak_ref)
+ GetCallback getCallback = [onGetListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onGetCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onGetListener);
+ onGetListener->onGetCallback(opts, rep, eCode);
+ };
- return m_sharedResource->get(resourceType, resourceInterface, queryParametersMap, getCallback);
+ return m_sharedResource->get(resourceType, resourceInterface, queryParametersMap,
+ getCallback);
}
OCStackResult JniOcResource::get(JNIEnv* env, const std::string &resourceType,
const std::string &resourceInterface, const QueryParamsMap &queryParametersMap,
jobject jListener, QualityOfService QoS)
{
- JniOnGetListener::Ptr onGetListener = addOnGetListener(env, jListener);
+ JniOnGetListener *onGetListener = addOnGetListener(env, jListener);
- GetCallback getCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnGetListener> weak_ref)
+ GetCallback getCallback = [onGetListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onGetCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onGetListener);
+ onGetListener->onGetCallback(opts, rep, eCode);
+ };
- return m_sharedResource->get(resourceType, resourceInterface, queryParametersMap, getCallback, QoS);
+ return m_sharedResource->get(resourceType, resourceInterface, queryParametersMap,
+ getCallback, QoS);
}
OCStackResult JniOcResource::put(JNIEnv* env, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener)
{
- JniOnPutListener::Ptr onPutListener = addOnPutListener(env, jListener);
+ JniOnPutListener *onPutListener = addOnPutListener(env, jListener);
- PutCallback putCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPutListener> weak_ref)
+ PutCallback putCallback = [onPutListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPutCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPutListener);
+ onPutListener->onPutCallback(opts, rep, eCode);
+ };
return m_sharedResource->put(representation, queryParametersMap, putCallback);
}
OCStackResult JniOcResource::put(JNIEnv* env, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- JniOnPutListener::Ptr onPutListener = addOnPutListener(env, jListener);
+ JniOnPutListener *onPutListener = addOnPutListener(env, jListener);
- PutCallback putCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPutListener> weak_ref)
+ PutCallback putCallback = [onPutListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPutCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPutListener);
+ onPutListener->onPutCallback(opts, rep, eCode);
+ };
return m_sharedResource->put(representation, queryParametersMap, putCallback, QoS);
}
const std::string &resourceInterface, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener)
{
- JniOnPutListener::Ptr onPutListener = addOnPutListener(env, jListener);
+ JniOnPutListener *onPutListener = addOnPutListener(env, jListener);
- PutCallback putCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPutListener> weak_ref)
+ PutCallback putCallback = [onPutListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPutCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPutListener);
+ onPutListener->onPutCallback(opts, rep, eCode);
+ };
return m_sharedResource->put(resourceType, resourceInterface, representation,
- queryParametersMap, putCallback);
+ queryParametersMap, putCallback);
}
OCStackResult JniOcResource::put(JNIEnv* env, const std::string &resourceType,
const std::string &resourceInterface, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- JniOnPutListener::Ptr onPutListener = addOnPutListener(env, jListener);
+ JniOnPutListener *onPutListener = addOnPutListener(env, jListener);
- PutCallback putCallback = std::bind( [](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPutListener> weak_ref)
+ PutCallback putCallback = [onPutListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPutCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPutListener);
+ onPutListener->onPutCallback(opts, rep, eCode);
+ };
return m_sharedResource->put(resourceType, resourceInterface, representation,
- queryParametersMap, putCallback, QoS);
+ queryParametersMap, putCallback, QoS);
}
OCStackResult JniOcResource::post(JNIEnv* env, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
- PostCallback postCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedResource->post(representation, queryParametersMap, postCallback);
}
OCStackResult JniOcResource::post(JNIEnv* env, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
- PostCallback postCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedResource->post(representation, queryParametersMap, postCallback, QoS);
}
const std::string &resourceInterface, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
- PostCallback postCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedResource->post(resourceType, resourceInterface, representation,
- queryParametersMap, postCallback);
+ queryParametersMap, postCallback);
}
OCStackResult JniOcResource::post(JNIEnv* env, const std::string &resourceType,
const std::string &resourceInterface, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
- PostCallback postCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedResource->post(resourceType, resourceInterface, representation,
- queryParametersMap, postCallback, QoS);
+ queryParametersMap, postCallback, QoS);
}
OCStackResult JniOcResource::deleteResource(JNIEnv* env, jobject jListener)
{
- JniOnDeleteListener::Ptr onDeleteListener = addOnDeleteListener(env, jListener);
+ JniOnDeleteListener *onDeleteListener = addOnDeleteListener(env, jListener);
- DeleteCallback deleteCallback = std::bind([](
- const HeaderOptions& opts,
- const int eCode,
- std::weak_ptr<JniOnDeleteListener> weak_ref)
+ DeleteCallback deleteCallback = [onDeleteListener](const HeaderOptions& opts,
+ const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onDeleteCallback(opts, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, onDeleteListener);
+ onDeleteListener->onDeleteCallback(opts, eCode);
+ };
return m_sharedResource->deleteResource(deleteCallback);
}
OCStackResult JniOcResource::deleteResource(JNIEnv* env, jobject jListener, QualityOfService QoS)
{
- JniOnDeleteListener::Ptr onDeleteListener = addOnDeleteListener(env, jListener);
+ JniOnDeleteListener *onDeleteListener = addOnDeleteListener(env, jListener);
- DeleteCallback deleteCallback = std::bind([](
- const HeaderOptions& opts,
- const int eCode,
- std::weak_ptr<JniOnDeleteListener> weak_ref)
+ DeleteCallback deleteCallback = [onDeleteListener](const HeaderOptions& opts, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onDeleteCallback(opts, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, onDeleteListener);
+ onDeleteListener->onDeleteCallback(opts, eCode);
+ };
return m_sharedResource->deleteResource(deleteCallback, QoS);
}
OCStackResult JniOcResource::observe(JNIEnv* env, ObserveType observeType,
const QueryParamsMap &queryParametersMap, jobject jListener)
{
- JniOnObserveListener::Ptr onObserveListener = addOnObserveListener(env, jListener);
+ JniOnObserveListener *onObserveListener = addOnObserveListener(env, jListener);
- ObserveCallback observeCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int& eCode,
- const int& sequenceNumber,
- std::weak_ptr<JniOnObserveListener> weak_ref)
+ ObserveCallback observeCallback = [onObserveListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int& eCode, const int& sequenceNumber)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onObserveCallback(opts, rep, eCode, sequenceNumber);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
- std::placeholders::_4, onObserveListener);
+ onObserveListener->onObserveCallback(opts, rep, eCode, sequenceNumber);
+ };
return m_sharedResource->observe(observeType, queryParametersMap, observeCallback);
}
OCStackResult JniOcResource::observe(JNIEnv* env, ObserveType observeType,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- JniOnObserveListener::Ptr onObserveListener = addOnObserveListener(env, jListener);
+ JniOnObserveListener *onObserveListener = addOnObserveListener(env, jListener);
- ObserveCallback observeCallback = std::bind([](
- const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int& eCode,
- const int& sequenceNumber,
- std::weak_ptr<JniOnObserveListener> weak_ref)
+ ObserveCallback observeCallback = [onObserveListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int& eCode, const int& sequenceNumber)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onObserveCallback(opts, rep, eCode, sequenceNumber);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
- std::placeholders::_4, onObserveListener);
+ onObserveListener->onObserveCallback(opts, rep, eCode, sequenceNumber);
+ };
return m_sharedResource->observe(observeType, queryParametersMap, observeCallback, QoS);
}
return m_sharedResource->deviceName();
}
-JniOnGetListener::Ptr JniOcResource::addOnGetListener(JNIEnv* env, jobject jListener)
+JniOnGetListener* JniOcResource::addOnGetListener(JNIEnv* env, jobject jListener)
{
return this->m_onGetManager.addListener(env, jListener, this);
}
-JniOnPutListener::Ptr JniOcResource::addOnPutListener(JNIEnv* env, jobject jListener)
+JniOnPutListener* JniOcResource::addOnPutListener(JNIEnv* env, jobject jListener)
{
return this->m_onPutManager.addListener(env, jListener, this);
}
-JniOnPostListener::Ptr JniOcResource::addOnPostListener(JNIEnv* env, jobject jListener)
+JniOnPostListener* JniOcResource::addOnPostListener(JNIEnv* env, jobject jListener)
{
return this->m_onPostManager.addListener(env, jListener, this);
}
-JniOnDeleteListener::Ptr JniOcResource::addOnDeleteListener(JNIEnv* env, jobject jListener)
+JniOnDeleteListener* JniOcResource::addOnDeleteListener(JNIEnv* env, jobject jListener)
{
return this->m_onDeleteManager.addListener(env, jListener, this);
}
-JniOnObserveListener::Ptr JniOcResource::addOnObserveListener(JNIEnv* env, jobject jListener)
+JniOnObserveListener* JniOcResource::addOnObserveListener(JNIEnv* env, jobject jListener)
{
return this->m_onObserveManager.addListener(env, jListener, this);
}
}
#ifdef WITH_MQ
-std::shared_ptr<JniOnMQTopicFoundListener> JniOcResource::addOnTopicFoundListener(JNIEnv* env, jobject jListener)
+JniOnMQTopicFoundListener* JniOcResource::addOnTopicFoundListener(JNIEnv* env, jobject jListener)
{
return this->m_onFoundTopicResourceManager.addListener(env, jListener, this);
}
this->m_onFoundTopicResourceManager.removeListener(env, jListener);
}
-std::shared_ptr<JniOnMQSubscribeListener> JniOcResource::addOnMQTopicSubscribeListener(JNIEnv* env, jobject jListener)
+JniOnMQSubscribeListener* JniOcResource::addOnMQTopicSubscribeListener(JNIEnv* env, jobject jListener)
{
return this->m_onSubcribeTopicManager.addListener(env, jListener, this);
}
OCStackResult JniOcResource::discoveryMQTopics(JNIEnv* env,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- std::shared_ptr<JniOnMQTopicFoundListener> onTopicFoundListener = addOnTopicFoundListener(env, jListener);
+ JniOnMQTopicFoundListener *onTopicFoundListener = addOnTopicFoundListener(env, jListener);
- MQTopicCallback findCallback = std::bind([](const int& eCode,
- const std::string& uri,
- std::shared_ptr<OCResource> resource
- std::weak_ptr<JniOnMQTopicFoundListener> weak_ref)
+ MQTopicCallback findCallback = [onTopicFoundListener](const int& eCode,
+ const std::string& uri, std::shared_ptr<OCResource> resource)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->foundTopicCallback(eCode, uri, resource);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onTopicFoundListener);
+ onTopicFoundListener->foundTopicCallback(eCode, uri, resource);
+ };
return m_sharedResource->discoveryMQTopics(queryParametersMap, findCallback, QoS);
}
const OCRepresentation &representation, const std::string &targetUri,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- std::shared_ptr<JniOnMQTopicFoundListener> onTopicCreatedListener = addOnTopicFoundListener(env, jListener);
+ JniOnMQTopicFoundListener *onTopicCreatedListener = addOnTopicFoundListener(env, jListener);
- MQTopicCallback createCallback = std::bind([](const int& eCode,
- const std::string& uri,
- std::shared_ptr<OCResource> resource,
- std::weak_ptr<JniOnMQTopicFoundListener> weak_ref)
+ MQTopicCallback createCallback = [onTopicCreatedListener](const int& eCode,
+ const std::string& uri, std::shared_ptr<OCResource> resource)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->createdTopicCallback(eCode, uri, resource);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onTopicCreatedListener);
+ onTopicCreatedListener->createdTopicCallback(eCode, uri, resource);
+ };
return m_sharedResource->createMQTopic(representation, targetUri,
queryParametersMap,
OCStackResult JniOcResource::subscribeMQTopic(JNIEnv* env,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- std::shared_ptr<JniOnMQSubscribeListener> onSubscribeListener = addOnMQTopicSubscribeListener(env, jListener);
+ JniOnMQSubscribeListener *onSubscribeListener = addOnMQTopicSubscribeListener(env, jListener);
- ObserveCallback subscribeCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int& eCode,
- const int& sequenceNumber,
- std::weak_ptr<JniOnMQSubscribeListener> weak_ref)
+ ObserveCallback subscribeCallback = [onSubscribeListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int& eCode, const int& sequenceNumber)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onSubscribeCallback(opts, rep, eCode, sequenceNumber);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3,
- std::placeholders::_4, onSubscribeListener);
+ onSubscribeListener->onSubscribeCallback(opts, rep, eCode, sequenceNumber);
+ };
return m_sharedResource->subscribeMQTopic(ObserveType::Observe, queryParametersMap,
subscribeCallback, QoS);
OCStackResult JniOcResource::requestMQPublish(JNIEnv* env,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- listener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedResource->requestMQPublish(queryParametersMap, postCallback, QoS);
}
OCStackResult JniOcResource::publishMQTopic(JNIEnv* env, const OCRepresentation &representation,
const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS)
{
- JniOnPostListener::Ptr onPostListener = addOnPostListener(env, jListener);
+ JniOnPostListener *onPostListener = addOnPostListener(env, jListener);
- PostCallback postCallback = std::bind([](const HeaderOptions& opts,
- const OCRepresentation& rep,
- const int eCode,
- std::weak_ptr<JniOnPostListener> weak_ref)
+ PostCallback postCallback = [onPostListener](const HeaderOptions& opts,
+ const OCRepresentation& rep, const int eCode)
{
- auto listener = weak_ref.lock();
- if (listener)
- {
- onPostListener->onPostCallback(opts, rep, eCode);
- }
- }, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, onPostListener);
+ onPostListener->onPostCallback(opts, rep, eCode);
+ };
return m_sharedResource->publishMQTopic(representation, queryParametersMap,
postCallback, QoS);
std::string sid() const;
std::string deviceName() const;
- JniOnGetListener::Ptr addOnGetListener(JNIEnv* env, jobject jListener);
- JniOnPutListener::Ptr addOnPutListener(JNIEnv* env, jobject jListener);
- JniOnPostListener::Ptr addOnPostListener(JNIEnv* env, jobject jListener);
- JniOnDeleteListener::Ptr addOnDeleteListener(JNIEnv* env, jobject jListener);
- JniOnObserveListener::Ptr addOnObserveListener(JNIEnv* env, jobject jListener);
+ JniOnGetListener* addOnGetListener(JNIEnv* env, jobject jListener);
+ JniOnPutListener* addOnPutListener(JNIEnv* env, jobject jListener);
+ JniOnPostListener* addOnPostListener(JNIEnv* env, jobject jListener);
+ JniOnDeleteListener* addOnDeleteListener(JNIEnv* env, jobject jListener);
+ JniOnObserveListener* addOnObserveListener(JNIEnv* env, jobject jListener);
void removeOnGetListener(JNIEnv* env, jobject jListener);
void removeOnPutListener(JNIEnv* env, jobject jListener);
static JniOcResource* getJniOcResourcePtr(JNIEnv *env, jobject thiz);
#ifdef WITH_MQ
- std::shared_ptr<JniOnMQTopicFoundListener> addOnTopicFoundListener(JNIEnv* env, jobject jListener);
+ JniOnMQTopicFoundListener* addOnTopicFoundListener(JNIEnv* env, jobject jListener);
void removeOnTopicFoundListener(JNIEnv* env, jobject jListener);
- std::shared_ptr<JniOnMQSubscribeListener> addOnMQTopicSubscribeListener(JNIEnv* env, jobject jListener);
+ JniOnMQSubscribeListener* addOnMQTopicSubscribeListener(JNIEnv* env, jobject jListener);
void removeOnMQTopicSubscribeListener(JNIEnv* env, jobject jListener);
OCStackResult discoveryMQTopics(JNIEnv* env, const QueryParamsMap &queryParametersMap,
class JniOnDeleteListener
{
public:
- typedef std::shared_ptr<JniOnDeleteListener> Ptr;
-
JniOnDeleteListener(JNIEnv *env, jobject jListener, JniOcResource* owner);
#ifdef WITH_CLOUD
JniOnDeleteListener(JNIEnv *env, jobject jListener, JniOcAccountManager* owner);
class JniOnGetListener
{
public:
- typedef std::shared_ptr<JniOnGetListener> Ptr;
-
JniOnGetListener(JNIEnv *env, jobject listener, JniOcResource* resource);
#ifdef WITH_CLOUD
JniOnGetListener(JNIEnv *env, jobject listener, JniOcAccountManager* resource);
class JniOnObserveListener
{
public:
- typedef std::shared_ptr<JniOnObserveListener> Ptr;
-
JniOnObserveListener(JNIEnv *env, jobject jListener, JniOcResource* owner);
#ifdef WITH_CLOUD
JniOnObserveListener(JNIEnv *env, jobject jListener, JniOcAccountManager* owner);
class JniOnPostListener
{
public:
- typedef std::shared_ptr<JniOnPostListener> Ptr;
-
JniOnPostListener(JNIEnv *env, jobject jListener, JniOcResource* owner);
#ifdef WITH_CLOUD
JniOnPostListener(JNIEnv *env, jobject jListener, JniOcAccountManager* owner);
class JniOnPutListener
{
public:
- typedef std::shared_ptr<JniOnPutListener> Ptr;
-
JniOnPutListener(JNIEnv *env, jobject jListener, JniOcResource* resource);
~JniOnPutListener();