'type': 'loadable_module',
'dependencies': [
'../common/common.gyp:tizen_common',
- '../notification/notification.gyp:tizen_notification',
],
'sources': [
'alarm_api.js',
]
},
}],
+ ['extension_host_os == "mobile"', {
+ 'dependencies': [
+ '../notification/notification.gyp:tizen_notification',
+ ],
+ }],
+ ['extension_host_os == "wearable"', {
+ 'dependencies': [
+ '../notification/notification.gyp:tizen_notification',
+ ],
+ }]
],
},
],
}
};
+// Singleton to check on which profile plugins are executed
+var ProfileAlarm = (function() {
+ var m_profile = null;
+ function ProfileAlarm() {
+ if (m_profile == null) {
+ m_profile = privUtils_.checkProfile();
+ }
+ Object.defineProperties(this, {
+ profile: {
+ get: function() {
+ return m_profile;
+ },
+ set: function() {},
+ enumerable: true
+ }
+ })
+ };
+
+ var instance;
+ return {
+ getInstance: function() {
+ if (instance == null) {
+ instance = new ProfileAlarm();
+ // Hide the constructor so the returned objected can't be new'd...
+ instance.constructor = null;
+ }
+ return instance;
+ }
+ };
+})();
+
+var _profile = ProfileAlarm.getInstance().profile;
+
+// Notifications feature are available on mobile and wearable profile
+if (_profile != 'mobile' && _profile != 'wearable') {
+ delete AlarmManager.prototype.addAlarmNotification;
+ delete AlarmManager.prototype.getAlarmNotification;
+}
+
//exports //////////////////////////////////////////////////////////////
exports = new AlarmManager();
using namespace std::placeholders;
RegisterSyncHandler("AlarmManager_add", std::bind(&AlarmManager::Add, &manager_, _1, _2));
- RegisterSyncHandler("AlarmManager_addAlarmNotification",
- std::bind(&AlarmManager::AddAlarmNotification, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_remove", std::bind(&AlarmManager::Remove, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_removeAll",
std::bind(&AlarmManager::RemoveAll, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_get", std::bind(&AlarmManager::Get, &manager_, _1, _2));
- RegisterSyncHandler("AlarmManager_getAlarmNotification",
- std::bind(&AlarmManager::GetAlarmNotification, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_getAll", std::bind(&AlarmManager::GetAll, &manager_, _1, _2));
// AlarmRelative
RegisterSyncHandler("AlarmRelative_getRemainingSeconds",
// AlarmAbsolute
RegisterSyncHandler("AlarmAbsolute_getNextScheduledDate",
std::bind(&AlarmManager::GetNextScheduledDate, &manager_, _1, _2));
+
+ // Block of code related to Notification
+#if defined(TIZEN_MOBILE) || defined(TIZEN_WEARABLE)
+ RegisterSyncHandler("AlarmManager_addAlarmNotification",
+ std::bind(&AlarmManager::AddAlarmNotification, &manager_, _1, _2));
+ RegisterSyncHandler("AlarmManager_getAlarmNotification",
+ std::bind(&AlarmManager::GetAlarmNotification, &manager_, _1, _2));
+#endif
}
AlarmInstance::~AlarmInstance() {
#include <app.h>
#include <app_alarm.h>
#include <app_control_internal.h>
+
+#if defined(TIZEN_MOBILE) || defined(TIZEN_WEARABLE)
#include <notification_internal.h>
+#endif
#include "common/converter.h"
#include "common/logger.h"
ReportSuccess(result, out);
}
+#if defined(TIZEN_MOBILE) || defined(TIZEN_WEARABLE)
void AlarmManager::AddAlarmNotification(const picojson::value& args, picojson::object& out) {
using namespace extension::notification;
ScopeLogger();
result_obj.insert(std::make_pair("id", picojson::value(std::to_string(alarm_id))));
ReportSuccess(result, out);
}
+#endif
void AlarmManager::Remove(const picojson::value& args, picojson::object& out) {
ScopeLogger();
}
}
+#if defined(TIZEN_MOBILE) || defined(TIZEN_WEARABLE)
void AlarmManager::GetAlarmNotification(const picojson::value& args, picojson::object& out) {
using namespace extension::notification;
ScopeLogger();
ReportSuccess(result, out);
}
-
+#endif
static bool AlarmIterateCB(int alarm_id, void* user_data) {
ScopeLogger();
virtual ~AlarmManager();
void Add(const picojson::value& args, picojson::object& out);
- void AddAlarmNotification(const picojson::value& args, picojson::object& out);
void Remove(const picojson::value& args, picojson::object& out);
void RemoveAll(const picojson::value& args, picojson::object& out);
void Get(const picojson::value& args, picojson::object& out);
- void GetAlarmNotification(const picojson::value& args, picojson::object& out);
void GetAll(const picojson::value& args, picojson::object& out);
+#if defined(TIZEN_MOBILE) || defined(TIZEN_WEARABLE)
+ void AddAlarmNotification(const picojson::value& args, picojson::object& out);
+ void GetAlarmNotification(const picojson::value& args, picojson::object& out);
+#endif
// AlarmRelative
void GetRemainingSeconds(const picojson::value& args, picojson::object& out);
// AlarmAbsolute
}
};
+Utils.prototype.checkProfile = function() {
+ var result = native_.callSync('Utils_checkProfile', {});
+
+ return native_.getResultObject(result);
+};
+
+
/////////////////////////////////////////////////////////////////////////////
/** @constructor */
var Type = function() {};
CheckBackwardCompabilityPrivilegeAccess);
REGISTER_SYNC("Utils_toLongLong", ToLongLong);
REGISTER_SYNC("Utils_toUnsignedLongLong", ToUnsignedLongLong);
+ REGISTER_SYNC("Utils_checkProfile", CheckProfile);
#undef REGISTER_SYNC
#undef REGISTER_ASYNC
ReportSuccess(picojson::value(static_cast<double>(output)), out);
}
+void UtilsInstance::CheckProfile(const picojson::value& args, picojson::object& out) {
+ ScopeLogger();
+
+ std::string profile = "common";
+#if defined(TIZEN_MOBILE)
+ profile = "mobile";
+#elif defined(TIZEN_WEARABLE)
+ profile = "wearable";
+#elif defined(TIZEN_TV) || defined(USBHOST)
+ profile = "tv";
+#elif defined(TIZEN_IVI)
+ profile = "ivi";
+#endif
+
+ ReportSuccess(picojson::value(profile), out);
+}
+
} // namespace utils
} // namespace extension
void ToLongLong(const picojson::value& args, picojson::object& out);
void ToUnsignedLongLong(const picojson::value& args, picojson::object& out);
+ void CheckProfile(const picojson::value& args, picojson::object& out);
};
} // namespace utils
} // namespace extension