Re-implement 'create' functions to support dynamic loading 59/67259/2
authorMu-Woong Lee <muwoong.lee@samsung.com>
Tue, 26 Apr 2016 05:33:43 +0000 (14:33 +0900)
committerMu-Woong Lee <muwoong.lee@samsung.com>
Tue, 26 Apr 2016 05:37:25 +0000 (14:37 +0900)
Obsoluted trigger registration functions are removed.

Change-Id: I89b950d7b996653a8ae64e3c2f8e29df9619d164
Signed-off-by: Mu-Woong Lee <muwoong.lee@samsung.com>
57 files changed:
src/activity/Activity.cpp
src/activity/Activity.h
src/activity/create.cpp
src/app-stats/AppStatsLogger.h
src/app-stats/AppStatsProvider.cpp
src/app-stats/AppStatsProvider.h
src/app-stats/create.cpp
src/call/Call.cpp
src/call/Call.h
src/call/create.cpp
src/contacts/Contacts.cpp
src/contacts/Contacts.h
src/contacts/create.cpp
src/email/Email.cpp
src/email/Email.h
src/email/create.cpp
src/geofence/PlaceGeofenceProvider.cpp
src/geofence/PlaceGeofenceProvider.h
src/geofence/create.cpp
src/headphone/Headphone.cpp
src/headphone/Headphone.h
src/headphone/create.cpp
src/media-stats/MediaStatsLogger.h
src/media-stats/MediaStatsProvider.cpp
src/media-stats/MediaStatsProvider.h
src/media-stats/create.cpp
src/message/Message.cpp
src/message/Message.h
src/message/create.cpp
src/my-place/create.cpp
src/my-place/place_recognition.h
src/shared/BasicProvider.cpp
src/shared/BasicProvider.h
src/shared/create.h
src/social-stats/SocialStatsLogger.h
src/social-stats/SocialStatsProvider.cpp
src/social-stats/SocialStatsProvider.h
src/social-stats/create.cpp
src/system/Battery.cpp
src/system/Battery.h
src/system/Charger.cpp
src/system/Charger.h
src/system/Gps.cpp
src/system/Gps.h
src/system/Psmode.cpp
src/system/Psmode.h
src/system/Usb.cpp
src/system/Usb.h
src/system/create.cpp
src/time/Alarm.cpp
src/time/Alarm.h
src/time/Time.cpp
src/time/Time.h
src/time/create.cpp
src/wifi/Wifi.cpp
src/wifi/Wifi.h
src/wifi/create.cpp

index 017c061..f1a5da1 100644 (file)
@@ -37,14 +37,6 @@ bool ActivityProvider::isSupported()
        return util::getSystemInfoBool("tizen.org/feature/sensor.activity_recognition");
 }
 
-void ActivityProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE,
-                       "{\"Event\":{\"type\":\"string\", \"values\":[\"Detected\"]}}",
-                       "{\"Accuracy\":{\"type\":\"string\", \"values\":[\"Low\", \"Normal\", \"High\"]}}"
-                       );
-}
-
 void ActivityProvider::__updateCb(activity_type_e activity, const activity_data_h data, double timestamp, activity_error_e error, void* userData)
 {
        IF_FAIL_VOID_TAG(error == ACTIVITY_ERROR_NONE, _E, "Error: %d", error);
index b1bfe77..5fdc972 100644 (file)
@@ -39,7 +39,6 @@ namespace ctx {
                int unsubscribe();
 
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                activity_type_e __activityType;
index 5009ae3..caa0875 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Activity.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<StationaryActivityProvider>(SUBJ_ACTIVITY_STATIONARY, NULL);
-       registerProvider<WalkingActivityProvider>(SUBJ_ACTIVITY_WALKING, NULL);
-       registerProvider<RunningActivityProvider>(SUBJ_ACTIVITY_RUNNING, NULL);
-       registerProvider<InVehicleActivityProvider>(SUBJ_ACTIVITY_IN_VEHICLE, NULL);
+       ADD_PROVIDER(SUBJ_ACTIVITY_STATIONARY, StationaryActivityProvider);
+       ADD_PROVIDER(SUBJ_ACTIVITY_WALKING, WalkingActivityProvider);
+       ADD_PROVIDER(SUBJ_ACTIVITY_RUNNING, RunningActivityProvider);
+       ADD_PROVIDER(SUBJ_ACTIVITY_IN_VEHICLE, InVehicleActivityProvider);
 
-       return true;
+       return NULL;
 }
index 4a8dd02..2c6c4bd 100644 (file)
@@ -32,8 +32,6 @@ namespace ctx {
                int subscribe(Json option, Json *requestResult);
                int unsubscribe(Json option);
 
-               void submitTriggerItem() {}
-
        private:
                AppDbInitializer *__initializer;
                AppInstallMonitor *__installMon;
index ebafae9..3513854 100644 (file)
@@ -28,10 +28,6 @@ AppStatsProvider::~AppStatsProvider()
 {
 }
 
-void AppStatsProvider::submitTriggerItem()
-{
-}
-
 int AppStatsProvider::read(Json option, Json *requestResult)
 {
        AppDbHandle *handle = new(std::nothrow) AppDbHandle(this);
@@ -45,13 +41,3 @@ int AppStatsProvider::read(Json option, Json *requestResult)
 
        return ERR_NONE;
 }
-
-void AppFreqProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_READ,
-                       "{" TRIG_DEF_RANK "," TRIG_DEF_TOTAL_COUNT "}",
-                       "{"
-                               "\"AppId\":{\"type\":\"string\"},"
-                               TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK
-                       "}");
-}
index 7186955..85759be 100644 (file)
@@ -25,7 +25,6 @@ namespace ctx {
        class AppStatsProvider : public ContextProvider {
        public:
                int read(Json option, Json *requestResult);
-               virtual void submitTriggerItem();
 
        protected:
                AppStatsProvider(const char *subject);
@@ -72,8 +71,6 @@ namespace ctx {
        public:
                AppFreqProvider() :
                        AppStatsProvider(APP_SUBJ_FREQUENCY) {}
-
-               void submitTriggerItem();
        };
 
 }      /* namespace ctx */
index 5002f9a..b5de0f6 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "AppStatsProvider.h"
 #include "AppStatsLogger.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<AppStatsLogger>(APP_SUBJ_LOGGER, APP_HISTORY_PRIV);
-       registerProvider<RecentAppProvider>(APP_SUBJ_RECENTLY_USED, APP_HISTORY_PRIV);
-       registerProvider<FrequentAppProvider>(APP_SUBJ_FREQUENTLY_USED, APP_HISTORY_PRIV);
-       registerProvider<RareAppProvider>(APP_SUBJ_RARELY_USED, APP_HISTORY_PRIV);
-       registerProvider<AppPeakTimeProvider>(APP_SUBJ_PEAK_TIME, APP_HISTORY_PRIV);
-       registerProvider<AppSettingProvider>(APP_SUBJ_COMMON_SETTING, APP_HISTORY_PRIV);
-       registerProvider<AppFreqProvider>(APP_SUBJ_FREQUENCY, APP_HISTORY_PRIV);
+       ADD_PROVIDER(SUBJ_APP_LOGGER, AppStatsLogger);
+       ADD_PROVIDER(SUBJ_APP_RECENTLY_USED, RecentAppProvider);
+       ADD_PROVIDER(SUBJ_APP_FREQUENTLY_USED, FrequentAppProvider);
+       ADD_PROVIDER(SUBJ_APP_RARELY_USED, RareAppProvider);
+       ADD_PROVIDER(SUBJ_APP_PEAK_TIME, AppPeakTimeProvider);
+       ADD_PROVIDER(SUBJ_APP_COMMON_SETTING, AppSettingProvider);
+       ADD_PROVIDER(SUBJ_APP_FREQUENCY, AppFreqProvider);
 
-       return true;
+       return NULL;
 }
index 786fcc3..dc3d616 100644 (file)
@@ -54,18 +54,6 @@ bool CallStateProvider::isSupported()
        return util::getSystemInfoBool("tizen.org/feature/network.telephony");
 }
 
-void CallStateProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{"
-                               "\"Medium\":{\"type\":\"string\",\"values\":[\"Voice\",\"Video\"]},"
-                               "\"State\":{\"type\":\"string\",\"values\":[\"Idle\",\"Connecting\",\"Connected\"]},"
-                               "\"Address\":{\"type\":\"string\"}"
-                       "}",
-                       NULL);
-       /* TODO remove Connecting, Connected */
-}
-
 void CallStateProvider::__updateCb(telephony_h handle, telephony_noti_e notiId, void *data, void *userData)
 {
        CallStateProvider *instance = static_cast<CallStateProvider*>(userData);
index c980a38..79b5e6b 100644 (file)
@@ -33,7 +33,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                telephony_handle_list_s __handleList;
index 235db22..3fb4b08 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Call.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<CallStateProvider>(SUBJ_STATE_CALL, PRIV_TELEPHONY);
+       ADD_PROVIDER(SUBJ_STATE_CALL, CallStateProvider);
 
-       return true;
+       return NULL;
 }
index 8265fd6..13cf5c7 100644 (file)
@@ -38,16 +38,6 @@ bool ContactsChangeProvider::isSupported()
        return true;
 }
 
-void ContactsChangeProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE,
-                       "{"
-                               "\"Event\":{\"type\":\"string\",\"values\":[\"Changed\"]},"
-                               "\"Type\":{\"type\":\"string\",\"values\":[\"MyProfile\",\"Person\"]}"
-                       "}",
-                       NULL);
-}
-
 void ContactsChangeProvider::__updateCb(const char* viewUri, void* userData)
 {
        ContactsChangeProvider *instance = static_cast<ContactsChangeProvider*>(userData);
index 0ebd273..da65fe5 100644 (file)
@@ -32,7 +32,6 @@ namespace ctx {
                int unsubscribe();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                time_t __latestMyProfile;
index b4b34b6..f6e08e9 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Contacts.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<ContactsChangeProvider>(SUBJ_STATE_CONTACTS, PRIV_CONTACT);
+       ADD_PROVIDER(SUBJ_STATE_CONTACTS, ContactsChangeProvider);
 
-       return true;
+       return NULL;
 }
index f2a23cb..69f4250 100644 (file)
@@ -36,15 +36,6 @@ bool EmailEventProvider::isSupported()
        return util::getSystemInfoBool("tizen.org/feature/network.telephony");
 }
 
-void EmailEventProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE,
-                       "{"
-                               "\"Event\":{\"type\":\"string\",\"values\":[\"Received\",\"Sent\"]}"
-                       "}",
-                       NULL);
-}
-
 void EmailEventProvider::onSignal(const char* sender, const char* path, const char* iface, const char* name, GVariant* param)
 {
        gint subType = 0;
index c1cc093..b3fc502 100644 (file)
@@ -32,7 +32,6 @@ namespace ctx {
                int unsubscribe();
 
                bool isSupported();
-               void submitTriggerItem();
 
                void onSignal(const char *sender, const char *path, const char *iface, const char *name, GVariant *param);
 
index ac15430..f13a3b7 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Email.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<EmailEventProvider>(SUBJ_STATE_EMAIL, NULL);
+       ADD_PROVIDER(SUBJ_STATE_EMAIL, EmailEventProvider);
 
-       return true;
+       return NULL;
 }
index 718271b..2f09c53 100644 (file)
@@ -42,17 +42,6 @@ bool PlaceGeofenceProvider::isSupported()
        return supported;
 }
 
-void PlaceGeofenceProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE,
-                       "{"
-                               "\"Event\":{\"type\":\"string\",\"values\":[\"In\",\"Out\"]}"
-                       "}",
-                       "{"
-                               "\"PlaceId\":{\"type\":\"integer\",\"min\":1}"
-                       "}");
-}
-
 int PlaceGeofenceProvider::subscribe(Json option, Json *requestResult)
 {
        int placeId = -1;
index 286b239..fe2a416 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int unsubscribe(Json option);
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                std::map<int, GeofenceMonitorHandle*> __handleMap;
index 6f9ccbe..1c84abd 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "PlaceGeofenceProvider.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<PlaceGeofenceProvider>(SUBJ_PLACE_GEOFENCE, PRIV_LOCATION);
+       ADD_PROVIDER(SUBJ_PLACE_GEOFENCE, PlaceGeofenceProvider);
 
-       return true;
+       return NULL;
 }
index 7bf8d8e..d87daa4 100644 (file)
@@ -41,16 +41,6 @@ bool HeadphoneStateProvider::isSupported()
        return true;
 }
 
-void HeadphoneStateProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{"
-                               TRIG_BOOL_ITEM_DEF("IsConnected") ","
-                               "\"Type\":{\"type\":\"string\",\"values\":[\"Normal\",\"Headset\",\"Bluetooth\"]}"
-                       "}",
-                       NULL);
-}
-
 int HeadphoneStateProvider::subscribe()
 {
        __connected = __getCurrentStatus();
index e61f446..eaaf1b6 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                bool __connected;
index 79fa6a7..a64b208 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Headphone.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<HeadphoneStateProvider>(SUBJ_STATE_HEADPHONE, NULL);
+       ADD_PROVIDER(SUBJ_STATE_HEADPHONE, HeadphoneStateProvider);
 
-       return true;
+       return NULL;
 }
index 32affe5..eb273f9 100644 (file)
@@ -30,8 +30,6 @@ namespace ctx {
                int subscribe(Json option, Json *requestResult);
                int unsubscribe(Json option);
 
-               void submitTriggerItem() {}
-
        private:
                MediaContentMonitor __contentMon;
        };
index 263a54d..daa1349 100644 (file)
@@ -34,10 +34,6 @@ bool MediaStatsProvider::isSupported()
        return true;
 }
 
-void MediaStatsProvider::submitTriggerItem()
-{
-}
-
 int MediaStatsProvider::read(Json option, Json* requestResult)
 {
        MediaDbHandle *handle = new(std::nothrow) MediaDbHandle(this);
@@ -51,17 +47,3 @@ int MediaStatsProvider::read(Json option, Json* requestResult)
 
        return ERR_NONE;
 }
-
-void MusicFreqProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_READ,
-                       "{" TRIG_DEF_TOTAL_COUNT "}",
-                       "{" TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK "}");
-}
-
-void VideoFreqProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_READ,
-                       "{" TRIG_DEF_TOTAL_COUNT "}",
-                       "{" TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK "}");
-}
index 4d2c702..bb27e47 100644 (file)
@@ -25,9 +25,7 @@ namespace ctx {
        class MediaStatsProvider : public ContextProvider {
        public:
                int read(Json option, Json* requestResult);
-
                bool isSupported();
-               virtual void submitTriggerItem();
 
        protected:
                MediaStatsProvider(const char *subject);
@@ -67,8 +65,6 @@ namespace ctx {
        public:
                MusicFreqProvider() :
                        MediaStatsProvider(MEDIA_SUBJ_MUSIC_FREQUENCY) {}
-
-               void submitTriggerItem();
        };
 
 
@@ -76,8 +72,6 @@ namespace ctx {
        public:
                VideoFreqProvider() :
                        MediaStatsProvider(MEDIA_SUBJ_VIDEO_FREQUENCY) {}
-
-               void submitTriggerItem();
        };
 
 }      /* namespace ctx */
index 48f4ee9..1bb7e5e 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "MediaStatsProvider.h"
 #include "MediaStatsLogger.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<MediaStatsLogger>(MEDIA_SUBJ_LOGGER, MEDIA_HISTORY_PRIV);
-       registerProvider<MusicPeakTimeProvider>(MEDIA_SUBJ_PEAK_TIME_FOR_MUSIC, MEDIA_HISTORY_PRIV);
-       registerProvider<VideoPeakTimeProvider>(MEDIA_SUBJ_PEAK_TIME_FOR_VIDEO, MEDIA_HISTORY_PRIV);
-       registerProvider<MusicSettingProvider>(MEDIA_SUBJ_COMMON_SETTING_FOR_MUSIC, MEDIA_HISTORY_PRIV);
-       registerProvider<VideoSettingProvider>(MEDIA_SUBJ_COMMON_SETTING_FOR_VIDEO, MEDIA_HISTORY_PRIV);
-       registerProvider<MusicFreqProvider>(MEDIA_SUBJ_MUSIC_FREQUENCY, MEDIA_HISTORY_PRIV);
-       registerProvider<VideoFreqProvider>(MEDIA_SUBJ_VIDEO_FREQUENCY, MEDIA_HISTORY_PRIV);
+       ADD_PROVIDER(SUBJ_MEDIA_LOGGER, MediaStatsLogger);
+       ADD_PROVIDER(SUBJ_MUSIC_PEAK_TIME, MusicPeakTimeProvider);
+       ADD_PROVIDER(SUBJ_MUSIC_COMMON_SETTING, MusicSettingProvider);
+       ADD_PROVIDER(SUBJ_MUSIC_FREQUENCY, MusicFreqProvider);
+       ADD_PROVIDER(SUBJ_VIDEO_PEAK_TIME, VideoPeakTimeProvider);
+       ADD_PROVIDER(SUBJ_VIDEO_COMMON_SETTING, VideoSettingProvider);
+       ADD_PROVIDER(SUBJ_VIDEO_FREQUENCY, VideoFreqProvider);
 
-       return true;
+       return NULL;
 }
index 30268ed..32a484b 100644 (file)
@@ -36,17 +36,6 @@ bool MessageEventProvider::isSupported()
        return util::getSystemInfoBool("tizen.org/feature/network.telephony");
 }
 
-void MessageEventProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE,
-                       "{"
-                               "\"Event\":{\"type\":\"string\",\"values\":[\"Received\"]},"
-                               "\"Type\":{\"type\":\"string\",\"values\":[\"SMS\",\"MMS\"]},"
-                               "\"Address\":{\"type\":\"string\"}"
-                       "}",
-                       NULL);
-}
-
 void MessageEventProvider::__updateCb(msg_handle_t handle, msg_struct_t msg, void* userData)
 {
        MessageEventProvider *instance = static_cast<MessageEventProvider*>(userData);
index 058d418..576ce2f 100644 (file)
@@ -31,9 +31,7 @@ namespace ctx {
 
                int subscribe();
                int unsubscribe();
-
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                msg_handle_t __messageHandle;
index 7588850..751765b 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Message.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<MessageEventProvider>(SUBJ_STATE_MESSAGE, PRIV_MESSAGE);
+       ADD_PROVIDER(SUBJ_STATE_MESSAGE, MessageEventProvider);
 
-       return true;
+       return NULL;
 }
index 91cdaf9..d6947a7 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "place_recognition.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       /*
-       registerProvider<PlaceRecognitionProvider>(PLACE_SUBJ_RECOGNITION, PLACE_PRIV_RECOGNITION);
-       */
+       ADD_PROVIDER(SUBJ_PLACE_DETECTION, PlaceRecognitionProvider);
 
-       return true;
+       return NULL;
 }
index 773dd34..9eda4ac 100644 (file)
@@ -37,7 +37,6 @@ namespace ctx {
                int write(ctx::Json data, ctx::Json *requestResult);
 
                bool isSupported();
-               void submitTriggerItem() {}
 
        private:
                UserPlaces __engine;
index 28202dd..cae85ab 100644 (file)
@@ -34,10 +34,6 @@ bool BasicProvider::isSupported()
        return true;
 }
 
-void BasicProvider::submitTriggerItem()
-{
-}
-
 int BasicProvider::subscribe(Json option, Json *requestResult)
 {
        IF_FAIL_RETURN(!__beingSubscribed, ERR_NONE);
index 069cc3a..7ce9f02 100644 (file)
@@ -33,9 +33,6 @@ namespace ctx {
 
                virtual bool isSupported();
 
-               /* TODO: This function will be deprecated */
-               virtual void submitTriggerItem();
-
        protected:
                bool __beingSubscribed;
 
index 2c57b7a..dc02fa7 100644 (file)
  * limitations under the License.
  */
 
-/* TODO: This is a temporary template implementation.
-   This will be removed soon. */
-
 #include <new>
 #include <Types.h>
 
-template<typename Provider>
-void registerProvider(const char *subject, const char *privilege)
-{
-       Provider *provider = new(std::nothrow) Provider();
-       IF_FAIL_VOID_TAG(provider, _E, "Memory allocation failed");
-
-       if (!provider->isSupported()) {
-               delete provider;
-               return;
+#define ADD_PROVIDER(subj, prvd) \
+       if (STR_EQ((subj), subject)) { \
+               ctx::ContextProvider *instance = new(std::nothrow) prvd; \
+               if (instance == NULL) { \
+                       _E("Memoroy allocation failed"); \
+                       return NULL; \
+               } \
+               return instance; \
        }
-
-       provider->registerProvider(privilege, provider);
-       provider->submitTriggerItem();
-}
index f79cceb..5f5cc9b 100644 (file)
@@ -30,8 +30,6 @@ namespace ctx {
                int subscribe(Json option, Json* requestResult);
                int unsubscribe(Json option);
 
-               void submitTriggerItem() {}
-
        private:
                ContactLogAggregator __aggregator;
        };
index ff850a2..a93978a 100644 (file)
@@ -34,10 +34,6 @@ bool SocialStatsProvider::isSupported()
        return true;
 }
 
-void SocialStatsProvider::submitTriggerItem()
-{
-}
-
 int SocialStatsProvider::read(Json option, Json* requestResult)
 {
        SocialDbHandle *handle = new(std::nothrow) SocialDbHandle(this);
@@ -51,13 +47,3 @@ int SocialStatsProvider::read(Json option, Json* requestResult)
 
        return ERR_NONE;
 }
-
-void ContactFreqProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_READ,
-                       "{" TRIG_DEF_RANK "," TRIG_DEF_TOTAL_COUNT "}",
-                       "{"
-                               "\"Address\":{\"type\":\"string\"},"
-                               TRIG_DEF_TIME_OF_DAY "," TRIG_DEF_DAY_OF_WEEK
-                       "}");
-}
index 1ae1570..19fbde2 100644 (file)
@@ -25,9 +25,7 @@ namespace ctx {
        class SocialStatsProvider : public ContextProvider {
        public:
                int read(Json option, Json* requestResult);
-
                bool isSupported();
-               virtual void submitTriggerItem();
 
        protected:
                SocialStatsProvider(const char *subject);
@@ -39,8 +37,6 @@ namespace ctx {
        public:
                ContactFreqProvider() :
                        SocialStatsProvider(SOCIAL_SUBJ_FREQUENCY) {}
-
-               void submitTriggerItem();
        };
 
 
index a498c28..6b318b9 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "SocialStatsProvider.h"
 #include "SocialStatsLogger.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<SocialStatsLogger>(SOCIAL_SUBJ_LOGGER, SOCIAL_HISTORY_PRIV);
-       registerProvider<ContactFreqProvider>(SOCIAL_SUBJ_FREQUENCY, SOCIAL_HISTORY_PRIV);
-       registerProvider<TopContactsProvider>(SOCIAL_SUBJ_FREQ_ADDRESS, SOCIAL_HISTORY_PRIV);
+       ADD_PROVIDER(SUBJ_SOCIAL_LOGGER, SocialStatsLogger);
+       ADD_PROVIDER(SUBJ_SOCIAL_FREQ_ADDRESS, TopContactsProvider);
+       ADD_PROVIDER(SUBJ_SOCIAL_FREQUENCY, ContactFreqProvider);
 
-       return true;
+       return NULL;
 }
index 13bc62d..9ffbf9b 100644 (file)
@@ -32,16 +32,6 @@ bool BatteryStateProvider::isSupported()
        return true;
 }
 
-void BatteryStateProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{"
-                               "\"Level\":{\"type\":\"string\",\"values\":[\"Empty\",\"Critical\",\"Low\",\"Normal\",\"High\",\"Full\"]},"
-                               TRIG_BOOL_ITEM_DEF("IsCharging")
-                       "}",
-                       NULL);
-}
-
 void BatteryStateProvider::__updateCb(device_callback_e deviceType, void* value, void* userData)
 {
        IF_FAIL_VOID(deviceType == DEVICE_CALLBACK_BATTERY_LEVEL);
index ce695ac..6bd5496 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                const char* __transToString(intptr_t level);
index f06f88d..1d65275 100644 (file)
@@ -32,12 +32,6 @@ bool ChargerStateProvider::isSupported()
        return true;
 }
 
-void ChargerStateProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{" TRIG_BOOL_ITEM_DEF("IsConnected") "}", NULL);
-}
-
 void ChargerStateProvider::handleUpdate()
 {
        bool chargerStatus = false;
index 166440d..a62606c 100644 (file)
@@ -27,9 +27,7 @@ namespace ctx {
                ~ChargerStateProvider();
 
                int read();
-
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                void handleUpdate();
index 0d72cf8..284600e 100644 (file)
@@ -51,15 +51,6 @@ bool GpsStateProvider::isSupported()
        return util::getSystemInfoBool("tizen.org/feature/location.gps");
 }
 
-void GpsStateProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{"
-                               "\"State\":{\"type\":\"string\",\"values\":[\"Disabled\",\"Searching\",\"Connected\"]}"
-                       "}",
-                       NULL);
-}
-
 void GpsStateProvider::handleUpdate()
 {
        int gpsStatus;
index c6af9a4..9f051a5 100644 (file)
@@ -27,9 +27,7 @@ namespace ctx {
                ~GpsStateProvider();
 
                int read();
-
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                void handleUpdate();
index 8654191..2c74948 100644 (file)
@@ -32,12 +32,6 @@ bool PowerSaveModeProvider::isSupported()
        return true;
 }
 
-void PowerSaveModeProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{" TRIG_BOOL_ITEM_DEF("IsEnabled") "}", NULL);
-}
-
 void PowerSaveModeProvider::__updateCb(keynode_t *node, void* userData)
 {
        PowerSaveModeProvider *instance = static_cast<PowerSaveModeProvider*>(userData);
index 315465c..e86f355 100644 (file)
@@ -33,7 +33,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                void __handleUpdate(keynode_t *node);
index 5ea7242..c017036 100644 (file)
@@ -33,12 +33,6 @@ bool UsbStateProvider::isSupported()
        return util::getSystemInfoBool("tizen.org/feature/usb.host");
 }
 
-void UsbStateProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{" TRIG_BOOL_ITEM_DEF("IsConnected") "}", NULL);
-}
-
 void UsbStateProvider::handleUpdate()
 {
        bool status = false;
index 55b6381..8897dc2 100644 (file)
@@ -27,9 +27,7 @@ namespace ctx {
                ~UsbStateProvider();
 
                int read();
-
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                void handleUpdate();
index 7add7b5..59aa3c3 100644 (file)
@@ -14,7 +14,6 @@
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Battery.h"
 #include "Charger.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<BatteryStateProvider>(SUBJ_STATE_BATTERY, NULL);
-       registerProvider<ChargerStateProvider>(SUBJ_STATE_CHARGER, NULL);
-       registerProvider<GpsStateProvider>(SUBJ_STATE_GPS, NULL);
-       registerProvider<PowerSaveModeProvider>(SUBJ_STATE_PSMODE, NULL);
-       registerProvider<UsbStateProvider>(SUBJ_STATE_USB, NULL);
+       ADD_PROVIDER(SUBJ_STATE_BATTERY, BatteryStateProvider);
+       ADD_PROVIDER(SUBJ_STATE_CHARGER, ChargerStateProvider);
+       ADD_PROVIDER(SUBJ_STATE_GPS, GpsStateProvider);
+       ADD_PROVIDER(SUBJ_STATE_PSMODE, PowerSaveModeProvider);
+       ADD_PROVIDER(SUBJ_STATE_USB, UsbStateProvider);
 
-       return true;
+       return NULL;
 }
index cdcf459..e3efec6 100644 (file)
@@ -38,16 +38,6 @@ bool AlarmProvider::isSupported()
        return true;
 }
 
-void AlarmProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE,
-                       "{"
-                               "\"TimeOfDay\":{\"type\":\"integer\",\"min\":0,\"max\":1439},"
-                               "\"DayOfWeek\":{\"type\":\"string\",\"values\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\",\"Weekday\",\"Weekend\"]}"
-                       "}",
-                       NULL);
-}
-
 int AlarmProvider::subscribe(Json option, Json *requestResult)
 {
        int dow = __getArrangedDayOfWeek(option);
index ea53978..1a21de2 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int unsubscribe(Json option);
 
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                bool onTimerExpired(int timerId);
index 99d0afd..3490be5 100644 (file)
@@ -33,17 +33,6 @@ bool TimeProvider::isSupported()
        return true;
 }
 
-void TimeProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_READ,
-                       "{"
-                               "\"TimeOfDay\":{\"type\":\"integer\",\"min\":0,\"max\":1439},"
-                               "\"DayOfWeek\":{\"type\":\"string\",\"values\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\",\"Weekday\",\"Weekend\"]},"
-                               "\"DayOfMonth\":{\"type\":\"integer\",\"min\":1,\"max\":31}"
-                       "}",
-                       NULL);
-}
-
 int TimeProvider::subscribe()
 {
        return ERR_NOT_SUPPORTED;
index 6aee48d..1900c81 100644 (file)
@@ -32,7 +32,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
        };
 }
 
index e0da510..d906a63 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Alarm.h"
 #include "Time.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<AlarmProvider>(SUBJ_STATE_ALARM, PRIV_ALARM);
-       registerProvider<TimeProvider>(SUBJ_STATE_TIME, NULL);
+       ADD_PROVIDER(SUBJ_STATE_ALARM, AlarmProvider);
+       ADD_PROVIDER(SUBJ_STATE_TIME, TimeProvider);
 
-       return true;
+       return NULL;
 }
index b7e085e..4a1db85 100644 (file)
@@ -45,16 +45,6 @@ bool WifiStateProvider::isSupported()
        return util::getSystemInfoBool("tizen.org/feature/network.wifi");
 }
 
-void WifiStateProvider::submitTriggerItem()
-{
-       registerTriggerItem(OPS_SUBSCRIBE | OPS_READ,
-                       "{"
-                               "\"State\":{\"type\":\"string\",\"values\":[\"Disabled\",\"Unconnected\",\"Connected\"]},"
-                               "\"BSSID\":{\"type\":\"string\"}"
-                       "}",
-                       NULL);
-}
-
 bool WifiStateProvider::__getCurrentState()
 {
        int err;
index 083a270..0446af4 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                enum InternalState {
index cb8a87e..cdf1db3 100644 (file)
  * limitations under the License.
  */
 
-#include <new>
 #include <create.h>
 #include "Wifi.h"
 
 using namespace ctx;
 
-/* TODO: This function will be changed into the following form:
-   ContextProvider* create(const char *subject) */
-
-extern "C" SO_EXPORT bool create()
+extern "C" SO_EXPORT ContextProvider* create(const char *subject)
 {
-       registerProvider<WifiStateProvider>(SUBJ_STATE_WIFI, PRIV_NETWORK);
+       ADD_PROVIDER(SUBJ_STATE_WIFI, WifiStateProvider);
 
-       return true;
+       return NULL;
 }