picojson::value StoreRemoteResource(FoundRemoteInfoPtr ptr);
picojson::value RemoveRemoteResource(FoundRemoteInfoPtr ptr);
common::TizenResult GetRemoteById(long long id, FoundRemoteInfoPtr* res_pointer) const;
+ picojson::value PrepareManageIdAnswer(bool keep_id, long long id = 0);
private:
IotconClientManager() = default;
IotconClientManager& operator=(const IotconClientManager&) = delete;
IotconClientManager& operator=(IotconClientManager&&) = delete;
- picojson::value PrepareManageIdAnswer(bool keep_id, long long id = 0);
static void PresenceHandler(iotcon_presence_h resource,
iotcon_error_e err,
iotcon_presence_response_h response,
} // namespace
-IotconInstance::IotconInstance() : initialized_(false), presence_started_(false) {
+IotconInstance::IotconInstance()
+ : initialized_(false),
+ presence_started_(false),
+ observing_started_(false),
+ caching_started_(false),
+ monitoring_started_(false) {
+
ScopeLogger();
using std::placeholders::_1;
if (!result) {
return result;
}
+
+ observing_started_ = true;
return common::TizenSuccess{IotconClientManager::GetInstance().StoreRemoteResource(ptr)};
}
CHECK_PRIVILEGE(kPrivilegeIotcon);
+ if (!observing_started_) {
+ LoggerD("Observing is not started. ignore stop observing");
+ long long id = 0;
+ if (args.find(kId)->second.is<double>()) {
+ id = static_cast<long long>(args.find(kId)->second.get<double>());
+ }
+ return common::TizenSuccess{IotconClientManager::GetInstance().PrepareManageIdAnswer(true, id)};
+ }
+
FoundRemoteInfoPtr ptr;
auto result = IotconUtils::RemoteResourceFromJson(args, &ptr);
if (!result) {
if (!result) {
return result;
}
+ observing_started_ = false;
ptr->observe_listener = nullptr;
return common::TizenSuccess{IotconClientManager::GetInstance().RemoveRemoteResource(ptr)};
}
return result;
}
+ caching_started_ = true;
return common::TizenSuccess{IotconClientManager::GetInstance().StoreRemoteResource(ptr)};
}
CHECK_PRIVILEGE(kPrivilegeIotcon);
+ if (!caching_started_) {
+ LoggerD("Caching is not started. ignore stop caching");
+ long long id = 0;
+ if (args.find(kId)->second.is<double>()) {
+ id = static_cast<long long>(args.find(kId)->second.get<double>());
+ }
+ return common::TizenSuccess{IotconClientManager::GetInstance().PrepareManageIdAnswer(true, id)};
+ }
+
FoundRemoteInfoPtr ptr;
auto result = IotconUtils::RemoteResourceFromJson(args, &ptr);
if (!result) {
if (!result) {
return result;
}
+
+ caching_started_ = false;
ptr->cache_change_listener = nullptr;
return common::TizenSuccess{IotconClientManager::GetInstance().RemoveRemoteResource(ptr)};
}
CHECK_PRIVILEGE(kPrivilegeIotcon);
-
FoundRemoteInfoPtr ptr;
auto result = IotconUtils::RemoteResourceFromJson(args, &ptr);
if (!result) {
if (!result) {
return result;
}
+ monitoring_started_ = true;
return common::TizenSuccess{IotconClientManager::GetInstance().StoreRemoteResource(ptr)};
}
CHECK_PRIVILEGE(kPrivilegeIotcon);
+ if (!monitoring_started_) {
+ LoggerD("Monitoring is not started. ignore stop monitoring");
+ long long id = 0;
+ if (args.find(kId)->second.is<double>()) {
+ id = static_cast<long long>(args.find(kId)->second.get<double>());
+ }
+ return common::TizenSuccess{IotconClientManager::GetInstance().PrepareManageIdAnswer(true, id)};
+ }
+
FoundRemoteInfoPtr ptr;
auto result = IotconUtils::RemoteResourceFromJson(args, &ptr);
if (!result) {
if (!result) {
return result;
}
+ monitoring_started_ = false;
ptr->state_listener = nullptr;
return common::TizenSuccess{IotconClientManager::GetInstance().RemoveRemoteResource(ptr)};
}