// limitations under the License.
//
-
#include "CalendarResponseDispatcher.h"
-#include <dpl/log/log.h>
#include <CommonsJavaScript/JSCallbackManager.h>
-#include <JSTizenException.h>
-#include <JSTizenExceptionFactory.h>
+#include <JSWebAPIErrorFactory.h>
#include "CalendarConverter.h"
#include "JSCalendarEventId.h"
#include "CalendarMultiCallback.h"
#include "EventId.h"
-#include "CalendarAsyncCallbackManager.h"
-
+#include <Logger.h>
+#include <GlobalContextManager.h>
using namespace WrtDeviceApis::Commons;
using namespace WrtDeviceApis::CommonsJavaScript;
+using namespace DeviceAPI::Common;
namespace DeviceAPI {
namespace Calendar {
{
JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
if (!cbm) {
- LogError("no callback manager");
- return;
+ LoggerE("no callback manager");
+ return;
+ }
+
+ if( !GlobalContextManager::getInstance()->isAliveGlobalContext(cbm->getContext())){
+ LoggerW("Global context invalidated.");
+ return;
}
Try
{
- CalendarAsyncCallbackManagerSingleton::Instance().unregisterCallbackManager(cbm);
-
if (event->getResult()) {
- CalendarConverter converter(cbm->getContext());
+ CalendarConverter converter(cbm->getContext(), event.Get());
const std::vector<ICalendarPtr> &results = event->getCalendars();
- LogDebug("found calendars: " << results.size());
+ LoggerD("found calendars: " << results.size());
JSValueRef result = converter.toJSValueRef(results);
cbm->callOnSuccess(result);
return;
}
Catch(Exception)
{
- LogError("error during processing answer");
+ LoggerE("error during processing answer");
}
- JSValueRef errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ JSValueRef errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
cbm->callOnError(errorObject);
}
Try
{
if (!cbm) {
- LogDebug("no callback manager");
- return;
+ LoggerD("no callback manager");
+ return;
}
- CalendarAsyncCallbackManagerSingleton::Instance().unregisterCallbackManager(cbm);
+ if( !GlobalContextManager::getInstance()->isAliveGlobalContext(cbm->getContext())){
+ LoggerW("Global context invalidated.");
+ return;
+ }
if (event->getResult()) {
- LogDebug("result success");
- CalendarConverter converter(cbm->getContext());
+ LoggerD("result success");
+ CalendarConverter converter(cbm->getContext(), event.Get());
JSValueRef result;
if (CalendarEvent::TASK_TYPE==event->getCalendarType()) {
cbm->callOnSuccess(result);
return;
}
- LogDebug("result fail");
+ LoggerD("result fail");
}
Catch(ConversionException)
{
- LogError("cannot convert event");
+ LoggerE("cannot convert event");
}
- JSValueRef errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ JSValueRef errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
cbm->callOnError(errorObject);
}
{
JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
if (!cbm) {
- LogDebug("no callback manager");
+ LoggerD("no callback manager");
return;
}
- CalendarAsyncCallbackManagerSingleton::Instance().unregisterCallbackManager(cbm);
+ if( !GlobalContextManager::getInstance()->isAliveGlobalContext(cbm->getContext())){
+ LoggerW("Global context invalidated.");
+ return;
+ }
if (event->getResult()) {
cbm->callOnSuccess();
} else {
- JSValueRef errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ JSValueRef errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
cbm->callOnError(errorObject);
}
}
{
JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
if (!cbm) {
- LogDebug("no callback manager");
+ LoggerD("no callback manager");
return;
}
- CalendarAsyncCallbackManagerSingleton::Instance().unregisterCallbackManager(cbm);
+ if( !GlobalContextManager::getInstance()->isAliveGlobalContext(cbm->getContext())){
+ LoggerW("Global context invalidated.");
+ return;
+ }
if (event->getResult()) {
cbm->callOnSuccess();
JSValueRef errorObject;
if (event->getExceptionCode() ==
ExceptionCodes::NotFoundException) {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::NOT_FOUND_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::NOT_FOUND_ERROR);
} else {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
}
cbm->callOnError(errorObject);
}
{
JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
if (!cbm) {
- LogError("no callback manager");
- return;
+ LoggerE("no callback manager");
+ return;
}
+
+ if( !GlobalContextManager::getInstance()->isAliveGlobalContext(cbm->getContext())){
+ LoggerW("Global context invalidated.");
+ return;
+ }
+
Try
{
- CalendarAsyncCallbackManagerSingleton::Instance().unregisterCallbackManager(cbm);
-
if (event->getResult()) {
- CalendarConverter converter(cbm->getContext());
+ CalendarConverter converter(cbm->getContext(), event.Get());
JSValueRef result;
if (CalendarEvent::TASK_TYPE==event->getCalendarType()) {
} else {
JSValueRef errorObject;
if (event->getExceptionCode() == ExceptionCodes::InvalidArgumentException) {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::INVALID_VALUES_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::INVALID_VALUES_ERROR);
} else if (event->getExceptionCode() == ExceptionCodes::NotFoundException) {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
} else {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
}
cbm->callOnError(errorObject);
return;
}
Catch(Exception)
{
- LogError("error during processing answer");
- JSValueRef errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ LoggerE("error during processing answer");
+ JSValueRef errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
cbm->callOnError(errorObject);
}
}
Try
{
if (!cbm) {
- LogDebug("no callback manager");
+ LoggerD("no callback manager");
return;
}
- CalendarAsyncCallbackManagerSingleton::Instance().unregisterCallbackManager(cbm);
+ if( !GlobalContextManager::getInstance()->isAliveGlobalContext(cbm->getContext())){
+ LoggerW("Global context invalidated.");
+ return;
+ }
if (event->getResult()) {
- CalendarConverter converter(cbm->getContext());
+ CalendarConverter converter(cbm->getContext(), event.Get());
cbm->callOnSuccess(converter.toJSValueRefEventArray(event->getExpandedEventList()));
return;
} else {
JSValueRef errorObject;
if (event->getExceptionCode()==ExceptionCodes::InvalidArgumentException) {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::INVALID_VALUES_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::INVALID_VALUES_ERROR);
} else if (event->getExceptionCode()==ExceptionCodes::NotFoundException) {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::NOT_FOUND_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::NOT_FOUND_ERROR);
} else {
- errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
}
cbm->callOnError(errorObject);
return;
}
Catch(Exception)
{
- LogError("error during processing answer");
- JSValueRef errorObject = DeviceAPI::Common::JSTizenExceptionFactory::makeErrorObject(
- cbm->getContext(), DeviceAPI::Common::JSTizenException::UNKNOWN_ERROR);
+ LoggerE("error during processing answer");
+ JSValueRef errorObject = DeviceAPI::Common::JSWebAPIErrorFactory::makeErrorObject(
+ cbm->getContext(), DeviceAPI::Common::JSWebAPIErrorFactory::UNKNOWN_ERROR);
cbm->callOnError(errorObject);
}
}
DPL::StaticPointerCast<CalendarChangeCallbackPrivateData>(event->getPrivateData());
JSContextRef context = multiCallbacks->getOnAdded()->getContext();
- CalendarConverter converter(context);
+ CalendarConverter converter(context, multiCallbacks.Get());
JSValueRef result;
Try
//case OnEventsChanged::ON_CALENDAR_RESET:
default:
{
- LogDebug("Invalid status!");
+ LoggerD("Invalid status!");
break;
}
}
}
Catch(ConversionException)
{
- LogError("cannot convert change event");
+ LoggerE("cannot convert change event");
}
Catch(Exception)
{
- LogError("exception occurred while handling change noti callback!");
+ LoggerE("exception occurred while handling change noti callback!");
}
}