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 017c06121aa3526e422f8ee579d1ce64294f0173..f1a5da15ac117ee1870539c4c91f51b79c14c7c0 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 b1bfe77d53a3d488f5b5d14cd610bed5e0d60b09..5fdc9721f9c686e3ecd21d68b8bf792dcf98f13e 100644 (file)
@@ -39,7 +39,6 @@ namespace ctx {
                int unsubscribe();
 
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                activity_type_e __activityType;
index 5009ae37cf1d289fe7d2693ff551c3683d5ba4b8..caa0875ba134a2fa00993d200fa3f84c6b0510b7 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 4a8dd02a1e44b078e67614f13faa0bb0d3ec94b8..2c6c4bddfc00b36a6acfa6c561ea0d3772305ea3 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 ebafae9ef6ac7c53eb939f4f886b2c5ada2d315d..3513854dbd1079f2b03a04a5f347c5b4da112648 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 7186955a40adfd04666b804a6eb2a28f8f39b24b..85759bee8f3577fc665dd87b99d7666b5011d3b6 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 5002f9a6cbb09d76c2df6b6f9d7e03dcb2eac7bc..b5de0f6650973a63bc8cf3cf510a2207ccb89e7e 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 786fcc3704db93db59ccc51b1f833b444e26cd3e..dc3d616814f14d2125173f77607f1671b8b1cb83 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 c980a38143f46da7f36d1a93556b4ee1ca7f2935..79b5e6ba6d4bed9b9ebbb618ebdcbcb94dd3f898 100644 (file)
@@ -33,7 +33,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                telephony_handle_list_s __handleList;
index 235db22d8f7b6659d625376d1283b535e91fc090..3fb4b08bacc06f6e961974af6931403cb6a1e4f3 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 8265fd6cddea9fdedd2cf0000d22c8059dccbac5..13cf5c75ce3f9ab1b9be7e6b1a7c7dde772ef76c 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 0ebd273db1fd7be8761830ebaf74d81c1dbc1ca3..da65fe5cadf3da2ce6a19e0e65387e0dc3c37985 100644 (file)
@@ -32,7 +32,6 @@ namespace ctx {
                int unsubscribe();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                time_t __latestMyProfile;
index b4b34b62fdb1e77ca94616b90ce57bb244cdde82..f6e08e9043725335c2b77836138572ff91ea0650 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 f2a23cbebad13a4581b6af553d9e77359d4f8878..69f4250c45007d7d6f8b2437d2b434b043f97ec7 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 c1cc0930484a49e4390e5444a050d3b0c9d044ed..b3fc502060f690f35c80e10238bbe501ca97b05c 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 ac1543009a04bac068109f04fad2fc0e91bdc8f5..f13a3b7f7392d7a50c8281ca9d625f3ec7a5753f 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 718271b8c5d4d486200d87f5edf9d4cedd7d43a5..2f09c53f9d7635f220348a8d978c0e1b447f7fde 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 286b239bfc3b1fef5f50f1618f3987fa45b70e2f..fe2a41675c3ea2aa7ddd018fb7b91cd8185f269f 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int unsubscribe(Json option);
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                std::map<int, GeofenceMonitorHandle*> __handleMap;
index 6f9ccbe8c1d08bdade2016a1f6d555b9f6540b17..1c84abd09d8a8cf9aea1403964a7d7118bff2acf 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 7bf8d8e9a4615e6a2e65b6771002411b10149f77..d87daa438cda10e2895c7c3ad135f50a4ab65a6c 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 e61f446a0b5d3be9822fbdacf3ebd16b14c73b7e..eaaf1b603115f9ceafe47b4288272e7c29fafd54 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                bool __connected;
index 79fa6a78a604ed754ed818d902a8651df0bc6862..a64b2088f9bbc629b5968d017cf24f19ca78b9c8 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 32affe5954cf8775ce461312d353797bd812967c..eb273f9465fd3caa701b3484f0dcd7f420ae0fae 100644 (file)
@@ -30,8 +30,6 @@ namespace ctx {
                int subscribe(Json option, Json *requestResult);
                int unsubscribe(Json option);
 
-               void submitTriggerItem() {}
-
        private:
                MediaContentMonitor __contentMon;
        };
index 263a54d75ac614faf4a5263c086434c38d12c628..daa13495e71346264235c3eb707ab517376a404d 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 4d2c702e62a5786c6e529c6e17a3e6e8b98fe234..bb27e47448ac9230bef50677df240cad90cab663 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 48f4ee918165a9e8f1dfb827102973e6cdec37d4..1bb7e5eab9b80158af2c2bd4bd7b7932cd43020c 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 30268edc5f3dde732483786b1527d512fd2bb077..32a484b30529fe2252a14ab56a328f446106f2bc 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 058d418869a459ea7f03d6003801ab1f59a44d82..576ce2fa708be390fecca8bdec848f1ba7df753b 100644 (file)
@@ -31,9 +31,7 @@ namespace ctx {
 
                int subscribe();
                int unsubscribe();
-
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                msg_handle_t __messageHandle;
index 758885003d8a0c3a0f6d877497d8b261cc9736bc..751765bcb66dfc3c8289532302d84be4a2852304 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 91cdaf94c716b00462b0cd7da8e148afc8d27be2..d6947a75735349c83f31e28304f8dd25d7872d32 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 773dd34d178c606a1283d39b541d6e3cae5a01fd..9eda4ac1c6891f85e3a51945b1b060a8501d6138 100644 (file)
@@ -37,7 +37,6 @@ namespace ctx {
                int write(ctx::Json data, ctx::Json *requestResult);
 
                bool isSupported();
-               void submitTriggerItem() {}
 
        private:
                UserPlaces __engine;
index 28202ddf40a887a1c488165a1b7aa0cb8be77472..cae85ab48846d10b236c2b7f3fc0de76306d2c66 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 069cc3a04b9e411c950c8790ea29175463a1ccf9..7ce9f02a6d9d5828ca0ab6c94bc0fc025f954f72 100644 (file)
@@ -33,9 +33,6 @@ namespace ctx {
 
                virtual bool isSupported();
 
-               /* TODO: This function will be deprecated */
-               virtual void submitTriggerItem();
-
        protected:
                bool __beingSubscribed;
 
index 2c57b7a3227933fccd3965a61432c4d3de077c56..dc02fa7bc79d0e9b9ca65d7e272074615f0afa04 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 f79cceb04410d9e9c8c01f395e5aa8c09519dbe2..5f5cc9b72a324acf332fe05253e901897e6c066a 100644 (file)
@@ -30,8 +30,6 @@ namespace ctx {
                int subscribe(Json option, Json* requestResult);
                int unsubscribe(Json option);
 
-               void submitTriggerItem() {}
-
        private:
                ContactLogAggregator __aggregator;
        };
index ff850a2ee37320236d6d3002fdbc46849e3121d1..a93978a1fa4588abbe5221ffe8f75058142805a0 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 1ae1570468049a4307908a0d9267d2ad43745a99..19fbde2c2a4cb30974c8529622765e45a9c6640d 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 a498c288b67b8cf29a4c3e5e3f9dd7fe4301ec01..6b318b9dc09152ddecd19f3f17addf4c83d2c97f 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 13bc62d88326369a6307737f9c45857d7acc5561..9ffbf9b3090115999caa5318ec10bb8c2e6f5272 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 ce695ac7191a126f65132b81d44a8e6d234025a8..6bd549686da9bc2f3b181f8309cbd62531d4cf5c 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                const char* __transToString(intptr_t level);
index f06f88d56c6c54b2cf008d7d954dab62abe56035..1d65275f13dfde3eed60d558c91701d504d1488a 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 166440d3516615a17ea801ddbe5e51973233b68a..a62606cf7f3badf68b332fd61129e233951d9cf9 100644 (file)
@@ -27,9 +27,7 @@ namespace ctx {
                ~ChargerStateProvider();
 
                int read();
-
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                void handleUpdate();
index 0d72cf89ee39461ff2ff8a2f546f91d79b743d98..284600edf9003b430ac7c3663a02b0c8bd1cf398 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 c6af9a4e5d60f9a05673fcb4ae4ff9cc724c4a30..9f051a500311dd7d692725e38cc95375f0468205 100644 (file)
@@ -27,9 +27,7 @@ namespace ctx {
                ~GpsStateProvider();
 
                int read();
-
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                void handleUpdate();
index 8654191a7b06be9b07145dc325e2488c7b2973d1..2c74948f90327dbf0f3ffaf547d79b265a45fcbe 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 315465cc995ca3924a45bb40ab7c4b327ebdaf83..e86f35578d2477df1ca60a23e5bcaa254fc58ea8 100644 (file)
@@ -33,7 +33,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                void __handleUpdate(keynode_t *node);
index 5ea72421974111ede360a485401e9204bf5d0c7d..c017036cb0dd8b49728e8c83b4953a3e243af208 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 55b6381020730cd972fc4f2bc2ef143efb6ce756..8897dc2fb200b6ba1a2ac2e58944cf492296b9e1 100644 (file)
@@ -27,9 +27,7 @@ namespace ctx {
                ~UsbStateProvider();
 
                int read();
-
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                void handleUpdate();
index 7add7b534988535afe10b42b8807d817565ddb7f..59aa3c3936313b2a839e48dd1acd10f3d3df1009 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 cdcf4594a083975c4a05c9c0cc4b8a1467427af8..e3efec67925e7f5ecbc95f63cb9f3e77dfcbfa68 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 ea53978223f0ea35d693c21edbab8be4c9c5d70a..1a21de2177cec78ea237ec2957d82728071483ca 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int unsubscribe(Json option);
 
                bool isSupported();
-               void submitTriggerItem();
 
        protected:
                bool onTimerExpired(int timerId);
index 99d0afda5faff5c89c9a97bddae0fa807e2ffd9a..3490be507da792e6a8f528268870e33b59ed11f1 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 6aee48d84ac8c9ecad33b26a331a9bcdb0fd9c60..1900c81ffbb8b02af0c2ed14be2033677b409b33 100644 (file)
@@ -32,7 +32,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
        };
 }
 
index e0da510beecc570a516ab6b8a44917fc1c3ee98a..d906a63b3cbf22f087e30e8248e4fb08b9dc3fa5 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 b7e085e191e296642ea054dff5002731224c5e26..4a1db85768c1e24681794f31b8fc40ec13b57b2f 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 083a2701d90ca2f0a9a85f90c029e5919d0d7ee1..0446af4e180e0e2480379753e36b29bb6b2ae641 100644 (file)
@@ -34,7 +34,6 @@ namespace ctx {
                int read();
 
                bool isSupported();
-               void submitTriggerItem();
 
        private:
                enum InternalState {
index cb8a87ef850d474ceb5c8271c256a2bbba604b53..cdf1db3715f93b04ce932ca9ea0eddb410972329 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;
 }